-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
LinearAlgebra - inv() producing NaNs when called on a Tridiagonal #29630
Comments
This issue arises because the special-case method for inverting tridiagonals ( lu(A90) \ Matrix(1.0I,size(A90)) gives a good result via a stable banded scheme (faster than working with a full matrix). Furthermore, |
@RalphAS Thanks for identifying the problem. I think we should just remove |
* Use a stable inverse for Tridiagonal and SymTridiagonal Fixes #29630 * Fix ldlt in the complex case
I’m creating a 90x90 tridiagonal matrix using the function below, which I store in the variable A90. When I call
inv(A90)
, I get a matrix of all NaNs, but if I callinv(Matrix(A90))
, the inverse is successfully computed. Is this behavior expected?@tpapp suggested that it might be as issue related to conditioning and the Tridiagonal inversion method, which I suspect as well because my code generates an ill-conditioned matrix by design.
The text was updated successfully, but these errors were encountered: