[Numpy-discussion] Can you help me find a dumb matrix multiply mistake
josef.pktd at gmail.com
josef.pktd at gmail.com
Fri Feb 26 16:18:27 EST 2010
On Fri, Feb 26, 2010 at 4:01 PM, Rick Muller <rpmuller at gmail.com> wrote:
> I'm making a mistake here, one that I suspect is a dumb error. I'm not as
> familiar with the math of complex hermetian matrices as I am with real
> symmetry matrices.
>
> I want to diagonalize the matrix:
>
> Y = matrix([[0,-1j],[1j,0]]) # this is the Y Pauli spin matrix
>
> Ey,Uy = eigh(Y)
>
> When I try to do:
>
> print Uy.H * diag(Ey) * Uy
>
> rather than getting Y back, I get:
>
> [[ 0.+0.j -1.+0.j]
> [-1.+0.j 0.+0.j]]
to get Y back:
>>> Uy * np.diag(Ey) * Uy.H
matrix([[ 0.+0.j, 0.-1.j],
[ 0.+1.j, 0.+0.j]])
>>> Uy * np.diag(Ey) * Uy.H - Y
matrix([[ 0. +0.00000000e+00j, 0. +2.22044605e-16j],
[ 0. -2.22044605e-16j, 0. +0.00000000e+00j]])
Josef
>
> I also tried
>
> dot(Uy.H,dot(diag(Ey),Uy))
>
> to make sure this isn't a matrix/array problem with the same result. Can
> someone spot what I'm doing wrong?
>
>
>
> --
> Rick Muller
> rpmuller at gmail.com
> 505-750-7557
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
More information about the NumPy-Discussion
mailing list