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.
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.Xand notsolver.x.