You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To complement the new eigen interface introduced in #334, it may be nice to have another function, possibly call eigendecomp, that returns a factorization of an ITensor in terms of left and right eigenvectors and the eigenvalues:
i =Index(2)
A =randomITensor(i', i)
V, D, W =eigendecomp(A)
A == V * D * W
Here, V stores the right eigenvectors of A and W stores the left eigenvectors. In the case of a Hermitian A, W would be related to the complex conjugation of V. More generally, W is related to the matrix inverse of V.
This could mostly be written as a wrapper around eigen, where in the non-Hermitian case it could do two calls to eigen to get the left and right eigenvectors (and do some extra normalization of the sets of left and right eigenvectors).
I think it is useful to have both eigen and eigendecomp, where sometimes just the right or left eigenvectors are desired, while other times it is nice to have a full factorization that can easily reproduce the original ITensor (for example think about using it in a tensor renormalization algorithm like TRG or CTMRG, where you want to get a factorized replacement for a tensor in the network).
The text was updated successfully, but these errors were encountered:
To complement the new
eigen
interface introduced in #334, it may be nice to have another function, possibly calleigendecomp
, that returns a factorization of an ITensor in terms of left and right eigenvectors and the eigenvalues:Here,
V
stores the right eigenvectors ofA
andW
stores the left eigenvectors. In the case of a HermitianA
,W
would be related to the complex conjugation ofV
. More generally,W
is related to the matrix inverse ofV
.This could mostly be written as a wrapper around
eigen
, where in the non-Hermitian case it could do two calls toeigen
to get the left and right eigenvectors (and do some extra normalization of the sets of left and right eigenvectors).I think it is useful to have both
eigen
andeigendecomp
, where sometimes just the right or left eigenvectors are desired, while other times it is nice to have a full factorization that can easily reproduce the original ITensor (for example think about using it in a tensor renormalization algorithm like TRG or CTMRG, where you want to get a factorized replacement for a tensor in the network).The text was updated successfully, but these errors were encountered: