00001
00029 #ifndef POLY_H
00030 #define POLY_H
00031
00032 #include <itpp/base/vec.h>
00033
00034
00035 namespace itpp
00036 {
00037
00046 void poly(const vec &r, vec &p);
00047 inline vec poly(const vec &r) { vec temp; poly(r, temp); return temp; }
00048 void poly(const cvec &r, cvec &p);
00049 inline cvec poly(const cvec &r) { cvec temp; poly(r, temp); return temp; }
00061 void roots(const vec &p, cvec &r);
00062 inline cvec roots(const vec &p) { cvec temp; roots(p, temp); return temp; }
00063 void roots(const cvec &p, cvec &r);
00064 inline cvec roots(const cvec &p) { cvec temp; roots(p, temp); return temp; }
00080 vec polyval(const vec &p, const vec &x);
00081 cvec polyval(const vec &p, const cvec &x);
00082 cvec polyval(const cvec &p, const vec &x);
00083 cvec polyval(const cvec &p, const cvec &x);
00106 double cheb(int n, double x);
00107
00131 vec cheb(int n, const vec &x);
00132
00156 mat cheb(int n, const mat &x);
00157 }
00158
00159 #endif // #ifndef POLY_H