|
Intrepid2
|
Classes | |
| struct | Cubature |
| Gauss-Jacobi/Gauss-Radau-Jacobi/Gauss-Lobatto zeros and weights. More... | |
| struct | Derivative |
| Compute the Derivative Matrix and its transpose associated with the Gauss-Jacobi/Gauss-Radau-Jacobi/Gauss-Lobatto-Jacobi zeros. More... | |
| struct | InterpolationOperator |
| Interpolation Operator from Gauss-Jacobi points to an arbitrary distribution at points zm. More... | |
| struct | LagrangianInterpolant |
| Compute the value of the i th Lagrangian interpolant through the np Gauss-Jacobi/Gauss-Radau-Jacobi/Gauss-Lobatto points zgj at the arbitrary location z. More... | |
Static Public Member Functions | |
| template<typename zViewType , typename wViewType > | |
| static KOKKOS_INLINE_FUNCTION void | getCubature (zViewType z, wViewType w, const ordinal_type np, const double alpha, const double beta, const EPolyType poly) |
| template<typename DViewType , typename zViewType > | |
| static KOKKOS_INLINE_FUNCTION void | getDerivative (DViewType D, const zViewType z, const ordinal_type np, const double alpha, const double beta, const EPolyType poly) |
| template<typename zViewType > | |
| static KOKKOS_INLINE_FUNCTION zViewType::value_type | getLagrangianInterpolant (const ordinal_type i, const typename zViewType::value_type z, const zViewType zgj, const ordinal_type np, const double alpha, const double beta, const EPolyType poly) |
| template<typename imViewType , typename zgrjViewType , typename zmViewType > | |
| static KOKKOS_INLINE_FUNCTION void | getInterpolationOperator (imViewType im, const zgrjViewType zgrj, const zmViewType zm, const ordinal_type nz, const ordinal_type mz, const double alpha, const double beta, const EPolyType poly) |
| template<typename zViewType , typename polyiViewType , typename polydViewType > | |
| static KOKKOS_INLINE_FUNCTION void | JacobiPolynomial (const ordinal_type np, const zViewType z, polyiViewType poly_in, polydViewType polyd, const ordinal_type n, const double alpha, const double beta) |
| Routine to calculate Jacobi polynomials, | |
| template<typename zViewType , typename polydViewType > | |
| static KOKKOS_INLINE_FUNCTION void | JacobiPolynomialDerivative (const ordinal_type np, const zViewType z, polydViewType polyd, const ordinal_type n, const double alpha, const double beta) |
| Calculate the derivative of Jacobi polynomials. | |
| template<typename zViewType , bool DeflationEnabled = false> | |
| static KOKKOS_INLINE_FUNCTION void | JacobiZeros (zViewType z, const ordinal_type n, const double alpha, const double beta) |
| Calculate the n zeros, z, of the Jacobi polynomial, i.e. | |
| template<typename zViewType > | |
| static KOKKOS_INLINE_FUNCTION void | JacobiZerosPolyDeflation (zViewType z, const ordinal_type n, const double alpha, const double beta) |
| template<typename aViewType > | |
| static KOKKOS_INLINE_FUNCTION void | JacobiZerosTriDiagonal (aViewType a, const ordinal_type n, const double alpha, const double beta) |
| template<typename aViewType , typename bViewType > | |
| static KOKKOS_INLINE_FUNCTION void | JacobiZeros (aViewType a, bViewType b, const ordinal_type n, const double alpha, const double beta) |
| Zero determination through the eigenvalues of a tridiagonal matrix from the three term recursion relationship. | |
| template<typename dViewType , typename eViewType > | |
| static KOKKOS_INLINE_FUNCTION void | TriQL (dViewType d, eViewType e, const ordinal_type n) |
| QL algorithm for symmetric tridiagonal matrix. | |
| static KOKKOS_INLINE_FUNCTION double | GammaFunction (const double x) |
| Calculate the Gamma function , | |
Definition at line 181 of file Intrepid2_Polylib.hpp.
|
static |
Calculate the Gamma function , 
Determine the value of 

