SpecialMatrices.jl
SpecialMatrices.jl copied to clipboard
Added Kronecker product
Lazy Kronecker product that exploits Linear Algebra properties
@pitsianis thanks for the PR. There is a mature and well-maintained package that provides Lazy Kronecker already: https://github.com/MichielStock/Kronecker.jl Personally I think it would preferable for any new Kronecker features to go there, but I'm happy to discuss. Does your code have any features that aren't there? And do you have any reasons for why they belong here rather than there?
I believe that special matrices should live under the same module (including Toeplitz/Hankel and the transform matrices Discrete Fourier, Haar, etc.). What is your opinion on this?
I like the systematic and straightforward way SpecialMatrices.jl deals with the different matrices in a unifying way. So adding the KP was my exercise to get familiar with it. I did not search for other implementations, so I was unaware of Kronecker.jl, which appears to be well attended.
Any good features from this PR can be easily incorporated into Kronecker.jl.
should live under the same module
Having lots of things in one module can lead to slow compiling. Housing them under the umbrella organization of https://github.com/JuliaMatrices seems to be the way it is going. It would be logical for Kronecker.jl to be in that organization too, but that is up to its maintainers to decide. Feel free to suggest it to them!
I'm closing this PR since the capabilities already seem to be there in Kronecker.jl. Please feel free to reopen if there is something missing there that should be here instead of there...