-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
added sparse multiplication and division for triangular matrices. Fix… #28507
added sparse multiplication and division for triangular matrices. Fix… #28507
Conversation
thank you @KlausC impatient n00b here, can this be merged? |
@mcognetta , @andreasnoack may I bring the PR back to your mind. |
Thanks, this is really nice. I will merge this into #28883. |
…ns' into optimize_binop_structured_matrices Adding sparse triangular sparse array operations from JuliaLang#28507
@andreasnoack is there a reason, why this is not merged into master? |
I suspect because it's a fair amount of code to review. @andreasnoack has got a few other things I happen to know he's working on somewhat urgently at the moment. Have patience, we'll have more cycles available next week. @Sacha0, any chance you could take a look? |
@andreasnoack @Sacha0 it's a little discouraging that important linear algebra improvements like this get forgotten |
Regrettably I have few spare cycles to review pull requests of this scale at the moment. Best! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great. Thanks for the contribution and sorry for the long wait here. I've only a minor comment to the tests.
stdlib/SparseArrays/test/sparse.jl
Outdated
A = sprand(rng, n, n, 0.01) | ||
B = ones(n) | ||
MA = Matrix(A) | ||
for tr in (identity, adjoint, transpose) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be great if you could put a testset here that prints the loop variables. E.g. just something like
@testset "tr=$tr, wr=$wr" for
tr in (identity, adjoint, transpose),
wr in (UpperTriangular, LowerTriangular, UnitUpperTriangular, UnitLowerTriangular)
helps a lot to identify the problem when a test fails.
The performance from #28451 has been improved for some types of sparse triangular matrices.
All the new performance figures are now in range 1-2ms, means improvements by factors 300-1000. See #28451.