День добрый!
Для решения некой физической задачи хочу программно построить двумерные функции Эрмита-Гаусса для комплексных чисел
(Довольно подробное описание дано, например, здесь:
http://www.fian.smr.ru/img_beam/Vestnik.djv)
Прежде чем сформулировать вопрос, поясню:
Для одномерного случая полиномы Эрмита можно построить, используя рекурентное соотношение



Для этого я циклом сначала задавал переменную

в каком-то диапазоне,
затем полученный массив

использовал для вычисления полиномов.
В итоге получался двумерный массив, в котором были определены значения для каждого из

полиномов для каждого из

Функции Э-Г для вещественных чисел можно построить, если вычислим полиномы для второй координаты

, и перемножим их по правилу:

получается четырехмерный массив, если зафиксируем

, и возведем массив в квадрат, его можно представить графически как интенсивность.
Например, при значении

, получим "интенсивность", показанную слева в верхнем ряду на прикрепленном рисунке,

- изображение сверху в центре, и т.д.
Вопрос состоит в том - как получить соответсвующие им "фазы", вида

, (нижний ряд на рисунке)

По моим соображениям, для этого нужно задать еще одну ось, скажем,

, так, что

будет комплексным числом.
для них построить полиномы эрмита, и опираясь на них построить функции эрмита-Гаусса
А потом разделить на вещественные и комплексные части
Непонято, как именно строить полиномы Эрмита от комплексного числа. Задавать вместо оси

плоскость

?
Тогда циклов становится слишком много, и программа ругается - что нехватает памяти.
и как потом отделять вещественную часть от мнимой?
или же можно отдельно подсчитать вещественную часть, отдельно мнимую?