Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
Stokhos::ReducedQuadratureFactory< ordinal_type, value_type > Class Template Reference

Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions. More...

#include <Stokhos_ReducedQuadratureFactory.hpp>

Public Member Functions

 ReducedQuadratureFactory (const Teuchos::ParameterList &params)
 Constructor.
 
virtual ~ReducedQuadratureFactory ()
 Destructor.
 
virtual Teuchos::RCP< const Stokhos::UserDefinedQuadrature< ordinal_type, value_type > > createReducedQuadrature (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &Q, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &Q2, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &F, const Teuchos::Array< value_type > &weights) const
 Get reduced quadrature object.
 

Protected Member Functions

void reducedQuadrature_Q_Squared (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &Q, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &F, const Teuchos::Array< value_type > &weights, Teuchos::RCP< Teuchos::Array< value_type > > &red_weights, Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &red_points, Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &red_values) const
 
void reducedQuadrature_Q_Squared_CPQR (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &Q, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &F, const Teuchos::Array< value_type > &weights, Teuchos::RCP< Teuchos::Array< value_type > > &red_weights, Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &red_points, Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &red_values) const
 
void reducedQuadrature_Q_Squared_CPQR2 (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &Q, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &F, const Teuchos::Array< value_type > &weights, Teuchos::RCP< Teuchos::Array< value_type > > &red_weights, Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &red_points, Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &red_values) const
 
void reducedQuadrature_Q2 (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &Q, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &Q2, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &F, const Teuchos::Array< value_type > &weights, Teuchos::RCP< Teuchos::Array< value_type > > &red_weights, Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &red_points, Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &red_values) const
 
void reducedQuadrature_Q2_CPQR (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &Q, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &Q2, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &F, const Teuchos::Array< value_type > &weights, Teuchos::RCP< Teuchos::Array< value_type > > &red_weights, Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &red_points, Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &red_values) const
 
void underdetermined_solver (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &A, const Teuchos::SerialDenseVector< ordinal_type, value_type > &b, Teuchos::SerialDenseVector< ordinal_type, value_type > &x, Teuchos::ETransp transa, Teuchos::EUplo uplo) const
 
void solver_TRSM (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &A, const Teuchos::SerialDenseVector< ordinal_type, value_type > &b, Teuchos::SerialDenseVector< ordinal_type, value_type > &x, Teuchos::ETransp transa, Teuchos::EUplo uplo) const
 
void solver_GLPK (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &A, const Teuchos::SerialDenseVector< ordinal_type, value_type > &b, Teuchos::SerialDenseVector< ordinal_type, value_type > &x, Teuchos::ETransp transa, Teuchos::EUplo uplo) const
 
void solver_CLP (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &A, const Teuchos::SerialDenseVector< ordinal_type, value_type > &b, Teuchos::SerialDenseVector< ordinal_type, value_type > &x, Teuchos::ETransp transa, Teuchos::EUplo uplo) const
 
void solver_CLP_IP (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &A, const Teuchos::SerialDenseVector< ordinal_type, value_type > &b, Teuchos::SerialDenseVector< ordinal_type, value_type > &x, Teuchos::ETransp transa, Teuchos::EUplo uplo) const
 
void solver_qpOASES (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &A, const Teuchos::SerialDenseVector< ordinal_type, value_type > &b, Teuchos::SerialDenseVector< ordinal_type, value_type > &x, Teuchos::ETransp transa, Teuchos::EUplo uplo) const
 
void solver_CompressedSensing (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &A, const Teuchos::SerialDenseVector< ordinal_type, value_type > &b, Teuchos::SerialDenseVector< ordinal_type, value_type > &x, Teuchos::ETransp transa, Teuchos::EUplo uplo) const
 
ordinal_type computeRank (const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &R, const value_type tol) const
 
ordinal_type n_choose_k (const ordinal_type &n, const ordinal_type &k) const
 Compute bionomial coefficient (n ; k) = n!/( k! (n-k)! )
 

Protected Attributes

Teuchos::ParameterList params
 Algorithm parameters.
 
std::string reduction_method
 Reduction method.
 
std::string solver_method
 Underdetermined solver method.
 
bool eliminate_dependent_rows
 Whether to eliminate dependent rows in constraints.
 
bool verbose
 Whether to print a bunch of stuff out.
 
value_type reduction_tol
 Dimension reduction tolerance.
 
value_type objective_value
 Value used in LP-based objective function.
 
Teuchos::LAPACK< ordinal_type, value_type > lapack
 
