-
Notifications
You must be signed in to change notification settings - Fork 60
fix docs for CSR #1006
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
base: main
Are you sure you want to change the base?
fix docs for CSR #1006
Conversation
With ``` A_gpu = CuSparseMatrixCSR(sprand(T, n, n, 0.05) + I) b_cpu = CuVector(rand(T, n)) julia> x, stats = bicgstab(A_gpu, b_gpu, M=opM) ``` we before got ``` (Float32[1.0198809, 4.0956926, 1.28241, -1.7407427, -2.9416926, -0.32771796, 0.4703165, 5.368891, -3.1246433, -1.7737565 … 0.97625387, 3.7136111, -1.0120717, 2.8906355, -1.1602651, 0.46383825, 2.538051, 1.448916, 2.4476223, -3.592498], SimpleStats niter: 54 solved: false inconsistent: false indefinite: false residuals: [] Aresiduals: [] κ₂(A): [] timer: 48.24ms status: breakdown αₖ == 0 ) ``` but with this, get ``` (Float32[-0.4150291, 2.639933, -1.3929893, -1.1049638, -1.2597414, 0.0031488854, -1.918298, 5.812737, -1.3443595, -1.2016623 … 1.6825913, 3.0281372, -1.4967421, 3.0308955, -1.1063535, 0.2894782, 1.1083188, -0.1900546, 2.3867438, 1.4211323], SimpleStats niter: 66 solved: true inconsistent: false indefinite: false residuals: [] Aresiduals: [] κ₂(A): [] timer: 57.85ms status: solution good enough given atol and rtol ) ```
@oscardssmith The breakdown is independent of the good / bad preconditioner. What we should check is if we converge in one iteration with an ILU preconditioner of a dense matrix stored in sparse CSR format. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1006 +/- ##
==========================================
+ Coverage 94.68% 97.49% +2.81%
==========================================
Files 45 49 +4
Lines 8027 9298 +1271
==========================================
+ Hits 7600 9065 +1465
+ Misses 427 233 -194 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This is true for the old, but not the new one.
What is it dependent on? Randomly failing to solve seems like a fairly large problem. |
Ok, so it means that the old preconditioner is correct.
Yes, it is why we should never use |
In that case, should the docs switch to |
I already suggest better algorithms in the docstring of |
With
we before got
but with this, get