Bug in eigenmatrix command?
I'm new to sage, so this might be my bad, but I think there is a mismatch between complex conjugate eigevector/values in what the eigenmatrix_right() returns:
In my case:
J = matrix(CDF, [[-2.53634347567, 2.04801738686, -0.0, -62.166145304], [ 0.7, -0.6, 0.0, 0.0], [0.547271128842, 0.0, -0.3015, -21.7532081652], [0.0, 0.0, 0.3, -0.4]])
D, P = J.eigenmatrix_right()
D has two (almost) purely imaginary complex conjugate eigenvalues. I thought
A1 = J * P
and
A2 = P * D
should be identical, but the complex conjugate eigenvalues are interchanged, so two columns in A1 and A2 differ by a multiple of (-1). In my case things work ok if I interchange D[1][1] and D[2][2].
Am I missing something?
I think there is something odd going on here. In Octave in the Jupyter notebook in SageMathCloud, I am getting what you expected; that is, JP = PD. The real part of the entries of P in Sage are negatives of the real part of the entries of P in Octave.