heatherw3521 / structmats

Computing with Vandermonde, Toeplitz, Hankel and other matrices that have special displacement structures
MIT License
4 stars 1 forks source link

Future Goals #11

Open Levent-Batakci opened 5 months ago

Levent-Batakci commented 5 months ago

Here are some goals we set at the 4/15 meeting:

Big goal: write our own hierarchical code and build FMM

Levent-Batakci commented 5 months ago

PROGRESS:

Nearby I've added in the nearby function for Toeplitz, Hankel, and Circulant matrices. Currently, it finds the closest matrix of specified structure w.r.t the frobenius norm. It can be shown that the projection is obtained by simply averaging across the diagonals/antidiagonals/corresponding pairs of sub and super diagonals, respectively. I have yet to figure out how to find the best projections in the 2-norm.

Any kind of projection seems impossible for Vandermonde matrices, since they don't form a vector space. That being said, there are optimal Vandermonde approximants to a given matrix, at least in the Frobenius norm, but they are not unique in general, and computing them involves polynomial root-finding.

The progress on Nearby is currently on the experimental branch. (https://github.com/heatherw3521/structmats/tree/experimental)

NORMS I've added efficient 1, infinity, and frobenius norms for all of the diagonally structured matrices. The structure gives rise to very efficient computation, and interestingly, the 1 and infinity norm are always the same! The progress on these can be found in the TOEPLITZ branch, which really should be named DIAGONAL_STRUCTURE or something. I intend to merge the norms to main once I test them thoroughly. (https://github.com/heatherw3521/structmats/tree/TOEPLITZ)