18 #ifndef LIBMESH_JACOBI_POLYNOMIALS_H 19 #define LIBMESH_JACOBI_POLYNOMIALS_H 22 #include "libmesh/libmesh_common.h" 30 namespace JacobiPolynomials
50 unsigned int ab = alpha + beta;
51 unsigned int a2 = alpha * alpha;
52 unsigned int b2 = beta * beta;
55 Real p1 = (alpha + 1) + (ab + 2) * 0.5 * (x - 1);
63 p1 = (((2*i + ab + 1) *
64 ((2*i + ab + 2) * (2*i + ab) * x + a2 - b2)) * p0
65 - 2 * (i + alpha) * (i + beta) * (2*i + ab + 2) * p1) /
66 (2 * (i + 1) * (i + 1 + ab) * (2*i + ab));
77 return n == 0 ? 0 : 0.5 * (1 + alpha + beta + n) *
value(n-1, alpha+1, beta+1, x);
83 #endif // LIBMESH_JACOBI_POLYNOMIALS_H The libMesh namespace provides an interface to certain functionality in the library.
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
The Jacobi polynomial value and derivative formulas are based on the corresponding Wikipedia article ...
Real deriv(unsigned n, unsigned alpha, unsigned beta, Real x)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real