where 
Definition at line 852 of file Intrepid2_PolylibDef.hpp.
|
inlinestatic |
Definition at line 221 of file Intrepid2_Polylib.hpp.
|
inlinestatic |
Definition at line 268 of file Intrepid2_Polylib.hpp.
|
inlinestatic |
Definition at line 421 of file Intrepid2_Polylib.hpp.
|
inlinestatic |
Definition at line 365 of file Intrepid2_Polylib.hpp.
|
static |
Routine to calculate Jacobi polynomials, 


![$ \begin{array}{rcl}
P^{\alpha,\beta}_0(z) &=& 1 \\
P^{\alpha,\beta}_1(z) &=& \frac{1}{2} [ \alpha-\beta+(\alpha+\beta+2)z] \\
a^1_n P^{\alpha,\beta}_{n+1}(z) &=& (a^2_n + a^3_n z)
P^{\alpha,\beta}_n(z) - a^4_n P^{\alpha,\beta}_{n-1}(z) \\
a^1_n &=& 2(n+1)(n+\alpha + \beta + 1)(2n + \alpha + \beta) \\
a^2_n &=& (2n + \alpha + \beta + 1)(\alpha^2 - \beta^2) \\
a^3_n &=& (2n + \alpha + \beta)(2n + \alpha + \beta + 1)
(2n + \alpha + \beta + 2) \\
a^4_n &=& 2(n+\alpha)(n+\beta)(2n + \alpha + \beta + 2)
\end{array} $](form_323.png)
![$ \begin{array}{rcl}
b^1_n(z)\frac{d}{dz} P^{\alpha,\beta}_n(z)&=&b^2_n(z)P^{\alpha,\beta}_n(z)
+ b^3_n(z) P^{\alpha,\beta}_{n-1}(z) \hspace{2.2cm} \\
b^1_n(z) &=& (2n+\alpha + \beta)(1-z^2) \\
b^2_n(z) &=& n[\alpha - \beta - (2n+\alpha + \beta)z]\\
b^3_n(z) &=& 2(n+\alpha)(n+\beta)
\end{array} $](form_324.png)
Definition at line 572 of file Intrepid2_PolylibDef.hpp.
Referenced by Intrepid2::Polynomials::legendreDerivativeValues().
|
static |
Calculate the derivative of Jacobi polynomials.



Definition at line 653 of file Intrepid2_PolylibDef.hpp.
|
static |
Zero determination through the eigenvalues of a tridiagonal matrix from the three term recursion relationship.
Set up a symmetric tridiagonal matrix
![$ \left [ \begin{array}{ccccc}
a[0] & b[0] & & & \\
b[0] & a[1] & b[1] & & \\
0 & \ddots & \ddots & \ddots & \\
& & \ddots & \ddots & b[n-2] \\
& & & b[n-2] & a[n-1] \end{array} \right ] $](form_329.png)
Where the coefficients a[n], b[n] come from the recurrence relation

where 


|
static |
Calculate the n zeros, z, of the Jacobi polynomial, i.e. 
This routine is only valid for 
Definition at line 678 of file Intrepid2_PolylibDef.hpp.
|
static |
Definition at line 692 of file Intrepid2_PolylibDef.hpp.
|
static |
Definition at line 738 of file Intrepid2_PolylibDef.hpp.
|
static |
QL algorithm for symmetric tridiagonal matrix.
This subroutine is a translation of an algol procedure, num. math. 12, 377-383(1968) by martin and wilkinson, as modified in num. math. 15, 450(1970) by dubrulle. Handbook for auto. comp., vol.ii-linear algebra, 241-248(1971). This is a modified version from numerical recipes.
This subroutine finds the eigenvalues and first components of the eigenvectors of a symmetric tridiagonal matrix by the implicit QL method.
on input:
on output:
Definition at line 782 of file Intrepid2_PolylibDef.hpp.