Faits: Faits: A. G._, née en 1942, mariée et mère de trois enfants, est entrée à E._ le 8 mars 1986. Elle y a exercé à temps partiel l'activité de femme de ménage. Engagée en cette qualité à partir du 4 janvier 1989 par l'entreprise C._ SA, à E._, elle a travaillé au service de son employeur à raison de 20 heures par semaine. Dès le 17 février 1999, elle a présenté une incapacité totale de travail. Du 23 février au 17 mars 1999, elle a séjourné à la Clinique et policlinique d'orthopédie et de chirurgie de l'appareil locomoteur de l'Hôpital X._, où elle a subi le 24 février 1999 une prothèse totale du genou gauche. Le 8 octobre 1999, G._ a présenté une demande de prestations de l'assurance-invalidité, en requérant l'allocation d'une rente d'invalidité. Le docteur B._, spécialiste FMH en chirurgie orthopédique, a signalé un important hallux valgus droit, avec une arthrose MP1 et des griffes des 2ème et 3ème orteils au pied droit, une polyarthrose invalidante et une rhizarthrose bilatérale symptomatique douloureuse. Il indiquait que l'incapacité de travail comme nettoyeuse était complète et définitive (rapport médical du 21 octobre 1999 et communication ultérieure du 8 mars 2000). La doctoresse A._, médecin généraliste, dans un rapport médical du 20 novembre 1999, a posé les diagnostics de gonalgies chroniques gauches sur pangonarthrose varisante, status neuf mois après une prothèse totale du genou gauche pour pangonarthrose varisante, cervico-dorso-lombalgies aiguës sur troubles statiques de la colonne vertébrale lombaire, suspicion de fibromyalgie, hypertension artérielle, état anxio-dépressif, douleurs aux poignets et mains des deux côtés sur rhizarthrose bilatérale, et gonalgies chroniques droites sur gonarthrose. Selon cette praticienne, une activité consistant dans un travail léger sans port de charges lourdes était adaptée à l'invalidité de la patiente. L'Office cantonal de l'assurance-invalidité de Genève a procédé à une enquête économique sur le ménage. Dans un rapport du 7 février 2001, l'enquêtrice a fixé à 17,25 % l'incapacité dans le ménage. L'office AI a considéré l'assurée comme une personne exerçant une activité lucrative à temps partiel (50 %) et comme une ménagère pendant le reste du temps (50 %). Dans un projet d'acceptation de rente du 19 février 2001, il a conclu à une invalidité globale de 58.63 % (50 % dans l'activité lucrative et 8.63 % dans le ménage) depuis le 17 février 2000. Lors d'une audition du 6 avril 2001, l'assurée a contesté le taux d'invalidité dans le ménage. L'office AI a procédé à une nouvelle évaluation des empêchements dans ce domaine dus à l'invalidité, qu'il a fixés à 30 % dans l'alimentation, 50 % en ce qui concerne l'entretien du logement, 30 % à propos des emplettes et courses diverses, 20 % s'agissant de la lessive et de l'entretien des vêtements et 10 % dans les activités diverses. Compte tenu de la pondération des champs d'activité, il en résultait une incapacité de 30 % dans le ménage. Dans un prononcé du 19 avril 2001, l'office AI a conclu à une invalidité globale de 65 % (50 % dans l'activité lucrative et 15 % dans le ménage) depuis le 17 février 2000. Par une décision du 20 juillet 2001, l'office AI a alloué à G._ à partir du 1er février 2000 jusqu'au 31 mars 2000 une demi-rente d'invalidité d'un montant mensuel de 211 fr., assortie d'une demi-rente complémentaire pour son conjoint de 64 fr. Le calcul de la rente se fondait sur un revenu annuel moyen déterminant de 19'296 fr. Par une autre décision rendue également le 20 juillet 2001, l'office AI, tenant compte du fait que l'époux de l'assurée avait été mis au bénéfice d'une rente entière d'invalidité à partir du 1er avril 2000, a alloué à G._ dès le 1er avril 2000 une demi-rente d'invalidité d'un montant mensuel de 295 fr. jusqu'au 31 décembre 2000 et de 303 fr. à partir du 1er janvier 2001. Le calcul de la rente se fondait sur un revenu annuel moyen déterminant de 44'496 fr. Par une autre décision rendue également le 20 juillet 2001, l'office AI, tenant compte du fait que l'époux de l'assurée avait été mis au bénéfice d'une rente entière d'invalidité à partir du 1er avril 2000, a alloué à G._ dès le 1er avril 2000 une demi-rente d'invalidité d'un montant mensuel de 295 fr. jusqu'au 31 décembre 2000 et de 303 fr. à partir du 1er janvier 2001. Le calcul de la rente se fondait sur un revenu annuel moyen déterminant de 44'496 fr. B. G._ a formé recours contre ces deux décisions devant la Commission cantonale de recours en matière d'AVS/AI du canton de Genève, en concluant, sous suite de frais et dépens, à l'annulation de celles-ci et à l'allocation d'une rente entière d'invalidité. Le Tribunal cantonal des assurances sociales de la République et canton de Genève, entré en fonction le 1er août 2003, a repris les compétences exercées jusque-là par la Commission de recours. Par jugement du 7 avril 2004, il a rejeté le recours. Le Tribunal cantonal des assurances sociales de la République et canton de Genève, entré en fonction le 1er août 2003, a repris les compétences exercées jusque-là par la Commission de recours. Par jugement du 7 avril 2004, il a rejeté le recours. C. G._ interjette recours de droit administratif contre ce jugement, en concluant, sous suite de frais et dépens, à l'annulation de celui-ci. Elle invite le Tribunal fédéral des assurances à dire et prononcer qu'elle a droit à une rente entière d'invalidité à partir du 1er février 2000. L'Office cantonal de l'assurance-invalidité de Genève conclut au rejet du recours. L'Office fédéral des assurances sociales n'a pas déposé d'observations. 