Teuchos::BLAS< ordinal_type, value_type > blas
 

Private Member Functions

 ReducedQuadratureFactory (const ReducedQuadratureFactory &)
 
ReducedQuadratureFactoryoperator= (const ReducedQuadratureFactory &)
 

Detailed Description

template<typename ordinal_type, typename value_type>
class Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >

Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions.

Given the PCE expansions, first build a non-orthogonal monomial basis.
Orthogonalize this basis using Gram-Schmidt, then build a quadrature rule using the simplex method.

Definition at line 65 of file Stokhos_ReducedQuadratureFactory.hpp.

Constructor & Destructor Documentation

◆ ReducedQuadratureFactory() [1/2]

template<typename ordinal_type , typename value_type >
Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::ReducedQuadratureFactory ( const Teuchos::ParameterList &  params)

Constructor.

Parameters
paramsParameter dictating choice of reduction method

Definition at line 70 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ ~ReducedQuadratureFactory()

template<typename ordinal_type , typename value_type >
virtual Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::~ReducedQuadratureFactory ( )
inlinevirtual

Destructor.

Definition at line 75 of file Stokhos_ReducedQuadratureFactory.hpp.

◆ ReducedQuadratureFactory() [2/2]

template<typename ordinal_type , typename value_type >
Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::ReducedQuadratureFactory ( const ReducedQuadratureFactory< ordinal_type, value_type > &  )
private

Member Function Documentation

◆ createReducedQuadrature()

template<typename ordinal_type , typename value_type >
Teuchos::RCP< const Stokhos::UserDefinedQuadrature< ordinal_type, value_type > > Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::createReducedQuadrature ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  Q,
const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  Q2,
const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  F,
const Teuchos::Array< value_type > &  weights 
) const
virtual

Get reduced quadrature object.

Definition at line 85 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ reducedQuadrature_Q_Squared()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::reducedQuadrature_Q_Squared ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  Q,
const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  F,
const Teuchos::Array< value_type > &  weights,
Teuchos::RCP< Teuchos::Array< value_type > > &  red_weights,
Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &  red_points,
Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &  red_values 
) const
protected

Definition at line 159 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ reducedQuadrature_Q_Squared_CPQR()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::reducedQuadrature_Q_Squared_CPQR ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  Q,
const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  F,
const Teuchos::Array< value_type > &  weights,
Teuchos::RCP< Teuchos::Array< value_type > > &  red_weights,
Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &  red_points,
Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &  red_values 
) const
protected

Definition at line 265 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ reducedQuadrature_Q_Squared_CPQR2()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::reducedQuadrature_Q_Squared_CPQR2 ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  Q,
const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  F,
const Teuchos::Array< value_type > &  weights,
Teuchos::RCP< Teuchos::Array< value_type > > &  red_weights,
Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &  red_points,
Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &  red_values 
) const
protected

Definition at line 394 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ reducedQuadrature_Q2()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::reducedQuadrature_Q2 ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  Q,
const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  Q2,
const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  F,
const Teuchos::Array< value_type > &  weights,
Teuchos::RCP< Teuchos::Array< value_type > > &  red_weights,
Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &  red_points,
Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &  red_values 
) const
protected

Definition at line 547 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ reducedQuadrature_Q2_CPQR()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::reducedQuadrature_Q2_CPQR ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  Q,
const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  Q2,
const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  F,
const Teuchos::Array< value_type > &  weights,
Teuchos::RCP< Teuchos::Array< value_type > > &  red_weights,
Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &  red_points,
Teuchos::RCP< Teuchos::Array< Teuchos::Array< value_type > > > &  red_values 
) const
protected

Definition at line 642 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ underdetermined_solver()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::underdetermined_solver ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  A,
const Teuchos::SerialDenseVector< ordinal_type, value_type > &  b,
Teuchos::SerialDenseVector< ordinal_type, value_type > &  x,
Teuchos::ETransp  transa,
Teuchos::EUplo  uplo 
) const
protected

Definition at line 761 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ solver_TRSM()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::solver_TRSM ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  A,
const Teuchos::SerialDenseVector< ordinal_type, value_type > &  b,
Teuchos::SerialDenseVector< ordinal_type, value_type > &  x,
Teuchos::ETransp  transa,
Teuchos::EUplo  uplo 
) const
protected

Definition at line 788 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ solver_GLPK()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::solver_GLPK ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  A,
const Teuchos::SerialDenseVector< ordinal_type, value_type > &  b,
Teuchos::SerialDenseVector< ordinal_type, value_type > &  x,
Teuchos::ETransp  transa,
Teuchos::EUplo  uplo 
) const
protected

