Open MikaelSlevinsky opened 9 years ago
Also with roots, it would be possible to override division (/).
A basic routine is now implemented via @1fa0a20eb3a4dde5bdb1f814. This now allows for:
using SincFun
f(x) = exp(x)*cospi(5x)/(1+x^2); sf = sincfun(f)
roots(sf)
norm(sf[roots(sf)])
From what I understand, I will divide the Lawrence algorithm into two steps:
It turns out that, so far as I understand it, Lawrence's Algorithm 1. leads to a significant loss in the orthogonality of the vectors q, affecting the roots. Will investigate the second approach based on Givens rotations.
Calculating roots leads to the ability to find max, min, and inf- and 1-norms. This can be done in O(n^2) complexity via the algorithm in http://epubs.siam.org/doi/abs/10.1137/130904508 since the roots of a sincfun in barycentric form are the same as the barycentric polynomial. (The other part is just a double exponential envelope.) Additionally, something similar could be used to calculate the barycentric form's poles.