Stokhos
Development
|
Class to store coefficients of a projection onto an orthogonal polynomial basis. More...
#include <Stokhos_OrthogPolyApprox.hpp>
Public Types | |
typedef storage_type::reference | reference |
typedef storage_type::const_reference | const_reference |
typedef storage_type::pointer | pointer |
typedef storage_type::const_pointer | const_pointer |
Public Member Functions | |
OrthogPolyApprox (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > &basis=Teuchos::null, ordinal_type sz=0, const value_type *vals=NULL) | |
Constructor with supplied size sz . More... | |
OrthogPolyApprox (const OrthogPolyApprox &x) | |
Copy constructor. | |
~OrthogPolyApprox () | |
Destructor. | |
OrthogPolyApprox & | operator= (const OrthogPolyApprox &x) |
Assignment operator (deep copy) | |
OrthogPolyApprox & | operator= (const value_type &v) |
Assignment operator with scalar. | |
void | init (const value_type &v) |
Initialize coefficients to value. | |
void | init (const value_type *v) |
Initialize coefficients to an array of values. | |
template<typename S > | |
void | init (const OrthogPolyApprox< ordinal_type, value_type, S > &v) |
Initialize coefficients from an OrthogPolyApprox with different storage. | |
void | load (value_type *v) |
Load coefficients to an array of values. | |
template<typename S > | |
void | load (OrthogPolyApprox< ordinal_type, value_type, S > &v) |
Load coefficients into an OrthogPolyApprox with different storage. | |
Teuchos::RCP< const Stokhos::OrthogPolyBasis < ordinal_type, value_type > > | basis () const |
Return basis. | |
void | reset (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > &new_basis, ordinal_type sz=0) |
Reset to a new basis. More... | |
void | resize (ordinal_type sz) |
Resize coefficient array (coefficients are preserved) | |
ordinal_type | size () const |
Return size. | |
pointer | coeff () |
Return coefficient array. | |
const_pointer | coeff () const |
Return coefficient array. | |
reference | operator[] (ordinal_type i) |
Array access. | |
const_reference | operator[] (ordinal_type i) const |
Array access. | |
reference | term (ordinal_type dimension, ordinal_type order) |
Get coefficient term for given dimension and order. | |
const_reference | term (ordinal_type dimension, ordinal_type order) const |
Get coefficient term for given dimension and order. | |
const MultiIndex< ordinal_type > & | order (ordinal_type term) const |
Get orders for a given term. | |
value_type | evaluate (const Teuchos::Array< value_type > &point) const |
Evaluate polynomial approximation at a point. | |
value_type | evaluate (const Teuchos::Array< value_type > &point, const Teuchos::Array< value_type > &basis_vals) const |
Evaluate polynomial approximation at a point with supplied basis values. | |
value_type | mean () const |
Compute mean of expansion. | |
value_type | standard_deviation () const |
Compute standard deviation of expansion. | |
value_type | two_norm () const |
Compute the two-norm of expansion. | |
value_type | two_norm_squared () const |
Compute the squared two-norm of expansion. | |
value_type | inner_product (const OrthogPolyApprox &b) const |
Compute the L2 inner product of 2 PCEs. | |
std::ostream & | print (std::ostream &os) const |
Print approximation in basis. | |
Protected Attributes | |
Teuchos::RCP< const Stokhos::OrthogPolyBasis < ordinal_type, value_type > > | basis_ |
Basis expansion is relative to. | |
storage_type | coeff_ |
OrthogPolyApprox coefficients. | |
Class to store coefficients of a projection onto an orthogonal polynomial basis.
Stokhos::OrthogPolyApprox< ordinal_type, value_type, storage_type >::OrthogPolyApprox | ( | const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > & | basis = Teuchos::null , |
ordinal_type | sz = 0 , |
||
const value_type * | vals = NULL |
||
) |
Constructor with supplied size sz
.
Normally sz
should equal the basis size, however this is not enforced since other situations can arise, e.g., using a size of 1 for a constant expansion. If sz
= 0, it is computed from the basis size (and is 1 if basis
is null).
References Stokhos::OrthogPolyApprox< ordinal_type, value_type, storage_type >::coeff_.
void Stokhos::OrthogPolyApprox< ordinal_type, value_type, storage_type >::reset | ( | const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > & | new_basis, |
ordinal_type | sz = 0 |
||
) |
Reset to a new basis.
This resizes array to fit new basis. Coefficients are preserved.