-
Notifications
You must be signed in to change notification settings - Fork 37
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
eigsolve not working with howmany option #62
Comments
|
I got confused with the docstring then. What about the xo argument? Is there a good recommendation? I understand that the howmany is the 3rd positional argument so we need to specify xo as well. |
Yes you need to specify x0, except when your operator is a matrix. In that case, I can generate a random vector. But KrylovKit works with arbitrary user types as vectors, and arbitrary functions as linear operators. I have no way to know what type of vector the user is using, and I cannot create random instances of it. So you have to specify one instance. Any random instance should be fine, as long as it is not the zero vector. If it is already close to being an eigenvector, than convergence will be faster. |
It would be great to make these keyword arguments indeed. Also, the return type of the eigenvectors could be a simple matrix as with other linear algebra packages maybe? I tried to port some code from ArnoldMethod.jl to KrylovKit.jl without success. Marking the issue as solved. |
I think you miss the point of this package. Vectors can be any user type that satisfy a minimal interface. In particular; they don't have to be |
I fully get it, it is really nice that the entire interface here works with
general vector spaces. I'm wondering if in the case of Vector it would make
sense to provide an option or wrapper function that returns matrices of
coordinates. Just because it is handy sometimes.
Em sex., 28 de out. de 2022 16:31, Jutho ***@***.***>
escreveu:
… I think you miss the point of this package. Vectors can be any user type
that satisfy a minimal interface. In particular; they don't have to be
AbstractVector or Vector. As such, concatenating them into a matrix
doesn't make sense; a list of eigenvectors is the only sensible return
type. If you don't need this functionality and your vectors are simple
Vectors, then this package still works, but I don't think it gains you
much over Arpack.jl or ArnoldiMethod.jl, and indeed, because of this more
general approach, some behaviour might be somewhat different.
—
Reply to this email directly, view it on GitHub
<#62 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZQW3MA7XX3LFF7GFGLKH3WFQS2JANCNFSM6AAAAAARRBJGUA>
.
You are receiving this because you modified the open/close state.Message
ID: ***@***.***>
|
It's a simple matter of doing |
Yep, maybe it doesn't make sense to include here. Alternatively you could
add a new Krylov.eigs or something that mimics the LinearAlgebra output
Em sex., 28 de out. de 2022 16:43, Jutho ***@***.***>
escreveu:
… It's a simple matter of doing hcat(vecs...) to get the corresponding
matrix in that case.
—
Reply to this email directly, view it on GitHub
<#62 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZQW3KZUR4FNOAK2WVLIKTWFQUFLANCNFSM6AAAAAARRBJGUA>
.
You are receiving this because you modified the open/close state.Message
ID: ***@***.***>
|
Am I doing something wrong?
The text was updated successfully, but these errors were encountered: