Sympy: Exp (-iHt) - PullRequest
       9

Sympy: Exp (-iHt)

0 голосов
/ 27 апреля 2020

Я пытаюсь вычислить гамильтонову эволюцию времени в симпти.

H - матрица (гамильтониан). Например: Matrix([[1, 2], [2, 2]]

t является символом: t=Symbol('t')

Как я могу легко вычислить A = exp (-iHt)?

Я пробую много вещей, но без успеха: вычисление собственных значений, собственных векторов ...

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Должно быть в состоянии сделать что-то вроде этого:

import sympy

t = sympy.symbols('t')
H = sympy.Matrix([[1, 2], [2, 2]])
A = sympy.exp(-sympy.I * H * t) # sympy.I is imaginary constant

A возвращает сложную матрицу sympy, как и ожидалось.

1 голос
/ 27 апреля 2020

Это то, что вы хотите?

In [1]: M = Matrix([[1, 2], [2, 2]])                                                                                                                                                                        

In [2]: (I*M*t).exp()                                                                                                                                                                                       
Out[2]: 
⎡          3⋅ⅈ⋅t   √17⋅ⅈ⋅t       3⋅ⅈ⋅t   √17⋅ⅈ⋅t             √17⋅ⅈ⋅t   3⋅ⅈ⋅t         √17⋅ⅈ⋅t   3⋅ⅈ⋅t             3⋅ⅈ⋅t   √17⋅ⅈ⋅t       3⋅ⅈ⋅t   √17⋅ⅈ⋅t         √17⋅ⅈ⋅t   3⋅ⅈ⋅t            √17⋅ⅈ⋅t   3⋅ⅈ⋅t⎤
⎢          ───── + ───────       ───── + ───────           - ─────── + ─────       - ─────── + ─────             ───── + ───────       ───── + ───────       - ─────── + ─────          - ─────── + ─────⎥
⎢            2        2            2        2                   2        2              2        2                 2        2            2        2               2        2                 2        2  ⎥
⎢   4⋅√17⋅ℯ                + 68⋅ℯ                + 13⋅√17⋅ℯ                  + 85⋅ℯ                       2⋅√17⋅ℯ                + 18⋅ℯ                - 18⋅ℯ                  - 2⋅√17⋅ℯ                 ⎥
⎢   ────────────────────────────────────────────────────────────────────────────────────────────────      ───────────────────────────────────────────────────────────────────────────────────────────────⎥
⎢                                             17⋅√17 + 153                                                                                           17 + 9⋅√17                                          ⎥
⎢                                                                                                                                                                                                        ⎥
⎢ ⎛          3⋅ⅈ⋅t   √17⋅ⅈ⋅t       3⋅ⅈ⋅t   √17⋅ⅈ⋅t         √17⋅ⅈ⋅t   3⋅ⅈ⋅t             √17⋅ⅈ⋅t   3⋅ⅈ⋅t⎞                       3⋅ⅈ⋅t   √17⋅ⅈ⋅t      3⋅ⅈ⋅t   √17⋅ⅈ⋅t        √17⋅ⅈ⋅t   3⋅ⅈ⋅t                ⎥
⎢ ⎜          ───── + ───────       ───── + ───────       - ─────── + ─────           - ─────── + ─────⎟                       ───── + ───────      ───── + ───────      - ─────── + ─────                ⎥
⎢ ⎜            2        2            2        2               2        2                  2        2  ⎟                         2        2           2        2              2        2                  ⎥
⎢-⎝- 18⋅√17⋅ℯ                - 34⋅ℯ                + 34⋅ℯ                  + 18⋅√17⋅ℯ                 ⎠                  √17⋅ℯ                + 9⋅ℯ                + 8⋅ℯ                                 ⎥
⎢───────────────────────────────────────────────────────────────────────────────────────────────────────                 ────────────────────────────────────────────────────────────────                ⎥
⎣                                              17⋅√17 + 153                                                                                          √17 + 17                                            ⎦
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...