Комплекс скалярний твір має два різних визначень вирішує умовні позначення : · ¯u T V або ¯u T ° V . У BLAS я знайшов підпрограми cdotu, zdotu та cdotc, zdotc. Колишні дві процедури фактично обчислюють u T v (підроблений внутрішній продукт!), А останні два підпрограми поєднують перший вектор у внутрішньому продукті. Крім того , будь-який з визначення (кон'югат U або V ), ⟨ U , V ⟩ = ¯ ⟨ V , U ⟩з кон'югацією! Крім того, як зазначено в коментарі, вибір основних значень для багатозначних складних функцій може залежати від конвенції.
Моє запитання: чи спричинює це ускладнення справжню небезпеку для використання складної арифметики в наукових обчисленнях? Це питання наголошують автори deal.ii, які пропонують завжди ділити складні числа на реальну частину та уявну частину та використовувати лише реальну арифметику. Але я ніколи не знаходив підхід розщеплення як зручний. Наприклад, подумайте про PML для гармонійних рівнянь часу Максвелла.
Здається, турбота про використання складних чисел є поширеною у більшості програмних програм FEM з відкритим кодом, за винятком FreeFem ++ та libmesh. Але навіть за двома винятками, складна арифметика є менш перевіреною, ніж реальна.
Моє остаточне запитання: чи просто ми завжди уникатимемо використання складних чисел?