o****u 发帖数: 1299 | 1 How to find the eigenvalues and eigenfunctions of a complex matrix? In my
case, it will be a Hamiltonian, i.e., a Hermitian matrix. I am interested
in the numerical solution, or, how to program it. In computer codes, you
have only real numbers. How do you code the imaginary part?
Can anybody recommend some online articles or books?
And, what is the physical meaning of the imaginary part of a Hamiltonian? I
think it’s related somehow to time-evolution of the system. But I am not
I am working on unitary transformation of some large Hamiltonians, including
derivation of the matrix elements and program. These Hamiltonians are
complex. I just cannot make the transformation right—after the unitary
transformation, the eigenvalues change, which should not be. I think there
are two possibilities:
(1) My way of finding eigenvalues and eigenfunctions of complex matrices are
wrong;
(2) My way of rotating a complex matrix is wrong.
Note that I did work the same problem out for real matrices. I just have
problem with complex matrices.
Thanks a lot. | a****a 发帖数: 5763 | 2 最简单的,单粒子静止,代表hamiltonian 等于静质量 如果静质量有虚部代表
粒子会衰变
I
including
are
【在 o****u 的大作中提到】 : How to find the eigenvalues and eigenfunctions of a complex matrix? In my : case, it will be a Hamiltonian, i.e., a Hermitian matrix. I am interested : in the numerical solution, or, how to program it. In computer codes, you : have only real numbers. How do you code the imaginary part? : Can anybody recommend some online articles or books? : And, what is the physical meaning of the imaginary part of a Hamiltonian? I : think it’s related somehow to time-evolution of the system. But I am not : I am working on unitary transformation of some large Hamiltonians, including : derivation of the matrix elements and program. These Hamiltonians are : complex. I just cannot make the transformation right—after the unitary
| d********f 发帖数: 43471 | 3 third possibility, both wrong. 你有什么问题不能写中文?
I
【在 o****u 的大作中提到】 : How to find the eigenvalues and eigenfunctions of a complex matrix? In my : case, it will be a Hamiltonian, i.e., a Hermitian matrix. I am interested : in the numerical solution, or, how to program it. In computer codes, you : have only real numbers. How do you code the imaginary part? : Can anybody recommend some online articles or books? : And, what is the physical meaning of the imaginary part of a Hamiltonian? I : think it’s related somehow to time-evolution of the system. But I am not : I am working on unitary transformation of some large Hamiltonians, including : derivation of the matrix elements and program. These Hamiltonians are : complex. I just cannot make the transformation right—after the unitary
| o****u 发帖数: 1299 | 4 I copied/pasted an email to a friend. He doesn't know the answer.
【在 d********f 的大作中提到】 : third possibility, both wrong. 你有什么问题不能写中文? : : I
| d********f 发帖数: 43471 | 5 那算了,我不懂英文
【在 o****u 的大作中提到】 : I copied/pasted an email to a friend. He doesn't know the answer.
| a****a 发帖数: 5763 | 6 一般的解hermitian matrix, numerical recipes上有一小节专门讲
这个问题,可以直接用jacobian transformation,或者用Householder
转换成三角阵然后用QL迭代
或者干脆写成 2nx2n的实matrix 求解
if C=A+iB is hermitian
(A+iB)\cdot (u+iv) =\lambda(u+iv)
then it is equivalent to write as
|A -B | \cdot |u| = \lambda |u |
|B A | |v| |v |
不太清楚解得性质如何,不过后者应该能保证eigenvalue是实数吧
具体参见Numberical Recipes third edtion page 590
I
including
【在 o****u 的大作中提到】 : How to find the eigenvalues and eigenfunctions of a complex matrix? In my : case, it will be a Hamiltonian, i.e., a Hermitian matrix. I am interested : in the numerical solution, or, how to program it. In computer codes, you : have only real numbers. How do you code the imaginary part? : Can anybody recommend some online articles or books? : And, what is the physical meaning of the imaginary part of a Hamiltonian? I : think it’s related somehow to time-evolution of the system. But I am not : I am working on unitary transformation of some large Hamiltonians, including : derivation of the matrix elements and program. These Hamiltonians are : complex. I just cannot make the transformation right—after the unitary
| o****u 发帖数: 1299 | 7 Thank you. Should it be:
|A -B | \cdot |u| = \lambda |u |
|B A | |v| |v |
with M=A+iB? It makes more sense although I will look into it.
【在 a****a 的大作中提到】 : 一般的解hermitian matrix, numerical recipes上有一小节专门讲 : 这个问题,可以直接用jacobian transformation,或者用Householder : 转换成三角阵然后用QL迭代 : 或者干脆写成 2nx2n的实matrix 求解 : if C=A+iB is hermitian : (A+iB)\cdot (u+iv) =\lambda(u+iv) : then it is equivalent to write as : |A -B | \cdot |u| = \lambda |u | : |B A | |v| |v | : 不太清楚解得性质如何,不过后者应该能保证eigenvalue是实数吧
| a****a 发帖数: 5763 | 8 yeah my typo
【在 o****u 的大作中提到】 : Thank you. Should it be: : |A -B | \cdot |u| = \lambda |u | : |B A | |v| |v | : with M=A+iB? It makes more sense although I will look into it.
| e********y 发帖数: 935 | 9 何不用lapack?
I
including
【在 o****u 的大作中提到】 : How to find the eigenvalues and eigenfunctions of a complex matrix? In my : case, it will be a Hamiltonian, i.e., a Hermitian matrix. I am interested : in the numerical solution, or, how to program it. In computer codes, you : have only real numbers. How do you code the imaginary part? : Can anybody recommend some online articles or books? : And, what is the physical meaning of the imaginary part of a Hamiltonian? I : think it’s related somehow to time-evolution of the system. But I am not : I am working on unitary transformation of some large Hamiltonians, including : derivation of the matrix elements and program. These Hamiltonians are : complex. I just cannot make the transformation right—after the unitary
| w*******U 发帖数: 256 | 10 the fortran library 'lapack' or its C version 'lapacke' can do this job.
you can solve the eigenvalue/eigenfunction of a complex matrix with or
without hermite symmetry (the routine of the latter would run faster).
I
including
【在 o****u 的大作中提到】 : How to find the eigenvalues and eigenfunctions of a complex matrix? In my : case, it will be a Hamiltonian, i.e., a Hermitian matrix. I am interested : in the numerical solution, or, how to program it. In computer codes, you : have only real numbers. How do you code the imaginary part? : Can anybody recommend some online articles or books? : And, what is the physical meaning of the imaginary part of a Hamiltonian? I : think it’s related somehow to time-evolution of the system. But I am not : I am working on unitary transformation of some large Hamiltonians, including : derivation of the matrix elements and program. These Hamiltonians are : complex. I just cannot make the transformation right—after the unitary
| z*****r 发帖数: 103 | 11 这样的复数矩阵的本征值也应该是复数吧
复数本征值的实部可以理解成本征能量,那虚部有什么物理意义呢?
还是说,尽管矩阵元是复数,但是这种物理问题的本征值仍然会是实数(虚部为零)?
【在 w*******U 的大作中提到】 : the fortran library 'lapack' or its C version 'lapacke' can do this job. : you can solve the eigenvalue/eigenfunction of a complex matrix with or : without hermite symmetry (the routine of the latter would run faster). : : I : including
| a****a 发帖数: 5763 | 12 hamiltonian matrix是厄秘的,怎么可能本证值是复数
量子力学没学好阿
【在 z*****r 的大作中提到】 : 这样的复数矩阵的本征值也应该是复数吧 : 复数本征值的实部可以理解成本征能量,那虚部有什么物理意义呢? : 还是说,尽管矩阵元是复数,但是这种物理问题的本征值仍然会是实数(虚部为零)?
| N***m 发帖数: 4460 | 13 我靠,现在物理系的学生都堕落成这样子了!
【在 z*****r 的大作中提到】 : 这样的复数矩阵的本征值也应该是复数吧 : 复数本征值的实部可以理解成本征能量,那虚部有什么物理意义呢? : 还是说,尽管矩阵元是复数,但是这种物理问题的本征值仍然会是实数(虚部为零)?
| s*****u 发帖数: 164 | 14 http://software.intel.com/sites/products/documentation/hpc/mkl/
在C++里面,直接用complex就可以了,不用再定义一个复数的struct。
本征值是按行的方式存储的,这个稍微注意一下就可以了。 |
|