-
Notifications
You must be signed in to change notification settings - Fork 55
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
Speed up SparseMatrixCSC(::AbstractQ)
constructor and multiplication
#196
Conversation
38ee2f5
to
eb03ec9
Compare
is there any reason to avoid force push in branches like this? |
Codecov Report
@@ Coverage Diff @@
## main #196 +/- ##
==========================================
+ Coverage 91.85% 91.87% +0.02%
==========================================
Files 11 11
Lines 7118 7148 +30
==========================================
+ Hits 6538 6567 +29
- Misses 580 581 +1
📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
This doesn't look right. |
after some looking up i think i found the problem. by handling it on a per column basis, the run time of |
55007f5
to
62459e2
Compare
47cce7b
to
29a6b07
Compare
Force pushing in branches is fine. |
As for the original issue, I think we'll need to change SparseArrays.jl/src/solvers/spqr.jl Lines 306 to 307 in d367f11
to something like println(io, "Q factor: " * summary(F.Q)) or, alternatively, modify the display of function Base.show(io::IO, mime::MIME{Symbol("text/plain")}, Q::QRSparseQ)
summary(io, Q)
end to only show the summary. Really, I think we shouldn't make it look like |
IMHO leaving |
What for? I don't think we should "deposit" unused internal functions just for fun. I also removed the sizehint option because that was performing the expensive work (multiplication) twice, so I don't think that would be worth it in any case. |
The current constructor does not apply to adjoints of |
i agree with remove the sizehint but the function |
That's right, up to the restriction that additionally there is no direct/fast |
SparseMatrixCSC(::AbstractQ)
constructor and multiplication
apart from matrix free jacobians, no. also since this package has high inertia, maybe it's better to have an undocumented helper than adding it when needed? |
Off topic - We really do need to reduce the inertia on this package (and I'm doing my best to help speed things along). Some inertia is required since it is still part of Julia stdlibs and widely depended upon. What else can we do? Maybe best to open a new issue for discussion. |
Sounds good. Let's have a documented internal function then. 😉 And bikeshed the name! I'll make a proposal and then we see. |
looks good to me! |
closes #194