Le produit intérieur complexe a deux définitions différentes décidées par des conventions: ou . Dans BLAS, j'ai trouvé les routines cdotu, zdotu et cdotc, zdotc. Les deux anciennes routines calculent en fait (un faux produit intérieur!) Et les deux dernières routines conjuguent le premier vecteur du produit intérieur. Aussi, par l'une ou l'autre des définitions (conjugué ou ), avec conjugaison! De plus, comme indiqué dans un commentaire, le choix des valeurs principales pour les fonctions complexes à valeurs multiples peut dépendre de la convention.
Ma question est: cette complication entraîne-t-elle un véritable danger pour l'utilisation de l'arithmétique complexe dans le calcul scientifique? Ce problème est souligné par les auteurs de deal.ii qui suggèrent de toujours diviser les nombres complexes en partie réelle et partie imaginaire et d'utiliser uniquement l'arithmétique réelle. Mais je n'ai jamais trouvé que l'approche du fractionnement soit pratique. Par exemple, pensez à la PML pour les équations de Maxwell harmoniques dans le temps.
Il semble que le souci d'utiliser des nombres complexes soit répandu dans la plupart des logiciels FEM open source sauf FreeFem ++ et libmesh. Mais même pour les deux exceptions, l'arithmétique complexe est moins testée que la vraie.
Ma dernière question est la suivante: éviterons-nous toujours d'utiliser des nombres complexes?