Definition at line 822 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ solver_CLP()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::solver_CLP ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  A,
const Teuchos::SerialDenseVector< ordinal_type, value_type > &  b,
Teuchos::SerialDenseVector< ordinal_type, value_type > &  x,
Teuchos::ETransp  transa,
Teuchos::EUplo  uplo 
) const
protected

Definition at line 942 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ solver_CLP_IP()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::solver_CLP_IP ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  A,
const Teuchos::SerialDenseVector< ordinal_type, value_type > &  b,
Teuchos::SerialDenseVector< ordinal_type, value_type > &  x,
Teuchos::ETransp  transa,
Teuchos::EUplo  uplo 
) const
protected

Definition at line 1049 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ solver_qpOASES()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::solver_qpOASES ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  A,
const Teuchos::SerialDenseVector< ordinal_type, value_type > &  b,
Teuchos::SerialDenseVector< ordinal_type, value_type > &  x,
Teuchos::ETransp  transa,
Teuchos::EUplo  uplo 
) const
protected

Definition at line 1156 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ solver_CompressedSensing()

template<typename ordinal_type , typename value_type >
void Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::solver_CompressedSensing ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  A,
const Teuchos::SerialDenseVector< ordinal_type, value_type > &  b,
Teuchos::SerialDenseVector< ordinal_type, value_type > &  x,
Teuchos::ETransp  transa,
Teuchos::EUplo  uplo 
) const
protected

Definition at line 1230 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ computeRank()

template<typename ordinal_type , typename value_type >
ordinal_type Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::computeRank ( const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &  R,
const value_type  tol 
) const
protected

Definition at line 1270 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ n_choose_k()

template<typename ordinal_type , typename value_type >
ordinal_type Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::n_choose_k ( const ordinal_type &  n,
const ordinal_type &  k 
) const
protected

Compute bionomial coefficient (n ; k) = n!/( k! (n-k)! )

Definition at line 1304 of file Stokhos_ReducedQuadratureFactoryImp.hpp.

◆ operator=()

template<typename ordinal_type , typename value_type >
ReducedQuadratureFactory & Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::operator= ( const ReducedQuadratureFactory< ordinal_type, value_type > &  )
private

Member Data Documentation

◆ params

template<typename ordinal_type , typename value_type >
Teuchos::ParameterList Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::params
mutableprotected

Algorithm parameters.

Definition at line 196 of file Stokhos_ReducedQuadratureFactory.hpp.

◆ reduction_method

template<typename ordinal_type , typename value_type >
std::string Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::reduction_method
protected

Reduction method.

Definition at line 199 of file Stokhos_ReducedQuadratureFactory.hpp.

◆ solver_method

template<typename ordinal_type , typename value_type >
std::string Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::solver_method
protected

Underdetermined solver method.

Definition at line 202 of file Stokhos_ReducedQuadratureFactory.hpp.

◆ eliminate_dependent_rows

template<typename ordinal_type , typename value_type >
bool Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::eliminate_dependent_rows
protected

Whether to eliminate dependent rows in constraints.

Definition at line 205 of file Stokhos_ReducedQuadratureFactory.hpp.

◆ verbose

template<typename ordinal_type , typename value_type >
bool Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::verbose
protected

Whether to print a bunch of stuff out.

Definition at line 208 of file Stokhos_ReducedQuadratureFactory.hpp.

◆ reduction_tol

template<typename ordinal_type , typename value_type >
value_type Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::reduction_tol
protected

Dimension reduction tolerance.

Definition at line 211 of file Stokhos_ReducedQuadratureFactory.hpp.

◆ objective_value

template<typename ordinal_type , typename value_type >
value_type Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::objective_value
protected

Value used in LP-based objective function.

Definition at line 214 of file Stokhos_ReducedQuadratureFactory.hpp.

◆ lapack

template<typename ordinal_type , typename value_type >
Teuchos::LAPACK<ordinal_type,value_type> Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::lapack
protected

Definition at line 216 of file Stokhos_ReducedQuadratureFactory.hpp.

◆ blas

template<typename ordinal_type , typename value_type >
Teuchos::BLAS<ordinal_type,value_type> Stokhos::ReducedQuadratureFactory< ordinal_type, value_type >::blas
protected

Definition at line 217 of file Stokhos_ReducedQuadratureFactory.hpp.


The documentation for this class was generated from the following files: