EMS-TU-Ilmenau/fastmat

Merge(Circulant, MLCirulant) and Merge(Toeplitz, MLToeplitz)

ChristophWWagner opened this issue · 2 comments

As both effectively already share most of its code there is no reason not to combine them as from a user's perspective why should it be different to instantiate a Circulant matrix with a ndarray and get something with multiple levels?

Does it actually make sense to merge MLToeplitz with Toeplitz?

The iterfaces are:

Toeplitz(vecC, vecR)
MLToeplitz(tenT)

Furthermore, MLToeplitz implicitly generates levels of square shape (we should stress this point a bit in the docs, at least with a hint) whereas Toeplitz can handle arbitrary shape.

Of course we could handle both cases transparently but then merging would not help things.

I would suggest to just merge when we can achieve a consistent interface for both, i.e. Toeplitz(tenC, tenR) and have arbitrary level-shape support for Toeplitz

Resolved in #69