rluce / tlcomp

Computing with Toeplitz and Toeplitz-like matrices in Matlab
MIT License
1 stars 0 forks source link

Extend toeplksolvetoeplk to accept all combinations of ctransposed operands #7

Open rluce opened 6 years ago

rluce commented 6 years ago

The function |toeplksolvetoeplk| currently computes inv(TL1) * TL2, and this is used in both |mrdivide| and |mldivide| in |ToepMat|. However, the current implementation needs to transpose a lot, e.g.,

TL1 / TL2 = (TL2' \ TL1' )'

which makes generators unneccessarily long, and introduces additional roundoff from the explicit ctransposes involved.

Instead |toeplksolvetoeplk| could be extended so that both operands are used implicitly as ctransposed quantities. This change entails that the matrices involved need to be represented as Zp/Zm or Zm/Zp low-drank, which requires some carful thoughts upfront. One can draw, however, from the already existing functionality in |toeplksolve| and |toeplkmult|.