|
FILTLAN
1.0a
|
#include "matkitdef.h"Go to the source code of this file.
Classes | |
| struct | IntervalOptions |
| An instance of this class, taken by GetIntervals() and PolynomialFilterInterface::setFilter(), is a collection of options to determine the intervals which decides the base filter. More... | |
| struct | PolynomialFilterInfo |
| The routine GetIntervals() returns an instance of this class, which gives the information of a polynomial filter. More... | |
| class | PolynomialFilterInterface |
| An interface to define R(S), i.e. set R and S, and compute R(S)*v, where R is the residual polynomial, S is a sparse matrix, and v is a vector. More... | |
Functions | |
| Vector | NewtonPolynomial (const Vector &x, const Vector &y) |
| Build a polynomial P(z) by Newton's divided differences and return the coefficient vector a. More... | |
| Real | NewtonPolynomialEvaluation (const Vector &a, const Vector &x, const Real z0) |
| Evaluate P(z0), i.e. the value of P(z) at z=z0, where P(z) is a Newton polynomial defined by a and x. More... | |
| Matrix | HermiteBaseFilterInChebyshevBasis (const Vector &intv, const int *HiLowFlags, mkIndex baseDeg) |
| Compute a base filter P(z) which is a continuous, piecewise polynomial P(z) expanded in a basis of ‘translated’ (i.e. scale-and-shift) Chebyshev polynomials in each interval. More... | |
| PolynomialFilterInfo | GetIntervals (Vector &intv, const Vector &frame, mkIndex polyDeg, mkIndex baseDeg, IntervalOptions &opts) |
| This routine determines the intervals (including the transition one(s)) by an interative process. More... | |
| PolynomialFilterInfo | GetIntervals (Vector &intervals, const Vector &frame, mkIndex polyDeg, mkIndex baseDeg) |
| Same as GetIntervals(), with default IntervalOptions. | |
| Vector | ExpandNewtonPolynomialInChebyshevBasis (Real aa, Real bb, const Vector &a, const Vector &x) |
| Translate the coefficients of a Newton polynomial to the coefficients in a basis of the ‘translated’ (scale-and-shift) Chebyshev polynomials. More... | |
| Real | PolynomialEvaluationInChebyshevBasis (const Vector &c, Real z0, Real aa=-1.0, Real bb=1.0) |
| Evaluate P(z) at z=z0, where P(z) is a polynomial expanded in a basis of the ‘translated’ (i.e. scale-and-shift) Chebyshev polynomials. More... | |
| Real | PiecewisePolynomialEvaluationInChebyshevBasis (const Matrix &pp, const Vector &intv, Real z0, bool basisTranslated=true) |
| Evaluate P(z) at z=z0, where P(z) is a piecewise polynomial expanded in a basis of the (optionally translated, i.e. scale-and-shift) Chebyshev polynomials for each interval. More... | |
| Real | PiecewisePolynomialInnerProductInChebyshevBasis (const Matrix &pp, const Matrix &qq, const Vector &intervalWeights) |
| Compute the weighted inner product of two piecewise polynomials expanded in a basis of ‘translated’ (i.e. scale-and-shift) Chebyshev polynomials for each interval. More... | |
| Matrix | PiecewisePolynomialInChebyshevBasisMultiplyX (const Matrix &pp, const Vector &intv) |
| compute Q(z) = z*P(z), where P(z) and Q(z) are piecewise polynomials expanded in a basis of ‘translated’ (i.e. scale-and-shift) Chebyshev polynomials for each interval. More... | |
| Matrix | FilteredConjugateResidualPolynomial (const Matrix &pp, const Vector &intv, const Vector &w, mkIndex niter) |
| This routine employs a conjugate-residual-type algorithm in polynomial space to minimize ||P(z)-Q(z)||w, where P(z), the base filter, is the input piecewise polynomial, and Q(z) is the output polynomial satisfying Q(0)==1, i.e. the constant term of Q(z) is 1. More... | |
| Vector | FilteredConjugateResidualMatrixPolynomialVectorProduct (const SparseMatrix &A, const Vector &x0, const Vector &b, const Matrix &pp, const Vector &intv, const Vector &w, mkIndex niter, Real tol=0.0) |
| This routine employs a conjugate-residual-type algorithm in polynomial space to compute x=x0+s(A)*r0 with r0=b-A*x0, such that ||1-z*s(z)-P(z)||w is minimized. More... | |
Routines for polynomial filtering used in projection-type methods for the symmetric / Hermitian eigenvalue problems.
1.8.14