Faits: Faits: A. Le 17 août 1998, A._, une citoyenne iranienne domiciliée à Londres, a conclu avec Y._, société anonyme dont le siège principal est à Zurich, succursale de Genève (ci-après: la Banque), un contrat de compte courant, de giro bancaire et de dépôt soumis aux conditions générales usuelles, ainsi qu'à celles relatives aux contrats d'options exécutés par l'intermédiaire de la Banque. L'article 5 des conditions générales, relatif aux erreurs de transmission, prévoit que le dommage provenant de l'emploi notamment du téléphone ou de tout autre moyen de transmission et résultant en particulier de pertes, retards, malentendus, altérations ou doubles expéditions est à la charge du client, sous réserve de faute grave de la banque. Le gestionnaire principal du compte de A._ était B._, fondé de pouvoir et conseiller à la clientèle de Z._, unité d'affaires de la succursale de Genève en charge de la clientèle privée fortunée. En son absence, le suivi des clients de B._ était assuré par d'autres membres de Z._, à savoir C._, fondé de pouvoir et conseiller en investissements depuis le 1er septembre 1999, ou D._, conseiller à la clientèle. Il a été retenu qu'A._, sans activité professionnelle, mais au bénéfice d'une formation universitaire en économie politique, a une très bonne connaissance des marchés boursiers. Elle suivait sur Internet l'évolution des cours, ainsi que des positions qu'elle détenait, avec un décalage d'une quinzaine de minutes par rapport à la bourse, et savait se servir de l'instrument utilisé par la banque, appelé "Bloomberg", qui indique l'évolution des cotations en temps réel. Elle téléphonait régulièrement à Z._ pour connaître les cours et donner des ordres d'achat ou de vente. Lorsqu'elle n'obtenait pas le prix voulu, elle replaçait les ordres sur le marché et recevait confirmation téléphonique de la vente. A la fin de l'année 1999, A._ a fait part à B._ de son mécontentement concernant les prestations de C._, auquel elle reprochait une connaissance insuffisante du marché des options. A la fin de l'année 1999, A._ a fait part à B._ de son mécontentement concernant les prestations de C._, auquel elle reprochait une connaissance insuffisante du marché des options. B. En janvier 2000, A._ a rencontré les conseillers de Z._, dont B._, et a annoncé qu'elle allait ouvrir une "position très importante", nécessitant un suivi étroit du dossier. C._ l'a également appris. A._ a obtenu l'assurance de Z._ qu'en l'absence de B._, son répondant serait D._. Le 14 janvier 2000, A._ a acheté, au cours de 39 USD, 400 options qui permettaient chacune d'acquérir 100 actions Qualcomm Inc. au prix de 125 USD jusqu'au 22 avril 2000 (ci-après: options 125). Le prix de la transaction était de 1'560'000 USD, plus 3'300 USD de commission, soit un prix total de 1'563'300 USD. Cette acquisition a été effectuée par l'intermédiaire de C._. L'intention d'A._ était de réaliser une opération spéculative à court terme, le cours de l'option 125 étant très volatil. Celle-ci voulait vendre ses 400 options 125 avant la fin du week-end du 22/23 janvier 2000 au cours de 50 USD, sinon au prix du marché, afin de réaliser "un grand coup" et de mettre un terme à sa prise de risques. A son sens, l'évolution du cours de ces options n'était plus prévisible dès le lundi, car les marchés pouvaient réagir à une prise de position de la Réserve Fédérale Américaine et le cours de l'option Qualcomm pouvait être influencé si la société obtenait des brevets. Le vendredi 21 janvier 2000, en l'absence de B._, A._ et C._ ont eu plusieurs entretiens téléphoniques, durant lesquels A._ s'est renseignée sur le prix de diverses options et actions, notamment du cours des options 120 et des options 125. C._ lui a annoncé par erreur que l'option 125 avait atteint le cours de 50 USD, alors qu'il s'agissait en réalité de l'option 120. Le cours de l'option 125 avait seulement varié entre 43.88 et 49.25 USD ce vendredi. A._ a alors donné l'ordre à C._ de vendre les 400 options 125 de son portefeuille au cours de 50 USD et de la rappeler pour lui confirmer la vente. Il a été constaté qu'il n'y avait eu aucun malentendu entre la cliente et le conseiller en investissements: celle-ci lui avait donné une instruction claire portant sur la vente des 400 options 125 à 50 USD en vue de clôturer sa position, ce qu'avait bien compris C._. La confusion s'est ensuite produite uniquement dans la sphère de ce dernier. Sans consulter le compte de la cliente, bien qu'il s'agisse d'un préalable indispensable à l'exécution de l'ordre, ce qui lui aurait permis de se rendre compte de son erreur, C._ a passé un ordre de vente portant sur 400 options 120 en lieu et place des 400 options 125. En procédant à cette opération, il était convaincu de vendre les options se trouvant sur le compte de la cliente. L'ordre de vente d'A._ n'a pas fait l'objet d'un enregistrement téléphonique, mais comme elle avait été placée à son insu sur haut-parleur, D._ se souvient avoir entendu C._ répéter l'ordre de vendre 400 options 120 à 50 USD, ce qu'il avait par ailleurs noté sur le journal des ordres de bourse. Vers 19 heures, C._ a confirmé à A._ que la vente avait été exécutée à la bourse de New York, puis il a quitté la banque. Dans la matinée du lundi 24 janvier 2000, C._ s'est rendu compte de son erreur. Il en a fait part à B._, qui en a informé son supérieur. C._ a reçu pour instruction d'aviser la cliente et de couvrir la position de la banque par l'acquisition de 400 options 120. Aux environs de 14 heures, C._ a téléphoné à A._ en l'informant de la situation. Il s'est excusé de son erreur et a sollicité des instructions pour les options 125 demeurées dans le portefeuille de la cliente. A._, fâchée, a répondu, qu'elle souhaitait connaître la position de la banque avant de se prononcer. Elle a adressé un message électronique à B._, afin d'obtenir une explication détaillée, pensant alors à tort que les options 120 se trouvaient dans son portefeuille et protégeaient sa position relative aux options 125. Le 25 janvier 2000, C._ a annoncé à A._ qu'il lui avait avait indiqué un prix erroné pour les options 125, qui n'avaient jamais atteint le cours de 50 USD. Il a notamment précisé que la Banque avait pu acheter les options 120 à 50 USD et qu'elle avait eu l'intention de lui créditer l'éventuel bénéfice de cette opération. A._ a compris de ces explications que, contrairement à ce qu'elle croyait, sa position n'était pas protégée et qu'elle subissait une perte de l'ordre d'un million de dollars par rapport au bénéfice escompté de l'opération envisagée, mais non exécutée. Le mercredi 26 janvier 2000, A._ n'a obtenu aucun interlocuteur du management pour répondre à ses questions. L'un d'eux a indiqué qu'elle "n'avait qu'à aller se faire voir", un autre a refusé de lui parler au téléphone, car "elle lui cassait les pieds". Ce même jour, A._ a eu un entretien téléphonique avec le directeur, E._, à la suite duquel celui-ci lui a adressé par courrier électronique une offre transactionnelle portant sur le paiement de 60'000 USD, représentant la différence entre le cours des options 125 à la clôture du vendredi et le cours à l'ouverture le lundi matin. Il lui signalait également que sa position était toujours ouverte et qu'il demeurait dans l'attente de ses instructions. A._ a ainsi appris de manière certaine que sa position n'était pas protégée. Le 27 janvier 2000, E._ a avisé A._ qu'il ne pouvait procéder à la vente des 400 options 125 sans instruction de sa part et qu'il demeurait dans l'attente de celle-ci depuis lundi. Le même jour, A._ a répondu qu'elle considérait avoir donné l'ordre de vendre ses 400 options 125, ce dont elle avait reçu confirmation. L'exécution négligente de la banque ne la concernait pas, dès lors qu'elle s'était défaite de ses options depuis le 21 janvier 2000. Elle a mis la banque en demeure de rétablir sa situation dans les trois jours, sous peine d'entamer une procédure judiciaire. Z._ a relancé en vain A._ les 28 et 31 janvier 2000, le 11 février 2000, le 3 mars 2000, ainsi que les 4 et 20 avril 2000, afin d'obtenir son instruction de vendre les options 125. La Banque a encore précisé, le 31 janvier 2000, qu'elle déclinait toute responsabilité dès lors qu'A._, au courant de la situation, devait donner des instructions. Elle lui a en outre signalé, le 11 février 2000, son obligation de réduire le dommage. Le cours moyen de l'option 125 a fluctué à la baisse; il était de 40.815 le 24 janvier 2000, avant de passer à 36.505 le 25 janvier, à 21.815 le 26 janvier, à 19.19 le 27 janvier, à 13.565 le 28 janvier et à 16.505 le 3 mars 2000. Après être remonté à 34.625 le 29 mars 2000, il a chuté à 0.22 le 20 avril 2000. Le cours moyen de l'option 125 a fluctué à la baisse; il était de 40.815 le 24 janvier 2000, avant de passer à 36.505 le 25 janvier, à 21.815 le 26 janvier, à 19.19 le 27 janvier, à 13.565 le 28 janvier et à 16.505 le 3 mars 2000. Après être remonté à 34.625 le 29 mars 2000, il a chuté à 0.22 le 20 avril 2000. C. Le 8 décembre 2000, A._ a assigné la Banque en paiement de 3'043'968 fr. plus intérêt à 5 % dès le 21 janvier 2000. Ce montant correspondait à la contre-valeur de 1'920'000 USD au taux du 21 janvier 2000, soit le montant de l'investissement initial de 1'560'000 USD, plus un gain manqué de 360'000 USD représentant ce que lui aurait rapporté la vente des 400 options 125 au cours de 48 USD. Par jugement du 4 septembre 2003, le Tribunal de première instance du canton de Genève a admis la demande et condamné la Banque à payer à A._ la somme de 3'022'035 fr. avec intérêt à 5 % dès le 21 janvier 2000. Admettant partiellement l'appel formé par la Banque, la Cour de justice, par arrêt du 19 mars 2004, a annulé le jugement du 4 septembre 2003 et, statuant à nouveau, elle a condamné la Banque à payer à A._ la somme de 1'114'700 USD avec intérêt à 5 % dès le 21 janvier 2000. Admettant partiellement l'appel formé par la Banque, la Cour de justice, par arrêt du 19 mars 2004, a annulé le jugement du 4 septembre 2003 et, statuant à nouveau, elle a condamné la Banque à payer à A._ la somme de 1'114'700 USD avec intérêt à 5 % dès le 21 janvier 2000. D. Contre l'arrêt du 19 mars 2004, les deux parties interjettent un recours en réforme au Tribunal fédéral. A._ (la demanderesse) conclut à l'annulation de la décision entreprise et à la condamnation de la Banque à lui verser le montant de 3'022'035 fr., contre-valeur de 1'888'600 USD au taux du 21 janvier 2000 de 1 USD pour 1,6004 fr., avec intérêt à 5 % dès le 21 janvier 2000. La Banque (la défenderesse) requiert, pour sa part, la réforme de l'arrêt attaqué dans le sens du rejet pur et simple de la demande et du renvoi du dossier à la cour cantonale pour qu'elle statue sur les frais et dépens de la procédure cantonale. La Banque propose de rejeter, dans la mesure de sa recevabilité, le recours formé par A._, alors que celle-ci conclut au rejet du recours interjeté par la Banque. Par arrêt de ce jour, le Tribunal fédéral a rejeté le recours de droit public formé parallèlement par A._ à l'encontre de l'arrêt du 19 mars 2004.