22 template <
int deriv,
class BasisFactory,
class Pr
intField,GeometryType::Id geometryId>
24 typename BasisFactory::Object &basis)
26 typedef typename BasisFactory::Object Basis;
27 const int dimension = Basis::dimension;
30 typedef typename BasisFactory::template EvaluationBasisFactory<dimension,Field>::Type
32 typedef typename MIBasisFactory::Object MIBasis;
33 typedef typename Basis::CoefficientMatrix CMatrix;
36 MIBasis *miBasis = MIBasisFactory::template create<geometryId>( basis.basis().order());
37 PrintBasis printBasis(*miBasis,basis.matrix(),basis.size());
39 unsigned int size = printBasis.size();
41 out <<
"% Number of base functions: " << size << std::endl;
42 out <<
"% Derivative order: " << deriv << std::endl;
44 std::vector< FieldVector<
45 FieldVector<Field,LFETensor<Field,dimension,deriv>::size>,
46 PrintBasis::dimRange> > y( size );
48 FieldVector< Field, dimension > x;
49 for(
int i = 0; i < dimension; ++i )
51 printBasis.template evaluateSingle<deriv>( x, y );
52 for (
unsigned int i=0; i<size; ++i)
54 out <<
"$\\varphi_" << i <<
"(a,b,c)$&$=$&$" << std::endl;
56 for (
unsigned int r=0; r<PrintBasis::dimRange; ++r)
57 out << y[i][r] << (r<PrintBasis::dimRange-1 ?
" , $ \\\\ && $" :
" )$ \\\\");
60 MIBasisFactory::release(miBasis);
63 template <
int deriv,
class BasisFactory,
class Pr
intField=
typename BasisFactory::StorageField>
65 typename BasisFactory::Key &key)
67 typename BasisFactory::Object *basis = BasisFactory::create(key);
68 basisPrint<deriv,BasisFactory,PrintField>(out,*basis);
69 BasisFactory::release(basis);
Definition: bdfmcube.hh:18
void basisPrint(std::ostream &out, typename BasisFactory::Object &basis)
Definition: basisprint.hh:23
Definition: multiindex.hh:37
Definition: polynomialbasis.hh:65