7 #ifndef __NODAL_BASIS__ 8 #define __NODAL_BASIS__ 15 Teuchos::RCP<Teuchos::LAPACK<int,Real> >
lapack_;
23 NodalBasis(Teuchos::RCP<Teuchos::LAPACK<int,Real> > lapack,
const int ni,
const int nq);
27 std::vector<Real>
xi_;
30 std::vector<Real>
xq_;
33 std::vector<Real>
wq_;
37 std::vector<Real>
Lp_;
49 lapack_(lapack),
ni_(ni),
nq_(nq),
xi_(
ni_,0),
xq_(
nq_,0),
wq_(
nq_,0),
L_(
ni_*
nq_,0),
Lp_(
ni_*
nq_,0)
53 std::vector<Real> ai(
ni_,0);
54 std::vector<Real> bi(
ni_,0);
55 std::vector<Real> wi(
ni_,0);
61 std::vector<Real> aq(
nq_,0);
62 std::vector<Real> bq(
nq_,0);
66 std::vector<Real> e(
ni_,0);
67 std::vector<Real> ell(nq,0);
72 for(
int i=0;i<
ni_;++i) {
76 std::copy(ell.begin(),ell.end(),
L_.begin()+i*
nq_);
80 std::copy(ell.begin(),ell.end(),
Lp_.begin()+i*
nq_);
83 std::fill(e.begin(),e.end(),0);
void gauss(Teuchos::RCP< Teuchos::LAPACK< int, Real > > lapack, const std::vector< Real > &a, const std::vector< Real > &b, std::vector< Real > &x, std::vector< Real > &w)
Compute the Gauss quadrature nodes and weights for the polynomials generated by the recurrence coeffi...
void rec_jacobi(Teuchos::RCP< Teuchos::LAPACK< int, Real > > lapack, const double alpha, const double beta, std::vector< Real > &a, std::vector< Real > &b)
Generate the Jacobi polynomial recursion coeffcients .
NodalBasis(Teuchos::RCP< Teuchos::LAPACK< int, Real > > lapack, const int ni, const int nq)
Set up quantities we will need repeatedly.
void rec_lobatto(Teuchos::RCP< Teuchos::LAPACK< int, Real > > const lapack, const double xl1, const double xl2, std::vector< Real > &a, std::vector< Real > &b)
Modify the given recurrence coefficients so that the set of zeros of the maximal order polynomial inc...
Teuchos::RCP< Teuchos::LAPACK< int, Real > > lapack_
Teuchos::RCP< Lagrange< Real > > lagrange_
Object for working with Lagrange polynomials and their derivatives.