Conversation
|
Your PR no longer requires formatting changes. Thank you for your contribution! |
Codecov Report❌ Patch coverage is
... and 17 files with indirect coverage changes 🚀 New features to boost your workflow:
|
|
Ok, errors here seem to result from a formatting issue (which I will fix) and the type stability issues, so I think this is ready for a review. Also pinging @VictorVanthilt , as this is an alternative to #145 . |
lkdvos
left a comment
There was a problem hiding this comment.
Overall looks good to me, I also definitely like having this as the default.
One question here is that I think we can avoid a double-allocation in the case of svd_compact(A), which now calls:
Ac = copy_input(A)
sdd!(copy(Ac))
svd!(Ac)By replacing this with:
Ac = copy_input(A)
sdd!(Ac)
copy!(Ac, A)
svd!(Ac)I think that does require some slight reorganizing of the code logic, specialized to this algorithm, but given that this is the default it probably is not unreasonable to invest a bit of time in this
Co-authored-by: Lukas Devos <ldevos98@gmail.com>
|
That is indeed a very good remark; I'll try to come up with something. Of course this problem permeates through to |
Co-authored-by: Lukas Devos <ldevos98@gmail.com>
|
I thought some more about reusing or otherwise avoiding the double copying going on in calling the non-mutating methods |
|
I'm also happy to just leave this as is for now and leave that for later |
|
Well, I do feel uncomfortable about it myself. It does seem like a major annoyance that there would be an unnecessary copy in what will probably be the most called method for computing the SVD decomposition. |
No description provided.