El producto complejo interior tiene dos definiciones diferentes decididas por convenciones: ˉ u T v o u T ˉ v . En BLAS, encontré las rutinas cdotu, zdotu y cdotc, zdotc. Las dos primeras rutinas en realidad calculan u T v (¡un producto interno falso!) Y las dos últimas rutinas conjugan el primer vector en el producto interno. También, por cualquiera de las definiciones (conjugado u o v ), ⟨ u , v ⟩ = ¯ ⟨ v , u ⟩con conjugación! Además, como se señaló en un comentario, la elección de los valores principales para funciones complejas de valores múltiples puede depender de la convención.
Mi pregunta es: ¿esta complicación causa verdadero peligro para el uso de aritmética compleja en computación científica? Este tema es enfatizado por los autores de deal.ii que sugieren dividir siempre números complejos en parte real y parte imaginaria y usar solo la aritmética real. Pero nunca encontré que el enfoque de división sea conveniente. Por ejemplo, piense en la PML para las ecuaciones de Maxwell armónicas en el tiempo.
Parece que la preocupación de usar números complejos prevalece en la mayoría de los softwares de código abierto de FEM, excepto FreeFem ++ y libmesh. Pero incluso para las dos excepciones, la aritmética compleja está menos probada que la real.
Mi última pregunta es: ¿debemos evitar siempre usar números complejos?