Replies: 1 comment 5 replies
-
Hi @ahbarnett! Your link of the documentation is very old (version 0.7.11), please check the last version of documentation with the link available in the README. Are you not allocating a new vector each time that you are performing a matrix-vector product with our operator? It's something that we want to avoid because you can't solve large linear problems if you allocate a vector of 1 000 000 coefficients at each iteration. |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Dear Devs,
Thanks for implementing GMRES in Krylov.jl. This is a suggestion: any user is looking for the simplest way to use their own matrix-vector multiply, ie function f(x) that implements Ax. (This is probably the 2nd most important use case, sparse matrices being the 1st.) Your documentation
https://docs.juliahub.com/Krylov/0fcC3/0.7.11/factorization-free/
highly recommends using LinearOperators.jl to create a LinearOperator object. However, to do this for is extremely messy, involving making a 5-argument mul! operator first:
https://jso.dev/tutorials/introduction-to-linear-operators/
It needs another package and is simply too confusing/general; I gave up!
I did get this route to work (still needs another pkg):
However, there should be a simpler route, just passing in the function f to gmres. No operator dimension is needed since b determines it (and in the rectangular case an N arg could be added). This is how MATLAB does it:
Could this interface feature be added, to reach the MathWorks level of good design and usability?
Failing that, could a simple example be added to your tutorial of how to achieve the above without installing another pkg?
Otherwise, it is hard to attract new users...
Thanks so much! Alex
Beta Was this translation helpful? Give feedback.
All reactions