-
Notifications
You must be signed in to change notification settings - Fork 4
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
better Hessenberg solvers #2
Comments
I'm very pleased to see this development. I have also been wondering how Hessenberg types and methods should best be organized, and I think you are on the right track. Just yesterday I happily learnt that the the algorithm you implemented is stable so that I would gladly take advantage of it. |
Yes, the algorithm I implemented is backwards stable because it is equivalent to Givens RQ followed by backsubstitution. The code already has negligible overhead for zero shifts, and soon we will support trivial reflectors efficiently as well. |
In the latest PR, then if you already have an upper-Hessenberg matrix |
Closing since I dropped the inferior local method and have adopted the StdLib Hessenberg structs. |
I noticed that you implemented Hessenberg solvers in https://github.com/RalphAS/GenericSchur.jl/blob/a361308be3b52faee82a9db30ea87d40d82fb0c4/src/hessenberg.jl
In JuliaLang/julia#31853 we are adding such solvers to LinearAlgebra — the algorithm we are using seems to be significantly faster (5-10x) than what you are doing now because it combines the RQ factorization and the triangular backsolve, and is able to do them both without modifying H.
In the near future, if you already have an upper-Hessenberg matrix
H
, you will be able to doHessenberg(H) \ b
to use the LinearAlgebra solver. If you need any additional functionality, please comment.The text was updated successfully, but these errors were encountered: