-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement Eigendecomposition #215
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay thanks! Can you add tests for this? See our test for KrylovKit.eigsolve
, which may be very similar.
Also, we should make that both KrylovKit.eigsolve
and this function you added should have similar syntax, so if we agree on this TensorEigen
thing, we should add it to our KrylovKit
extension.
Sure
mmm although it might be a good idea, I see that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Can you add a
docstring
? :)
Done!
This PR implements
LinearAlgebra.eigen
(and related methods,eigvals
andeigvecs
) forTensor
, andLinearAlgebra.eigen!
forAbstractTensorNetwork
.The design of this implementation is somewhat more similar to how Julia implements factorizations: there is this new$U^{-1}$ .
TensorEigen
object whicheigen(::Tensor)
returns. We could have usedLinearAlgebra.Eigen
(which is the return type ofeigen
), but it doesn't store the right indices required to constructThe following destructuring syntax is supported: