Добрый день!
Возникла такая задача. Гамильтониан для системы с конечным числом степеней свободы (2 и больше) зависит от времени.
Это означает, что и собственные функции и собственные значения также зависят от времени:
(1)
Нужно численно найти решение нестационарного уравнения Шредингера:
(2)
Очевидно, что это решение может быть, как обычно, представлено в виде суперпозиции собственных функций (1) для кажого момента времени:
Численное решение (1) трудности не представляет - время тут просто параметр, одна строчка в Python и мы получаем набор собственных векторов и собственных значений для заданного
. И таким образом в итоге имеем систему дифференциальных уравнений для величин
.
Я это все вручную программирую на Python, но формулы получаются большие, если использовать не наивный метод Эйлера, а модифицированный или Рунге-Кутта. И к тому же, я не контролирую этап решения задачи на собственные значения (1), а здесь важен тот порядок, в котором собственные значения и вектора выдаются встроенной функцией. Дабы не было на каких то шагах перескоков и перепутывания.
Вопрос такой: а есть ли уже готовые пакеты для Python, которые решают поставленную задачу?