Polylib.h
1 #ifndef H_PLYLIB
2 
3 #include <LibUtilitiesDeclspec.h>
4 
5 /*
6  * LIBRARY ROUTINES FOR POLYNOMIAL CALCULUS AND INTERPOLATION
7  */
8 
12 namespace Polylib {
13 
110  /*-----------------------------------------------------------------------
111  M A I N R O U T I N E S
112  -----------------------------------------------------------------------*/
113 
114  /* Points and weights */
115  LIB_UTILITIES_EXPORT void zwgj (double *, double *, const int , const double, const double);
116  LIB_UTILITIES_EXPORT void zwgrjm (double *, double *, const int , const double, const double);
117  LIB_UTILITIES_EXPORT void zwgrjp (double *, double *, const int , const double, const double);
118  LIB_UTILITIES_EXPORT void zwglj (double *, double *, const int , const double, const double);
119  LIB_UTILITIES_EXPORT void zwgk (double *, double *, const int , const double, const double);
120  LIB_UTILITIES_EXPORT void zwrk (double *, double *, const int , const double, const double);
121  LIB_UTILITIES_EXPORT void zwlk (double *, double *, const int , const double, const double);
122  LIB_UTILITIES_EXPORT void JacZeros(const int, double *, double*, const double,const double);
123 
124 
125  /* Derivative operators */
126  LIB_UTILITIES_EXPORT void Dgj (double *, const double *, const int, const double,
127  const double);
128  LIB_UTILITIES_EXPORT void Dgrjm (double *, const double *, const int, const double,
129  const double);
130  LIB_UTILITIES_EXPORT void Dgrjp (double *, const double *, const int, const double,
131  const double);
132  LIB_UTILITIES_EXPORT void Dglj (double *,const double *, const int, const double,
133  const double);
134 
135  /* Lagrangian interpolants */
136  LIB_UTILITIES_EXPORT double hgj (const int, const double, const double *, const int,
137  const double, const double);
138  LIB_UTILITIES_EXPORT double hgrjm (const int, const double, const double *, const int,
139  const double, const double);
140  LIB_UTILITIES_EXPORT double hgrjp (const int, const double, const double *, const int,
141  const double, const double);
142  LIB_UTILITIES_EXPORT double hglj (const int, const double, const double *, const int,
143  const double, const double);
144 
145  /* Interpolation operators */
146  LIB_UTILITIES_EXPORT void Imgj (double*, const double*, const double*, const int, const int,
147  const double, const double);
148  LIB_UTILITIES_EXPORT void Imgrjm(double*, const double*, const double*, const int, const int,
149  const double, const double);
150  LIB_UTILITIES_EXPORT void Imgrjp(double*, const double*, const double*, const int, const int,
151  const double, const double);
152  LIB_UTILITIES_EXPORT void Imglj (double*, const double*, const double*, const int, const int,
153  const double, const double);
154 
155  /* Polynomial functions */
156  LIB_UTILITIES_EXPORT void jacobfd (const int, const double *, double *, double *, const int ,
157  const double, const double);
158  LIB_UTILITIES_EXPORT void jacobd (const int, const double *, double *, const int ,
159  const double, const double);
160 
161 
162 
163 } // end of namespace
164 
165 
166 #define H_PLYLIB
167 #endif /* END OF POLYLIB.H DECLARATIONS */
168 
169 
170 
171 
172 
173 
174 
175 
176 
void Dgrjm(double *D, const double *z, const int np, const double alpha, const double beta)
Compute the Derivative Matrix and its transpose associated.
Definition: Polylib.cpp:1018
void Dgrjp(double *D, const double *z, const int np, const double alpha, const double beta)
Compute the Derivative Matrix associated with the.
Definition: Polylib.cpp:1116
void zwglj(double *z, double *w, const int np, const double alpha, const double beta)
Gauss-Lobatto-Jacobi zeros and weights with end point at z=-1,1.
Definition: Polylib.cpp:306
void zwlk(double *z, double *w, const int npt, const double alpha, const double beta)
Gauss-Lobatto-Kronrod-Jacobi zeros and weights.
Definition: Polylib.cpp:706
void Imglj(double *im, const double *zglj, const double *zm, const int nz, const int mz, const double alpha, const double beta)
Interpolation Operator from Gauss-Lobatto-Jacobi points.
Definition: Polylib.cpp:1832
void Imgrjp(double *im, const double *zgrj, const double *zm, const int nz, const int mz, const double alpha, const double beta)
Interpolation Operator from Gauss-Radau-Jacobi points.
Definition: Polylib.cpp:1770
void JacZeros(const int n, double *a, double *b, const double alpha, const double beta)
Zero and Weight determination through the eigenvalues and eigenvectors of a tridiagonal.
Definition: Polylib.cpp:2384
void jacobd(const int np, const double *z, double *polyd, const int n, const double alpha, const double beta)
Calculate the derivative of Jacobi polynomials.
Definition: Polylib.cpp:2146
double hgj(const int i, const double z, const double *zgj, const int np, const double alpha, const double beta)
Compute the value of the i th Lagrangian interpolant through.
Definition: Polylib.cpp:1340
void zwgk(double *z, double *w, const int npt, const double alpha, const double beta)
Gauss-Kronrod-Jacobi zeros and weights.
Definition: Polylib.cpp:380
double hgrjp(const int i, const double z, const double *zgrj, const int np, const double alpha, const double beta)
Compute the value of the i th Lagrangian interpolant through the.
Definition: Polylib.cpp:1500
double hglj(const int i, const double z, const double *zglj, const int np, const double alpha, const double beta)
Compute the value of the i th Lagrangian interpolant through the.
Definition: Polylib.cpp:1584
void zwgj(double *z, double *w, const int np, const double alpha, const double beta)
Gauss-Jacobi zeros and weights.
Definition: Polylib.cpp:102
void Imgrjm(double *im, const double *zgrj, const double *zm, const int nz, const int mz, const double alpha, const double beta)
Interpolation Operator from Gauss-Radau-Jacobi points.
Definition: Polylib.cpp:1710
void zwgrjp(double *z, double *w, const int np, const double alpha, const double beta)
Gauss-Radau-Jacobi zeros and weights with end point at z=1.
Definition: Polylib.cpp:234
void Dglj(double *D, const double *z, const int np, const double alpha, const double beta)
Compute the Derivative Matrix associated with the.
Definition: Polylib.cpp:1216
void Dgj(double *D, const double *z, const int np, const double alpha, const double beta)
Compute the Derivative Matrix and its transpose associated.
Definition: Polylib.cpp:932
void zwrk(double *z, double *w, const int npt, const double alpha, const double beta)
Gauss-Radau-Kronrod-Jacobi zeros and weights.
Definition: Polylib.cpp:514
double hgrjm(const int i, const double z, const double *zgrj, const int np, const double alpha, const double beta)
Compute the value of the i th Lagrangian interpolant through the.
Definition: Polylib.cpp:1416
void Imgj(double *im, const double *zgj, const double *zm, const int nz, const int mz, const double alpha, const double beta)
Interpolation Operator from Gauss-Jacobi points to an.
Definition: Polylib.cpp:1652
void zwgrjm(double *z, double *w, const int np, const double alpha, const double beta)
Gauss-Radau-Jacobi zeros and weights with end point at z=-1.
Definition: Polylib.cpp:158
void jacobfd(const int np, const double *z, double *poly_in, double *polyd, const int n, const double alpha, const double beta)
Routine to calculate Jacobi polynomials, , and their first derivative, .
Definition: Polylib.cpp:1946
The namespace associated with the the Polylib library (Polylib introduction)
Definition: Polylib.cpp:26