-
-
Notifications
You must be signed in to change notification settings - Fork 54
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
Interface Block-GMRES from Krylov.jl #554
base: main
Are you sure you want to change the base?
Conversation
end | ||
return (c, s, ρ) | ||
end | ||
_sym_givens(a::T, b::T) where {T <: AbstractFloat} = Krylov.sym_givens(a, b) |
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.
this is misplaced if it's a hard dep.
That's not the right interpretation because it doesn't solve the |
I expect to solve I can understand that your want to apply PDE operators on 2D or 3D matrices but the right-hand side should be already vectorized, like I did in this example: |
No? In that case |
Solving AX = vec(B) and AX = B is completely different, do we agree on that? It's not the case with |
That's not the A you wrote down. It's really weird to solve a problem for a different linear operator than the one the user gave you. |
You don't solve a problem with a different operator. I just explained how a linear system with a vector as right-hand and a linear system with a matrix as right-hand side are equivalent. |
They aren't equivalent, it's overloaded syntax. The latter is actually solving with |
I don't understand why you talk about overloading. Solving But the main goal of my messages was to explain that it's completely different than solving Conclusion: |
This is literally the same thing as taking vector transposes seriously. Yes, obviously it's homomorphic to solving with |
Ok, I understand your issue now 👍 |
#552
You probably want to use
block_gmres!
instead ofgmres!
by default if the right-hand is anAbstractMatrix
.Note that for block-Krylov methods, the solution is stored in
solver.X
and notsolver.x
.