rluce / tlcomp

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

Allow control for truncation level #2

Open rluce opened 6 years ago

rluce commented 6 years ago

The displacement rank of a TL matrix A is the rank of its displacement D(A). Currently, whenever computations with the generator D(A) = G*B' are carried out, we compress G,B back to its numerical rank, essentially determined by Matlab's default rank tolerance.

It can be shown that the truncation error in the generator is amplified only by |A|, so that when the generator is truncated to some larger tolerance, the matrix it represents still is close to A. Thus it would be nice to give the user control of the truncation tolerance, say, in the constructor

T = TLMat(G, B, 'eps_trunc', tol)

or even letting her or him control it on the fly

T.set_eps_trunc(new_tol).

The latter makes a lot of sense in an iterative approximation scheme, where the initial accuracy of the approximants are quite bad anyway.