Stokhos  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Namespaces | Classes | Enumerations | Functions
Stokhos Namespace Reference

Top-level namespace for Stokhos classes and functions. More...

Namespaces

 KL
 Namespace for analytic KL expansions.
 

Classes

class  AbstractPreconditionerFactory
 An abstract class to represent a generic preconditioner factory. More...
 
class  AdaptivityManager
 
class  ApproxGaussSeidelPreconditioner
 A stochastic preconditioner based on applying one iteration of approximate Gauss-Seidel. More...
 
class  ApproxJacobiPreconditioner
 A stochastic preconditioner based on applying two iterations of approximate Jacobi. More...
 
class  ApproxSchurComplementPreconditioner
 A stochastic preconditioner based on applying the approximate Schur complement preconditioner as defined by Sousedik, Ghanem, and Phipps, Numerical Linear Algebra and Applications, 2012. More...
 
class  BasisInteractionGraph
 
class  BlockDiagonalOperator
 An Epetra operator representing the block stochastic Galerkin operator. More...
 
class  DiagEpetraOp
 An Epetra operator representing the block stochastic Galerkin operator. More...
 
class  EpetraMultiVectorOperator
 An adaptor that supplies the operator interface to a multi-vector. More...
 
class  EpetraMultiVectorOperatorOrthogPoly
 A container class storing an orthogonal polynomial whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor. More...
 
class  EpetraMultiVectorOrthogPoly
 A container class storing an orthogonal polynomial whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor. More...
 
class  EpetraOperatorOrthogPoly
 A container class storing an orthogonal polynomial whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor. More...
 
class  EpetraSparse3Tensor
 
class  EpetraVectorOrthogPoly
 A container class storing an orthogonal polynomial whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor. More...
 
class  FullyAssembledOperator
 An Epetra operator representing the block stochastic Galerkin operator generated by fully assembling the matrix. More...
 
class  FullyAssembledPreconditioner
 A stochastic preconditioner based on applying a preconditioner to the fully assembled operator. More...
 
class  IfpackPreconditionerFactory
 A factory for building Ifpack preconditioners. More...
 
class  InterlacedOperator
 An Epetra operator representing the block stochastic Galerkin operator generated by fully assembling the matrix. The ordering of this operator is interlaced. That means that all stochastic degrees of freedom associated with a deterministic degree of freedom are interlaced. The result is a large sparse matrix that is composed of small (relatively) dense blocks. More...
 
class  KLMatrixFreeOperator
 An Epetra operator representing the block stochastic Galerkin operator. More...
 
class  KLReducedMatrixFreeOperator
 An Epetra operator representing the block stochastic Galerkin operator. More...
 
class  KroneckerProductPreconditioner
 An Epetra operator representing applying the mean in a block stochastic Galerkin expansion. More...
 
class  MatrixFreeOperator
 An Epetra operator representing the block stochastic Galerkin operator. More...
 
class  MeanBasedPreconditioner
 A stochastic preconditioner based on applying the inverse of the mean. More...
 
class  MLPreconditionerFactory
 A factory for building ML preconditioners. More...
 
class  MPBlockDiagonalPreconditioner
 A multi-point preconditioner based on applying the inverse of the diagonal. More...
 
class  MPInverseModelEvaluator
 Nonlinear, inverse multi-point ModelEvaluator. More...
 
class  MPMeanBasedPreconditioner
 A multi-point preconditioner based on applying the inverse of the mean. More...
 
class  MPModelEvaluator
 Multi-point model evaluator. More...
 
class  MPModelEvaluatorAdapter
 ModelEvaluator adapter that implements the multi-point evaluations through sampling. More...
 
class  MPPreconditioner
 An abstract class to represent a generic stochastic Galerkin preconditioner as an Epetra_Operator. More...
 
class  MPPreconditionerFactory
 Factory for generating stochastic Galerkin preconditioners. More...
 
class  ParallelData
 
class  PCECovarianceOp
 An Epetra operator representing the covariance operator of a polynomial chaos expansion. More...
 
class  PreconditionerFactory
 An class for building preconditioners. More...
 
class  ProductContainerTraits
 Base traits definition for ProductContainer. More...
 
class  ProductContainer
 A product (in the mathematical sense) container class whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor. More...
 
class  ProductEpetraMultiVector
 A container class storing products of Epetra_MultiVector's. More...
 
class  ProductEpetraMultiVectorOperator
 A container class for products of Epetra_Vector's. More...
 
class  ProductEpetraOperator
 A container class for products of Epetra_Vector's. More...
 
class  ProductEpetraVector
 A container class for products of Epetra_Vector's. More...
 
class  ResponseStatisticModelEvaluator
 ModelEvaluator providing statistic response functions. More...
 
class  SGInverseModelEvaluator
 Nonlinear, inverse stochastic Galerkin ModelEvaluator. More...
 
class  SGModelEvaluator
 Nonlinear, stochastic Galerkin ModelEvaluator. More...
 
class  SGModelEvaluator_Adaptive
 Nonlinear, stochastic Galerkin ModelEvaluator that constructs an adapted Jacobian. More...
 
class  SGModelEvaluator_Interlaced
 Nonlinear, stochastic Galerkin ModelEvaluator that constructs a interlaced Jacobian. More...
 
class  SGModelEvaluatorBase
 Base class for stochastic Galerkin model evaluators. More...
 
class  SGOperator
 An abstract class to represent a generic stochastic Galerkin operator as an Epetra_Operator. More...
 
class  SGOperatorFactory
 Factory for generating stochastic Galerkin preconditioners. More...
 
class  SGPreconditioner
 An abstract class to represent a generic stochastic Galerkin preconditioner as an Epetra_Operator. More...
 
class  SGPreconditionerFactory
 Factory for generating stochastic Galerkin preconditioners. More...
 
class  SGQuadModelEvaluator
 ModelEvaluator adaptor that implements the stochastic Galerkin residual and Jacobian computations using quadrature. More...
 
class  SGQuadMPModelEvaluator
 ModelEvaluator adaptor that implements the stochastic Galerkin residual and Jacobian computations using quadrature. More...
 
class  VectorOrthogPoly
 A container class storing an orthogonal polynomial whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor. More...
 
class  EpetraVectorCloner
 Cloner for Epetra_Vector coefficients. More...
 
class  EpetraMultiVectorCloner
 Cloner for Epetra_MultiVector coefficients. More...
 
class  EpetraOperatorCloner
 Cloner for Epetra_Operator coefficients. More...
 
class  EpetraCrsMatrixCloner
 Cloner for Epetra_CrsMatrix coefficients. More...
 
class  ProductContainerTraits< Epetra_Vector >
 Specialization of ProductContainerTraits to Epetra_Vector coefficients. More...
 
class  ProductContainerTraits< Epetra_MultiVector >
 Specialization of ProductContainerTraits to Epetra_MultiVector coefficients. More...
 
class  ProductContainerTraits< Epetra_CrsMatrix >
 Specialization of ProductContainerTraits to Epetra_CrsMatrix coefficients. More...
 
class  ProductContainerTraits< Epetra_Operator >
 Specialization of ProductContainerTraits to Epetra_Operator coefficients. More...
 
class  HouseTriDiagPCEBasis
 Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis. More...
 
class  MonoProjPCEBasis
 Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis. More...
 
class  Multiply< BlockCrsMatrix< BlockSpec, MatrixValue, Kokkos::Cuda >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Kokkos::Cuda > >
 
class  Multiply< BlockCrsMatrix< CooProductTensor< TensorScalar, Kokkos::Cuda, Pack >, MatrixScalar, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda > >
 
class  Multiply< BlockCrsMatrix< CrsProductTensor< TensorScalar, Kokkos::Cuda >, MatrixScalar, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda > >
 
class  DeviceProp
 
class  Multiply< BlockCrsMatrix< FlatSparse3Tensor< TensorScalar, Kokkos::Cuda >, MatrixScalar, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda > >
 
class  Multiply< BlockCrsMatrix< FlatSparse3Tensor_kji< TensorScalar, Kokkos::Cuda >, MatrixScalar, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda > >
 
class  Multiply< BlockCrsMatrix< LexicographicBlockSparse3Tensor< TensorScalar, Kokkos::Cuda >, MatrixScalar, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda > >
 
class  Multiply< BlockCrsMatrix< LinearSparse3Tensor< TensorScalar, Kokkos::Cuda, BlockSize >, MatrixScalar, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda > >
 
class  Multiply< BlockCrsMatrix< SimpleTiledCrsProductTensor< TensorScalar, Kokkos::Cuda >, MatrixScalar, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda > >
 
class  Multiply< BlockCrsMatrix< StochasticProductTensor< TensorScalar, TensorType, Kokkos::Cuda >, MatrixScalar, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda > >
 
class  BlockMultiply< SymmetricDiagonalSpec< Kokkos::Cuda > >
 
class  Multiply< BlockCrsMatrix< TiledCrsProductTensor< TensorScalar, Kokkos::Cuda >, MatrixScalar, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda > >
 
class  Multiply< BlockCrsMatrix< StochasticProductTensor< ValueType, CrsProductTensor< ValueType, Kokkos::OpenMP >, Kokkos::OpenMP >, MatrixValue, Kokkos::OpenMP >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Kokkos::OpenMP >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Kokkos::OpenMP > >
 
class  Multiply< BlockCrsMatrix< StochasticProductTensor< ValueType, CrsProductTensor< ValueType, Kokkos::Serial >, Kokkos::Serial >, MatrixValue, Kokkos::Serial >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Kokkos::Serial >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Kokkos::Serial > >
 
class  BlockCrsMatrix
 CRS matrix of dense blocks. More...
 
class  Multiply< BlockCrsMatrix< BlockSpec, MatrixValue, Device >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Device >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Device > >
 
class  CooProductTensor
 Sparse product tensor using 'COO'-like storage format. More...
 
class  CooProductTensor< ValueType, ExecutionSpace, true >
 Specialization of CooProductTensor for packed (i,j,k) More...
 
class  CooProductTensor< ValueType, ExecutionSpace, false >
 Specialization of CooProductTensor for unpacked (i,j,k) More...
 
class  BlockMultiply< CooProductTensor< ValueType, Device, Pack > >
 
struct  DeviceConfig
 
class  CrsMatrix
 CRS matrix. More...
 
class  Multiply< CrsMatrix< MatrixValue, Device, Layout >, InputVectorType, OutputVectorType, void, IntegralRank< 1 > >
 
class  Multiply< CrsMatrix< MatrixValue, Device, Layout >, InputMultiVectorType, OutputMultiVectorType, std::vector< OrdinalType >, IntegralRank< 2 > >
 
class  Multiply< CrsMatrix< MatrixValue, Device, Layout >, InputMultiVectorType, OutputMultiVectorType, void, IntegralRank< 2 > >
 
class  Multiply< CrsMatrix< MatrixValue, Device, Layout >, std::vector< InputViewType >, std::vector< OutputViewType >, void, IntegralRank< 1 > >
 
class  SingleColumnMultivectorMultiply
 
class  MatrixMarketWriter< CrsMatrix< MatrixValue, Device, Layout > >
 
class  CrsProductTensor
 Sparse product tensor with replicated entries to provide subsets with a given coordinate. More...
 
class  BlockMultiply< CrsProductTensor< ValueType, Device > >
 
class  MultiplyImpl
 
class  FlatSparse3Tensor
 Sparse product tensor with replicated entries to provide subsets with a given coordinate. More...
 
class  BlockMultiply< FlatSparse3Tensor< ValueType, Device > >
 
class  FlatSparse3Tensor_kji
 Sparse product tensor with replicated entries to provide subsets with a given coordinate. More...
 
class  BlockMultiply< FlatSparse3Tensor_kji< ValueType, Device > >
 
class  LexicographicBlockSparse3Tensor
 Sparse product tensor with replicated entries to provide subsets with a given coordinate. More...
 
class  BlockMultiply< LexicographicBlockSparse3Tensor< ValueType, Device > >
 
class  LinearSparse3Tensor
 Sparse product tensor with replicated entries to provide subsets with a given coordinate. More...
 
class  BlockMultiply< LinearSparse3Tensor< ValueType, Device, BlockSize > >
 
class  MatrixMarketWriter
 
struct  is_power_of_two
 
struct  power_of_two
 
struct  power_of_two< N, true >
 
struct  power_of_two< 2, true >
 
struct  power_of_two< 1, true >
 
class  DefaultMultiply
 
class  IntegralRank
 
struct  ViewRank
 
struct  ViewRank< std::vector< T > >
 
class  Multiply
 
class  BlockMultiply
 
class  SimpleTiledCrsProductTensor
 
class  BlockMultiply< SimpleTiledCrsProductTensor< ValueType, Device > >
 
class  StochasticProductTensor
 Bases defined by combinatorial product of polynomial bases. More...
 
class  BlockMultiply< StochasticProductTensor< ValueType, TensorType, Device > >
 
class  SymmetricDiagonalSpec
 Symmetric diagonal storage for a dense matrix. More...
 
class  BlockMultiply< SymmetricDiagonalSpec< Device > >
 
class  TiledCrsProductTensor
 
class  BlockMultiply< TiledCrsProductTensor< ValueType, Device > >
 
class  TinyVec
 
class  TinyVec< ValueType, N, UseIntrinsics, true >
 
class  Update
 
class  Multiply< BlockCrsMatrix< StochasticProductTensor< ValueType, CrsProductTensor< ValueType, Kokkos::Threads >, Kokkos::Threads >, MatrixValue, Kokkos::Threads >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Kokkos::Threads >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Kokkos::Threads > >
 
class  Multiply< KokkosSparse::CrsMatrix< const Sacado::UQ::PCE< MatrixStorage >, MatrixOrdinal, MatrixDevice, MatrixMemory, MatrixSize >, Kokkos::View< const Sacado::UQ::PCE< InputStorage > *, InputP... >, Kokkos::View< Sacado::UQ::PCE< OutputStorage > *, OutputP... > >
 
class  Multiply< KokkosSparse::CrsMatrix< const Sacado::UQ::PCE< MatrixStorage >, MatrixOrdinal, MatrixDevice, MatrixMemory, MatrixSize >, Kokkos::View< const Sacado::UQ::PCE< InputStorage > **, InputP... >, Kokkos::View< Sacado::UQ::PCE< OutputStorage > **, OutputP... > >
 
class  Multiply< KokkosSparse::CrsMatrix< Sacado::UQ::PCE< MatrixStorage >, MatrixOrdinal, MatrixDevice, MatrixMemory, MatrixSize >, Kokkos::View< const Sacado::UQ::PCE< InputStorage > *, InputP... >, Kokkos::View< Sacado::UQ::PCE< OutputStorage > *, OutputP... > >
 
class  Multiply< KokkosSparse::CrsMatrix< Sacado::UQ::PCE< MatrixStorage >, MatrixOrdinal, MatrixDevice, MatrixMemory, MatrixSize >, Kokkos::View< const Sacado::UQ::PCE< InputStorage > **, InputP... >, Kokkos::View< Sacado::UQ::PCE< OutputStorage > **, OutputP... > >
 
class  MeanMultiply
 
class  MeanMultiply< KokkosSparse::CrsMatrix< const Sacado::UQ::PCE< MatrixStorage >, MatrixOrdinal, MatrixDevice, MatrixMemory, MatrixSize >, Kokkos::View< const Sacado::UQ::PCE< InputStorage > *, InputP... >, Kokkos::View< Sacado::UQ::PCE< OutputStorage > *, OutputP... > >
 
class  MeanMultiply< KokkosSparse::CrsMatrix< const Sacado::UQ::PCE< MatrixStorage >, MatrixOrdinal, MatrixDevice, MatrixMemory, MatrixSize >, Kokkos::View< const Sacado::UQ::PCE< InputStorage > **, InputP... >, Kokkos::View< Sacado::UQ::PCE< OutputStorage > **, OutputP... > >
 
class  MeanMultiply< KokkosSparse::CrsMatrix< Sacado::UQ::PCE< MatrixStorage >, MatrixOrdinal, MatrixDevice, MatrixMemory, MatrixSize >, Kokkos::View< const Sacado::UQ::PCE< InputStorage > *, InputP... >, Kokkos::View< Sacado::UQ::PCE< OutputStorage > *, OutputP... > >
 
class  MeanMultiply< KokkosSparse::CrsMatrix< Sacado::UQ::PCE< MatrixStorage >, MatrixOrdinal, MatrixDevice, MatrixMemory, MatrixSize >, Kokkos::View< const Sacado::UQ::PCE< InputStorage > **, InputP... >, Kokkos::View< Sacado::UQ::PCE< OutputStorage > **, OutputP... > >
 
struct  DeviceForNode2
 
struct  DeviceForNode2< Tpetra::KokkosCompat::KokkosDeviceWrapperNode< ExecSpace, MemSpace > >
 
class  DynamicStorage
 
class  DynamicStridedStorage
 
class  DynamicThreadedStorage
 Dynamically allocated storage class with striding. More...
 
struct  IsScalarType2
 Base template specification for IsScalarType. More...
 
struct  IsScalarType2< float >
 
struct  IsScalarType2< double >
 
struct  IsScalarType2< int >
 
struct  IsScalarType2< long >
 
struct  DynArrayTraits
 Dynamic array allocation class that is specialized for scalar i.e., fundamental or built-in types (float, double, etc...). More...
 
struct  DynArrayTraits< T, device_t, false >
 Dynamic array allocation class that works for any type. More...
 
struct  MemoryTraits
 Traits class encapsulting memory alignment. More...
 
struct  MemoryTraits< Kokkos::HostSpace >
 Specialization of MemoryTraits for host memory spaces. More...
 
class  aligned_allocator
 An aligned STL allocator. More...
 
class  aligned_allocator< const T >
 An aligned STL allocator. More...
 
struct  StaticArrayTraits
 Static array allocation class. More...
 
struct  StaticArrayTraits< T, D, false >
 Static array allocation class that works for any type. More...
 
struct  StaticArrayTraits< T, D, true >
 Static array allocation class that is specialized for scalar i.e., fundamental or built-in types (float, double, etc...). More...
 
class  StaticFixedStorage
 Statically allocated storage class. More...
 
class  StaticStorage
 Statically allocated storage class. More...
 
class  GetMeanValsFunc
 Get mean values matrix for mean-based preconditioning. More...
 
class  GetMeanValsFunc< Kokkos::View< Sacado::UQ::PCE< Storage > *, P... > >
 Get mean values matrix for mean-based preconditioning. More...
 
class  GetMeanValsFunc< Kokkos::View< Sacado::MP::Vector< Storage > *, P... > >
 Get mean values matrix for mean-based preconditioning. More...
 
class  GetScalarMeanValsFunc
 Get mean values matrix for mean-based preconditioning. More...
 
class  GetScalarMeanValsFunc< Kokkos::View< Sacado::UQ::PCE< Storage > *, P... > >
 Get mean values matrix for mean-based preconditioning. More...
 
class  GetScalarMeanValsFunc< Kokkos::View< Sacado::MP::Vector< Storage > *, P... > >
 Get mean values matrix for mean-based preconditioning. More...
 
class  MeanBasedTpetraOperator
 
struct  error_storage_type_is_not_allocateable
 
struct  error_storage_type_is_not_resizeable
 
class  ViewStorage
 Dynamic storage with view semantics and contiguous access. More...
 
struct  is_ViewStorage
 
struct  is_ViewStorage< ViewStorage< ordinal_t, value_t, static_length, static_stride, device_t > >
 
class  Multiply< KokkosSparse::CrsMatrix< Sacado::MP::Vector< MatrixStorage >, MatrixOrdinal, MatrixDevice, MatrixMemory, MatrixSize >, Kokkos::View< const Sacado::MP::Vector< InputStorage > *, InputP... >, Kokkos::View< Sacado::MP::Vector< OutputStorage > *, OutputP... > >
 
class  Multiply< KokkosSparse::CrsMatrix< Sacado::MP::Vector< MatrixStorage >, MatrixOrdinal, MatrixDevice, MatrixMemory, MatrixSize >, Kokkos::View< const Sacado::MP::Vector< InputStorage > **, InputP... >, Kokkos::View< Sacado::MP::Vector< OutputStorage > **, OutputP... > >
 
struct  DeviceForNode
 Trait class that determines (new) Kokkos execution space type from Kokkos(Classic) Node type. More...
 
class  AlgebraicOrthogPolyExpansion
 Orthogonal polynomial expansions limited to algebraic operations. More...
 
class  AnisoSparseGridQuadrature
 Defines quadrature for a tensor product basis by anisotropic Smolyak sparse grids. More...
 
class  BasisFactory
 Factory for building multivariate orthogonal polynomial bases. More...
 
class  BlockPreconditioner
 
class  CGDivisionExpansionStrategy
 Strategy interface for computing PCE of a/b using only b[0]. More...
 
class  ClenshawCurtisLegendreBasis
 Legendre polynomial basis using Clenshaw-Curtis quadrature points. More...
 
class  CompletePolynomialBasis
 Multivariate orthogonal polynomial basis generated from a total-order complete-polynomial tensor product of univariate polynomials. More...
 
class  ConstantOrthogPolyExpansion
 Orthogonal polynomial expansion class for constant (size 1) expansions. More...
 
class  Dense3Tensor
 Data structure storing a dense 3-tensor C(i,j,k). More...
 
class  DenseDirectDivisionExpansionStrategy
 Strategy interface for computing PCE of a/b using only b[0]. More...
 
class  DerivBasis
 Abstract base class for multivariate orthogonal polynomials that support computing double and triple products involving derivatives of the basis polynomials. More...
 
class  DerivOrthogPolyExpansion
 Othogonal polynomial expansions based on derivative calculations. More...
 
class  DiagPreconditioner
 
class  DiscretizedStieltjesBasis
 Generates three-term recurrence using the Discretized Stieltjes procedure. More...
 
class  DivisionExpansionStrategy
 Strategy interface for computing PCE of a/b. More...
 
struct  IsScalarType
 Base template specification for IsScalarType. More...
 
struct  IsScalarType< float >
 
struct  IsScalarType< double >
 
struct  IsScalarType< int >
 
struct  IsScalarType< long >
 
struct  ds_array
 Dynamic array allocation class that works for any type. More...
 
struct  ds_array< T, true >
 Dynamic array allocation class that is specialized for scalar i.e., fundamental or built-in types (float, double, etc...). More...
 
class  ExpansionFactory
 Factory for building multivariate expansion strategies. More...
 
class  ForUQTKOrthogPolyExpansion
 
class  GaussPattersonLegendreBasis
 Legendre polynomial basis using Gauss-Patterson quadrature points. More...
 
class  GMRESDivisionExpansionStrategy
 Strategy interface for computing PCE of a/b using only b[0]. More...
 
class  GramSchmidtBasis
 Transforms a non-orthogonal multivariate basis to an orthogonal one using the Gram-Schmit procedure. More...
 
class  GrowthRule
 Interface for abstract growth rules. More...
 
class  IdentityGrowthRule
 A growth rule that is the identity. More...
 
class  LinearGrowthRule
 A linear growth rule. More...
 
class  EvenGrowthRule
 A growth rule that always makes the supplied order even. More...
 
class  ClenshawCurtisExponentialGrowthRule
 An exponential growth rule for Clenshaw-Curtis. More...
 
class  GaussPattersonExponentialGrowthRule
 An exponential growth rule for Gauss-Patterson. More...
 
class  GSPreconditioner
 
class  GSReducedPCEBasisBase
 Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions. More...
 
class  HermiteBasis
 Hermite polynomial basis. More...
 
class  InversePreconditioner
 
class  JacobiBasis
 Jacobi polynomial basis. More...
 
class  JacobiPreconditioner
 
class  WeightedVectorSpace
 
class  Lanczos
 Applies Lanczos procedure to a given matrix. More...
 
class  DiagonalOperator
 
class  LanczosPCEBasis
 Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis. More...
 
class  DenseOperator
 
class  LanczosProjPCEBasis
 Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis. More...
 
class  LegendreBasis
 Legendre polynomial basis. More...
 
class  LTBSparse3Tensor
 Data structure storing a sparse 3-tensor C(i,j,k) in a a tree-based format for lexicographically ordered product bases. More...
 
struct  LexicographicTreeBasisNode
 
struct  FlatLTBSparse3TensorNode
 
struct  FlatLTBSparse3Tensor
 
class  MeanBasedDivisionExpansionStrategy
 Strategy interface for computing PCE of a/b using only b[0]. More...
 
class  MonomialGramSchmidtPCEBasis
 Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions. More...
 
class  MonomialProjGramSchmidtPCEBasis
 Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions. More...
 
class  MonomialProjGramSchmidtPCEBasis2
 Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions. More...
 
class  OneDOrthogPolyBasis
 Abstract base class for 1-D orthogonal polynomials. More...
 
class  Operator
 
class  OrthogonalizationFactory
 Encapsulate various orthogonalization (ie QR) methods. More...
 
class  OrthogPolyApprox
 Class to store coefficients of a projection onto an orthogonal polynomial basis. More...
 
class  OrthogPolyBasis
 Abstract base class for multivariate orthogonal polynomials. More...
 
class  OrthogPolyExpansion
 Abstract base class for orthogonal polynomial-based expansions. More...
 
class  OrthogPolyExpansionBase
 Base class for consolidating common expansion implementations. More...
 
class  PecosOneDOrthogPolyBasis
 Implementation of OneDOrthogPolyBasis via Pecos. More...
 
class  ProductBasis
 Abstract base class for multivariate orthogonal polynomials generated from tensor products of univariate polynomials. More...
 
class  MultiIndex
 A multidimensional index. More...
 
class  TotalOrderIndexSet
 An isotropic total order index set. More...
 
class  AnisotropicTotalOrderIndexSet
 An anisotropic total order index set. More...
 
class  TensorProductIndexSet
 A tensor product index set. More...
 
class  TensorProductElement
 Container storing a term in a generalized tensor product. More...
 
class  LexographicLess
 A comparison functor implementing a strict weak ordering based lexographic ordering. More...
 
class  TotalOrderLess
 A comparison functor implementing a strict weak ordering based total-order ordering, recursive on the dimension. More...
 
class  MortonZLess
 A comparison functor implementing a strict weak ordering based Morton Z-ordering. More...
 
class  FloatingPointLess
 A functor for comparing floating-point numbers to some tolerance. More...
 
struct  TensorProductPredicate
 Predicate functor for building sparse triple products. More...
 
struct  TotalOrderPredicate
 Predicate functor for building sparse triple products based on total order. More...
 
class  ProductBasisUtils
 Utilities for indexing a multi-variate complete polynomial basis. More...
 
class  CompletePolynomialBasisUtils
 Utilities for indexing a multi-variate complete polynomial basis. More...
 
class  ProductLanczosGramSchmidtPCEBasis
 Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions. More...
 
class  ProductLanczosPCEBasis
 Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions. More...
 
struct  DefaultPointCompare
 Struct defining default point compare type. More...
 
class  PseudoSpectralOperator
 An operator interface for building pseudo-spectral approximations. More...
 
class  PseudoSpectralOperatorFactory
 Factory for building multivariate quadrature strategies. More...
 
class  PseudoSpectralOrthogPolyExpansion
 Orthogonal polynomial expansions based on numerical quadrature. More...
 
class  QuadOrthogPolyExpansion
 Orthogonal polynomial expansions based on numerical quadrature. More...
 
class  Quadrature
 Abstract base class for quadrature methods. More...
 
class  QuadratureFactory
 Factory for building multivariate quadrature strategies. More...
 
class  QuadraturePseudoSpectralOperator
 An operator for building pseudo-spectral coefficients using an arbitrary quadrature rule. More...
 
class  RecurrenceBasis
 Implementation of OneDOrthogPolyBasis based on the general three-term recurrence relationship:

\[ \gamma_{k+1}\psi_{k+1}(x) = (\delta_k x - \alpha_k)\psi_k(x) - \beta_k\psi_{k-1}(x) \]

for $k=0,\dots,P$ where $\psi_{-1}(x) = 0$, $\psi_{0}(x) = 1/\gamma_0$, and $\beta_{0} = 1 = \int d\lambda$. More...

 
class  ReducedBasisFactory
 Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions. More...
 
class  ReducedPCEBasis
 Abstract base class for reduced basis strategies built from polynomial chaos expansions in some other basis. More...
 
class  ReducedQuadratureFactory
 Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions. More...
 
class  RysBasis
 Rys polynomial basis. More...
 
class  SchurPreconditioner
 
class  SmolyakBasis
 Multivariate orthogonal polynomial basis generated from a Smolyak sparse grid. More...
 
class  SmolyakPseudoSpectralOperator
 An operator for building pseudo-spectral coefficients using a sparse Smolyak construction. More...
 
class  SmolyakSparseGridQuadrature
 Defines quadrature for a tensor product basis by Smolyak sparse grids. More...
 
class  Sparse3Tensor
 Data structure storing a sparse 3-tensor C(i,j,k) in a a compressed format. More...
 
class  RCB
 
struct  CijkData
 
class  SparseArrayIterator
 Bi-directional iterator for traversing a sparse array. More...
 
class  SparseArrayReverseIterator
 Bi-directional reverse iterator for traversing a sparse array. More...
 
struct  SparseArray
 Container for a "sparse" array. More...
 
class  SparseGridQuadrature
 Defines quadrature for a tensor product basis by Smolyak sparse grids. More...
 
class  SPDDenseDirectDivisionExpansionStrategy
 Strategy interface for computing PCE of a/b using only b[0]. More...
 
class  StandardStorage
 
class  StaticFixedStandardStorage
 Statically allocated storage class. More...
 
class  StaticStandardStorage
 Statically allocated storage class. More...
 
class  StieltjesBasis
 Generates three-term recurrence using the Discretized Stieltjes procedure applied to a functional mapping another basis. More...
 
class  StieltjesGramSchmidtBuilder
 Class for building a reduced-dimension basis and quadrature from a given set of polynomial chaos expansions. First generates 1-D orthogonal bases using the discretized Stieltjes procedure, forms their tensor product, and then orthogonalizes using Gram-Schmidt. More...
 
class  StieltjesPCEBasis
 Generates three-term recurrence using the Discretized Stieltjes procedure applied to a polynomial chaos expansion in another basis. More...
 
class  TensorProductBasis
 Multivariate orthogonal polynomial basis generated from a tensor product of univariate polynomials. More...
 
class  TensorProductPseudoSpectralOperator
 An operator for building pseudo-spectral coefficients using tensor-product quadrature. More...
 
class  TensorProductQuadrature
 Defines quadrature for a tensor product basis by tensor products of 1-D quadrature rules. More...
 
class  TotalOrderBasis
 Multivariate orthogonal polynomial basis generated from a total order tensor product of univariate polynomials. More...
 
class  UserDefinedQuadrature
 

Enumerations

enum  GrowthPolicy { SLOW_GROWTH, MODERATE_GROWTH }
 Enumerated type for determining Smolyak growth policies.
 
enum  CijkSymmetryType { CIJK_NO_SYMMETRY, CIJK_TWO_WAY_SYMMETRY, CIJK_SIX_WAY_SYMMETRY }
 

Functions

Teuchos::RCP< const
EpetraExt::MultiComm > 
buildMultiComm (const Epetra_Comm &globalComm, int num_global_stochastic_blocks, int num_spatial_procs=-1)
 
Teuchos::RCP< const Epetra_Comm > getSpatialComm (const Teuchos::RCP< const EpetraExt::MultiComm > &globalMultiComm)
 
Teuchos::RCP< const Epetra_Comm > getStochasticComm (const Teuchos::RCP< const EpetraExt::MultiComm > &globalMultiComm)
 
template<typename coeff_type >
std::ostream & operator<< (std::ostream &os, const ProductContainer< coeff_type > &vec)
 
template<typename ordinal_type , typename value_type >
Teuchos::RCP< Epetra_CrsGraph > sparse3Tensor2CrsGraph (const Stokhos::OrthogPolyBasis< ordinal_type, value_type > &basis, const Stokhos::Sparse3Tensor< ordinal_type, value_type > &Cijk, const Epetra_Comm &comm)
 Build an Epetra_CrsGraph from a sparse 3 tensor. More...
 
template<typename ordinal_type , typename value_type >
Teuchos::RCP< Epetra_CrsGraph > sparse3Tensor2CrsGraph (const Stokhos::Sparse3Tensor< ordinal_type, value_type > &Cijk, const Epetra_BlockMap &map)
 Build an Epetra_CrsGraph from a sparse 3 tensor. More...
 
template<typename ordinal_type , typename value_type >
void sparse3Tensor2MatrixMarket (const Stokhos::OrthogPolyBasis< ordinal_type, value_type > &basis, const Stokhos::Sparse3Tensor< ordinal_type, value_type > &Cijk, const Epetra_Comm &comm, const std::string &file)
 
template<typename ordinal_type , typename value_type >
void sparse3Tensor2MatrixMarket (const Stokhos::Sparse3Tensor< ordinal_type, value_type > &Cijk, const Epetra_BlockMap &map, const std::string &file)
 
template<typename coeff_type >
std::ostream & operator<< (std::ostream &os, const VectorOrthogPoly< coeff_type > &vec)
 
template<typename Scalar >
KOKKOS_INLINE_FUNCTION Scalar shfl_down (const Scalar &val, const int &delta, const int &width)
 
template<typename Scalar >
KOKKOS_INLINE_FUNCTION Scalar shfl_up (const Scalar &val, const int &delta, const int &width)
 
template<typename Scalar >
KOKKOS_INLINE_FUNCTION Scalar shfl_down (const Scalar &val, const int &delta, const int &width, const int &mask)
 
template<typename Scalar >
KOKKOS_INLINE_FUNCTION Scalar shfl_up (const Scalar &val, const int &delta, const int &width, const int &mask)
 
KOKKOS_INLINE_FUNCTION void sync_warp (const int &mask)
 
template<class Device , bool Pack, typename OrdinalType , typename ValueType >
CooProductTensor< ValueType,
Device, Pack > 
create_coo_product_tensor (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList &params=Teuchos::ParameterList())
 
template<typename ValueType , typename Device , bool Pack>
std::ostream & operator<< (std::ostream &os, const CooProductTensor< ValueType, Device, Pack > &tensor)
 
template<typename MatrixValue , typename Layout , typename Device , typename InputMultiVectorType , typename OutputMultiVectorType , typename OrdinalType >
void multiply (const CrsMatrix< MatrixValue, Device, Layout > &A, const InputMultiVectorType &x, OutputMultiVectorType &y, const std::vector< OrdinalType > &col_indices, SingleColumnMultivectorMultiply)
 
template<typename MatrixValue , typename Layout , typename Device , typename InputVectorType , typename OutputVectorType >
void multiply (const CrsMatrix< MatrixValue, Device, Layout > &A, const std::vector< InputVectorType > &x, std::vector< OutputVectorType > &y, SingleColumnMultivectorMultiply)
 
template<class Device , typename OrdinalType , typename ValueType >
CrsProductTensor< ValueType,
Device > 
create_product_tensor (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList &params=Teuchos::ParameterList())
 
template<class Device , typename OrdinalType , typename ValueType , class Memory >
CrsProductTensor< ValueType,
Device, Memory > 
create_product_tensor (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList &params=Teuchos::ParameterList())
 
template<class Device , typename OrdinalType , typename ValueType >
CrsProductTensor< ValueType,
Device > 
create_mean_based_product_tensor ()
 
template<class Device , typename OrdinalType , typename ValueType , class Memory >
CrsProductTensor< ValueType,
Device, Memory > 
create_mean_based_product_tensor ()
 
template<class ValueType , class Device , class Memory >
CrsProductTensor< ValueType,
Device, Memory >::HostMirror 
create_mirror_view (const CrsProductTensor< ValueType, Device, Memory > &src)
 
template<class ValueType , class DstDevice , class DstMemory , class SrcDevice , class SrcMemory >
void deep_copy (const CrsProductTensor< ValueType, DstDevice, DstMemory > &dst, const CrsProductTensor< ValueType, SrcDevice, SrcMemory > &src)
 
template<class Device , typename OrdinalType , typename ValueType >
FlatSparse3Tensor< ValueType,
Device > 
create_flat_sparse_3_tensor (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList &params=Teuchos::ParameterList())
 
template<class Device , typename OrdinalType , typename ValueType >
FlatSparse3Tensor_kji
< ValueType, Device > 
create_flat_sparse_3_tensor_kji (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList &params=Teuchos::ParameterList())
 
template<class Device , typename OrdinalType , typename ValueType >
LexicographicBlockSparse3Tensor
< ValueType, Device > 
create_lexicographic_block_sparse_3_tensor (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::LTBSparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList &params=Teuchos::ParameterList())
 
template<class Device , typename OrdinalType , typename ValueType , int BlockSize>
LinearSparse3Tensor< ValueType,
Device, BlockSize > 
create_linear_sparse_3_tensor (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList &params)
 
template<typename MatrixType >
void write_matrix_market (const MatrixType &A, const std::string &filename)
 
template<typename MatrixType , typename InputVectorType , typename OutputVectorType >
void multiply (const MatrixType &A, const InputVectorType &x, OutputVectorType &y)
 
template<typename MatrixType , typename InputVectorType , typename OutputVectorType >
void multiply (const MatrixType &A, const InputVectorType &x, OutputVectorType &y, DefaultMultiply tag)
 
template<typename MatrixType , typename InputVectorType , typename OutputVectorType , typename ColumnIndicesType >
void multiply (const MatrixType &A, const InputVectorType &x, OutputVectorType &y, const ColumnIndicesType &col)
 
template<typename MatrixType , typename InputVectorType , typename OutputVectorType , typename ColumnIndicesType >
void multiply (const MatrixType &A, const InputVectorType &x, OutputVectorType &y, const ColumnIndicesType &col, DefaultMultiply tag)
 
template<class Device , typename OrdinalType , typename ValueType >
SimpleTiledCrsProductTensor
< ValueType, Device > 
create_simple_tiled_product_tensor (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList &params)
 
template<typename TensorType , typename OrdinalType , typename ValueType , typename CijkType >
StochasticProductTensor
< ValueType, TensorType,
typename
TensorType::execution_space > 
create_stochastic_product_tensor (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const CijkType &Cijk, const Teuchos::ParameterList &params=Teuchos::ParameterList())
 
template<class Device , typename OrdinalType , typename ValueType >
TiledCrsProductTensor
< ValueType, Device > 
create_tiled_product_tensor (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList &params)
 
template<typename ValueType , typename VectorType >
void update (const ValueType &alpha, VectorType &x, const ValueType &beta, const VectorType &y)
 
template<typename LocalOrdinal , typename GlobalOrdinal , typename Node , typename CijkType >
Teuchos::RCP< Tpetra::CrsGraph
< LocalOrdinal, GlobalOrdinal,
Node > > 
create_cijk_crs_graph (const CijkType &cijk_dev, const Teuchos::RCP< const Teuchos::Comm< int > > &comm, const size_t matrix_pce_size)
 
template<typename LocalOrdinal , typename GlobalOrdinal , typename Node , typename CijkType >
Teuchos::RCP< Tpetra::CrsGraph
< LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_pce_graph (const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > &graph, const CijkType &cijk, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_domain_map, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_range_map, Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &cijk_graph, const size_t matrix_pce_size)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP< const
Tpetra::MultiVector< typename
Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (const Tpetra::MultiVector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP
< Tpetra::MultiVector
< typename Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (Tpetra::MultiVector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP< const
Tpetra::MultiVector< typename
Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (const Tpetra::MultiVector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP
< Tpetra::MultiVector
< typename Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (Tpetra::MultiVector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP< const
Tpetra::Vector< typename
Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (const Tpetra::Vector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec_const, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP< const
Tpetra::Vector< typename
Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (const Tpetra::Vector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP< Tpetra::Vector
< typename Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (Tpetra::Vector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP< Tpetra::Vector
< typename Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (Tpetra::Vector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node , typename CijkType >
Teuchos::RCP
< Tpetra::CrsMatrix< typename
Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_matrix (const Tpetra::CrsMatrix< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Node > &mat, const Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &flat_graph, const Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &cijk_graph, const CijkType &cijk_dev)
 
template<typename T , typename U >
bool operator== (const aligned_allocator< T > &, const aligned_allocator< U > &)
 
template<typename T , typename U >
bool operator!= (const aligned_allocator< T > &, const aligned_allocator< U > &)
 
template<typename Scalar , typename LO , typename GO , typename N >
Teuchos::RCP
< Tpetra::CrsMatrix< Scalar,
LO, GO, N > > 
build_mean_matrix (const Tpetra::CrsMatrix< Scalar, LO, GO, N > &A)
 
template<typename Scalar , typename LO , typename GO , typename N >
Teuchos::RCP
< Tpetra::CrsMatrix< typename
Scalar::value_type, LO, GO, N > > 
build_mean_scalar_matrix (const Tpetra::CrsMatrix< Scalar, LO, GO, N > &A)
 
template<typename DstView , typename SrcView >
void copy_pce_to_scalar (const DstView &dst, const SrcView &src)
 
template<typename DstView , typename SrcView >
void copy_scalar_to_pce (const DstView &dst, const SrcView &src)
 
template<typename Matrix , typename Vector , typename Ordinal >
bool CG_Solve (const Matrix &A, Vector &x, const Vector &b, typename Vector::mag_type tol, Ordinal max_its, std::ostream *out=0)
 
template<typename Matrix , typename Vector , typename Prec , typename Ordinal >
bool PCG_Solve (const Matrix &A, Vector &x, const Vector &b, const Prec &M, typename Vector::mag_type tol, Ordinal max_its, std::ostream *out=0)
 
template<typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP< Tpetra::Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_map (const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &map, const LocalOrdinal block_size)
 
template<typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP< Tpetra::CrsGraph
< LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_mp_graph (const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > &graph, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_domain_map, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &flat_range_map, const LocalOrdinal block_size)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP
< Tpetra::MultiVector
< typename Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (const Tpetra::MultiVector< Sacado::MP::Vector< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node >> &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP
< Tpetra::MultiVector
< typename Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (const Tpetra::MultiVector< Sacado::MP::Vector< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node >> &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP< Tpetra::Vector
< typename Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (const Tpetra::Vector< Sacado::MP::Vector< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node >> &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP< Tpetra::Vector
< typename Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_vector_view (const Tpetra::Vector< Sacado::MP::Vector< Storage >, LocalOrdinal, GlobalOrdinal, Node > &vec, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node >> &flat_map)
 
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Teuchos::RCP
< Tpetra::CrsMatrix< typename
Storage::value_type,
LocalOrdinal, GlobalOrdinal,
Node > > 
create_flat_matrix (const Tpetra::CrsMatrix< Sacado::MP::Vector< Storage >, LocalOrdinal, GlobalOrdinal, Node > &mat, const Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &flat_graph, const LocalOrdinal block_size)
 
template<typename ordinal_type , typename value_type >
std::ostream & operator<< (std::ostream &os, const Dense3Tensor< ordinal_type, value_type > &Cijk)
 
template<typename ordinal_type >
Teuchos::RCP
< LexicographicTreeBasisNode
< ordinal_type > > 
build_lexicographic_basis_tree (const Teuchos::ArrayView< const ordinal_type > &basis_orders, const ordinal_type total_order, const ordinal_type index_begin=ordinal_type(0), const ordinal_type order_sum=ordinal_type(0), const Stokhos::MultiIndex< ordinal_type > &term_prefix=Stokhos::MultiIndex< ordinal_type >())
 
template<typename ordinal_type , typename value_type >
Teuchos::RCP< LTBSparse3Tensor
< ordinal_type, value_type > > 
computeTripleProductTensorLTB (const TotalOrderBasis< ordinal_type, value_type, LexographicLess< MultiIndex< ordinal_type > > > &product_basis, bool symmetric=false)
 
template<typename ordinal_type , typename value_type >
Teuchos::RCP< typename
LTBSparse3Tensor< ordinal_type,
value_type >::CijkNode > 
computeCijkLTBNode (const Teuchos::ArrayView< const ordinal_type > &basis_orders, const Teuchos::ArrayView< const Teuchos::RCP< Sparse3Tensor< ordinal_type, value_type > > > &Cijk_1d, const Teuchos::RCP< LexicographicTreeBasisNode< ordinal_type > > &i_ltb, const Teuchos::RCP< LexicographicTreeBasisNode< ordinal_type > > &j_ltb, const Teuchos::RCP< LexicographicTreeBasisNode< ordinal_type > > &k_ltb, const ordinal_type total_order, const bool symmetric, const ordinal_type sum_i=ordinal_type(0), const ordinal_type sum_j=ordinal_type(0), const ordinal_type sum_k=ordinal_type(0), const value_type cijk_base=value_type(1))
 
template<typename ordinal_type , typename value_type >
Teuchos::RCP< LTBSparse3Tensor
< ordinal_type, value_type > > 
computeTripleProductTensorLTBBlockLeaf (const TotalOrderBasis< ordinal_type, value_type, LexographicLess< MultiIndex< ordinal_type > > > &product_basis, bool symmetric=false)
 
template<typename ordinal_type , typename value_type >
Teuchos::RCP< typename
LTBSparse3Tensor< ordinal_type,
value_type >::CijkNode > 
computeCijkLTBNodeBlockLeaf (const Teuchos::ArrayView< const ordinal_type > &basis_orders, const Teuchos::ArrayView< const Teuchos::RCP< Dense3Tensor< ordinal_type, value_type > > > &Cijk_1d, const Teuchos::RCP< LexicographicTreeBasisNode< ordinal_type > > &i_ltb, const Teuchos::RCP< LexicographicTreeBasisNode< ordinal_type > > &j_ltb, const Teuchos::RCP< LexicographicTreeBasisNode< ordinal_type > > &k_ltb, const ordinal_type total_order, const bool symmetric, const ordinal_type sum_i=ordinal_type(0), const ordinal_type sum_j=ordinal_type(0), const ordinal_type sum_k=ordinal_type(0), const value_type cijk_base=value_type(1), const bool parent_j_equals_k=true)
 
template<typename ordinal_type , typename value_type >
Teuchos::RCP
< FlatLTBSparse3Tensor
< ordinal_type, value_type > > 
computeFlatTripleProductTensorLTB (const TotalOrderBasis< ordinal_type, value_type, LexographicLess< MultiIndex< ordinal_type > > > &product_basis, bool symmetric=false)
 
template<int max_size, typename ordinal_type , typename value_type >
void flatLTB3TensorMultiply (OrthogPolyApprox< ordinal_type, value_type > &c, const OrthogPolyApprox< ordinal_type, value_type > &a, const OrthogPolyApprox< ordinal_type, value_type > &b, const FlatLTBSparse3Tensor< ordinal_type, value_type > &cijk)
 
template<typename ordinal_type , typename value_type >
std::ostream & operator<< (std::ostream &os, const OneDOrthogPolyBasis< ordinal_type, value_type > &b)
 Print basis to stream os.
 
template<typename ordinal_type , typename value_type , typename node_type >
std::ostream & operator<< (std::ostream &os, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
 Prints the array of coefficients (more compact than print())
 
template<typename ordinal_type , typename value_type >
std::ostream & operator<< (std::ostream &os, const OrthogPolyBasis< ordinal_type, value_type > &b)
 Print basis to stream os.
 
template<typename ordinal_type >
ordinal_type n_choose_k (const ordinal_type &n, const ordinal_type &k)
 Compute bionomial coefficient (n ; k) = n!/( k! (n-k)! )
 
template<typename ordinal_type >
std::ostream & operator<< (std::ostream &os, const MultiIndex< ordinal_type > &m)
 
template<typename ordinal_type , typename element_type >
std::ostream & operator<< (std::ostream &os, const TensorProductElement< ordinal_type, element_type > &m)
 
template<typename ordinal_type >
ordinal_type totalOrderMapping (const Stokhos::MultiIndex< ordinal_type > &index)
 
template<typename ordinal_type >
ordinal_type lexicographicMapping (const Stokhos::MultiIndex< ordinal_type > &index, ordinal_type max_order)
 
template<typename ordinal_type , typename value_type >
std::ostream & operator<< (std::ostream &os, const Quadrature< ordinal_type, value_type > &quad)
 Print quadrature object to stream.
 
template<typename ordinal_type , typename scalar_type >
void print_matlab (std::ostream &os, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A)
 
template<typename ordinal_type , typename scalar_type >
scalar_type vec_norm_inf (const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A)
 Vector-infinity norm of a matrix.
 
template<typename ordinal_type , typename scalar_type >
void QR_CGS (ordinal_type k, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, const Teuchos::Array< scalar_type > &w, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R)
 Compute thin QR using classical Gram-Schmidt. More...
 
template<typename ordinal_type , typename scalar_type >
void QR_MGS (ordinal_type k, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, const Teuchos::Array< scalar_type > &w, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R)
 Compute thin QR using modified Gram-Schmidt. More...
 
template<typename ordinal_type , typename scalar_type >
void QR_MGS2 (ordinal_type k, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, const Teuchos::Array< scalar_type > &w, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R)
 Compute thin QR using modified Gram-Schmidt with reorthogonalization. More...
 
template<typename ordinal_type , typename scalar_type >
void QR_Householder (ordinal_type k, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, const Teuchos::Array< scalar_type > &w, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R)
 Compute thin QR using Householder reflections. More...
 
template<typename ordinal_type , typename scalar_type >
void CPQR_Householder3 (const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R, Teuchos::Array< ordinal_type > &piv)
 Compute column-pivoted QR using Householder reflections. More...
 
template<typename ordinal_type , typename scalar_type >
ordinal_type CPQR_Householder_threshold (const scalar_type &rank_threshold, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, const Teuchos::Array< scalar_type > &w, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R, Teuchos::Array< ordinal_type > &piv)
 Compute column-pivoted QR using Householder reflections. More...
 
template<typename ordinal_type , typename scalar_type >
ordinal_type CPQR_MGS_threshold (const scalar_type &rank_threshold, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, const Teuchos::Array< scalar_type > &w, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R, Teuchos::Array< ordinal_type > &piv)
 Compute column-pivoted QR using modified Gram-Schmidt. More...
 
template<typename ordinal_type , typename scalar_type >
ordinal_type CPQR_MGS_reorthog_threshold (const scalar_type &rank_threshold, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, const Teuchos::Array< scalar_type > &w, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R, Teuchos::Array< ordinal_type > &piv)
 Compute column-pivoted QR using modified Gram-Schmidt and reorthogonalization. More...
 
template<typename ordinal_type , typename scalar_type >
scalar_type cond_R (const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R)
 Compute condition number of upper-triangular R.
 
template<typename ordinal_type , typename scalar_type >
scalar_type weightedQROrthogonalizationError (const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, const Teuchos::Array< scalar_type > &w)
 Compute weighted QR orthogonalization error. More...
 
template<typename ordinal_type , typename scalar_type >
scalar_type QROrthogonalizationError (const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q)
 Compute QR orthogonalization error. More...
 
template<typename ordinal_type , typename scalar_type >
scalar_type residualQRError (const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R)
 Compute QR residual error. More...
 
template<typename ordinal_type , typename scalar_type >
scalar_type residualCPQRError (const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &R, const Teuchos::Array< ordinal_type > &piv)
 Compute column-pivoted QR residual error. More...
 
template<typename ordinal_type , typename scalar_type >
void svd (const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, Teuchos::Array< scalar_type > &s, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &U, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Vt)
 Compute SVD of matrix. More...
 
template<typename ordinal_type , typename scalar_type >
ordinal_type svd_threshold (const scalar_type &rank_threshold, const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &A, Teuchos::Array< scalar_type > &s, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &U, Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Vt)
 
template<typename ordinal_type , typename scalar_type >
Teuchos::ArrayRCP< CijkData
< ordinal_type, scalar_type > > 
build_cijk_coordinate_list (const Sparse3Tensor< ordinal_type, scalar_type > &Cijk, CijkSymmetryType symmetry_type)
 
template<typename ordinal_type , typename value_type >
Teuchos::RCP< Sparse3Tensor
< ordinal_type, value_type > > 
computeTripleProductTensorLTO (const TotalOrderBasis< ordinal_type, value_type, LexographicLess< MultiIndex< ordinal_type > > > &product_basis, bool symmetric=false)
 

Detailed Description

Top-level namespace for Stokhos classes and functions.

Function Documentation

template<typename ordinal_type , typename scalar_type >
void Stokhos::CPQR_Householder3 ( const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  R,
Teuchos::Array< ordinal_type > &  piv 
)

Compute column-pivoted QR using Householder reflections.

For A an m-by-n matrix with m >= n, computes A*P = Q*R with R n-by-n upper triangular and Q m-by-n with orthogonal columns (often called the economy size QR) and P an m-by-n permutation matrix. For n >= m, computes A*P = Q*R with R m-by-n upper trapezoidal and Q m-by-m upper trapezoidal (R = [R_1 R_2] with R_1 upper triangular and R_2 rectangular). For k = min(m,n), both cases are handled with Q m-by-k and R k-by-n.

The QR factorization is computed by the corresponding LAPACK function. This version uses the BLAS3-rich xGEQP3.

Referenced by CPQR_Householder_threshold().

template<typename ordinal_type , typename scalar_type >
ordinal_type Stokhos::CPQR_Householder_threshold ( const scalar_type &  rank_threshold,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
const Teuchos::Array< scalar_type > &  w,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  R,
Teuchos::Array< ordinal_type > &  piv 
)

Compute column-pivoted QR using Householder reflections.

For A an m-by-n matrix, computes A*P = Q*R with R k-by-k upper triangular, Q m-by-k with orthonormal columns, and P an n-by-k permutation matrix. Here k <= min(m,n) is determined by a rank threshold tau provided by the user. The resulting R will have cond(R) <= 1/tau. P is returned in the pivot array piv and the rank k returned by the function. Only the first k entries of piv will be set. As with LAPACK, the user can require columns of A to be included in P by setting the corresponding entries of piv to be nonzero on input.

If make_R_square is false then R is k-by-n.

This ultimately uses the LAPACK column-pivoted QR function which does a full QR factorization. This then extracts the parts of Q, R, and P determined by the threshold as described above. As such, this function requires the weight vector to be 1 (Note the weight vector will be ignored if it is size 0).

References CPQR_Householder3().

Referenced by Stokhos::OrthogonalizationFactory< ordinal_type, value_type >::createOrthogonalBasis().

template<typename ordinal_type , typename scalar_type >
ordinal_type Stokhos::CPQR_MGS_reorthog_threshold ( const scalar_type &  rank_threshold,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
const Teuchos::Array< scalar_type > &  w,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  R,
Teuchos::Array< ordinal_type > &  piv 
)

Compute column-pivoted QR using modified Gram-Schmidt and reorthogonalization.

For A an m-by-n matrix, computes A*P = Q*R with R k-by-k upper triangular, Q m-by-k with orthonormal columns, and P an n-by-k permutation matrix. Here k <= min(m,n) is determined by a rank threshold tau provided by the user. The resulting R will have cond(R) <= 1/tau. P is returned in the pivot array piv and the rank k returned by the function. Only the first k entries of piv will be set. As with LAPACK, the user can require columns of A to be included in P by setting the corresponding entries of piv to be nonzero on input. The orthogonality of Q is determined by the weight vector w, defining a weighted inner-product.

References CPQR_MGS_threshold(), and QR_MGS().

Referenced by Stokhos::OrthogonalizationFactory< ordinal_type, value_type >::createOrthogonalBasis().

template<typename ordinal_type , typename scalar_type >
ordinal_type Stokhos::CPQR_MGS_threshold ( const scalar_type &  rank_threshold,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
const Teuchos::Array< scalar_type > &  w,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  R,
Teuchos::Array< ordinal_type > &  piv 
)

Compute column-pivoted QR using modified Gram-Schmidt.

For A an m-by-n matrix, computes A*P = Q*R with R k-by-k upper triangular, Q m-by-k with orthonormal columns, and P an n-by-k permutation matrix. Here k <= min(m,n) is determined by a rank threshold tau provided by the user. The resulting R will have cond(R) <= 1/tau. P is returned in the pivot array piv and the rank k returned by the function. Only the first k entries of piv will be set. As with LAPACK, the user can require columns of A to be included in P by setting the corresponding entries of piv to be nonzero on input. The orthogonality of Q is determined by the weight vector w, defining a weighted inner-product.

Referenced by CPQR_MGS_reorthog_threshold(), and Stokhos::OrthogonalizationFactory< ordinal_type, value_type >::createOrthogonalBasis().

template<typename ordinal_type , typename scalar_type >
void Stokhos::QR_CGS ( ordinal_type  k,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
const Teuchos::Array< scalar_type > &  w,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  R 
)

Compute thin QR using classical Gram-Schmidt.

For A an m-by-n matrix computes A = Q*R with R k-by-k upper triangular, Q m-by-k with orthogonal columns, k <= min(m,n).

template<typename ordinal_type , typename scalar_type >
void Stokhos::QR_Householder ( ordinal_type  k,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
const Teuchos::Array< scalar_type > &  w,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  R 
)

Compute thin QR using Householder reflections.

For A an m-by-n matrix computes A = Q*R with R k-by-k upper triangular, Q m-by-k with orthogonal columns, k <= min(m,n).

The QR factorization is computed by the corresponding LAPACK function.

Referenced by Stokhos::OrthogonalizationFactory< ordinal_type, value_type >::createOrthogonalBasis().

template<typename ordinal_type , typename scalar_type >
void Stokhos::QR_MGS ( ordinal_type  k,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
const Teuchos::Array< scalar_type > &  w,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  R 
)

Compute thin QR using modified Gram-Schmidt.

For A an m-by-n matrix computes A = Q*R with R k-by-k upper triangular, Q m-by-k with orthogonal columns, k <= min(m,n).

Referenced by CPQR_MGS_reorthog_threshold(), and Stokhos::OrthogonalizationFactory< ordinal_type, value_type >::createOrthogonalBasis().

template<typename ordinal_type , typename scalar_type >
void Stokhos::QR_MGS2 ( ordinal_type  k,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
const Teuchos::Array< scalar_type > &  w,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  R 
)

Compute thin QR using modified Gram-Schmidt with reorthogonalization.

For A an m-by-n matrix computes A = Q*R with R k-by-k upper triangular, Q m-by-k with orthogonal columns, k <= min(m,n).

Referenced by Stokhos::OrthogonalizationFactory< ordinal_type, value_type >::createOrthogonalBasis().

template<typename ordinal_type , typename scalar_type >
scalar_type Stokhos::QROrthogonalizationError ( const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q)

Compute QR orthogonalization error.

Computes ||Q^T*Q-I||_infinity for Q coming from a QR factorization.

template<typename ordinal_type , typename scalar_type >
scalar_type Stokhos::residualCPQRError ( const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  R,
const Teuchos::Array< ordinal_type > &  piv 
)

Compute column-pivoted QR residual error.

Computes ||Q*R-A*P||_infinity for Q,R coming from a column-pivoted QR factorization.

Works with thin or full QR, weighted or not.

Referenced by Stokhos::OrthogonalizationFactory< ordinal_type, value_type >::createOrthogonalBasis().

template<typename ordinal_type , typename scalar_type >
scalar_type Stokhos::residualQRError ( const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  R 
)

Compute QR residual error.

Computes ||Q*R-A||_infinity for Q,R coming from QR factorization.

Works with thin or full QR, weighted or not.

template<typename ordinal_type , typename value_type >
Teuchos::RCP<Epetra_CrsGraph> Stokhos::sparse3Tensor2CrsGraph ( const Stokhos::OrthogPolyBasis< ordinal_type, value_type > &  basis,
const Stokhos::Sparse3Tensor< ordinal_type, value_type > &  Cijk,
const Epetra_Comm &  comm 
)

Build an Epetra_CrsGraph from a sparse 3 tensor.

Builds a sparse graph from a sparse 3 tensor by summing over the third index. This graph then represents the sparsity pattern of the stochastic part of the block stochastic Galerkin operator. Redistributing the graph should then provide a suitable parallel distribution for block stochastic Galerkin linear solves.

References Stokhos::Sparse3Tensor< ordinal_type, value_type >::i_begin(), Stokhos::Sparse3Tensor< ordinal_type, value_type >::i_end(), Stokhos::Sparse3Tensor< ordinal_type, value_type >::j_begin(), Stokhos::Sparse3Tensor< ordinal_type, value_type >::j_end(), Stokhos::Sparse3Tensor< ordinal_type, value_type >::k_begin(), Stokhos::Sparse3Tensor< ordinal_type, value_type >::k_end(), and Stokhos::OrthogPolyBasis< ordinal_type, value_type >::size().

Referenced by Stokhos::EpetraSparse3Tensor::EpetraSparse3Tensor().

template<typename ordinal_type , typename value_type >
Teuchos::RCP<Epetra_CrsGraph> Stokhos::sparse3Tensor2CrsGraph ( const Stokhos::Sparse3Tensor< ordinal_type, value_type > &  Cijk,
const Epetra_BlockMap &  map 
)

Build an Epetra_CrsGraph from a sparse 3 tensor.

Builds a sparse graph from a sparse 3 tensor by summing over the third index. This graph then represents the sparsity pattern of the stochastic part of the block stochastic Galerkin operator. Redistributing the graph should then provide a suitable parallel distribution for block stochastic Galerkin linear solves.

References Stokhos::Sparse3Tensor< ordinal_type, value_type >::i_begin(), Stokhos::Sparse3Tensor< ordinal_type, value_type >::i_end(), Stokhos::Sparse3Tensor< ordinal_type, value_type >::j_begin(), Stokhos::Sparse3Tensor< ordinal_type, value_type >::j_end(), Stokhos::Sparse3Tensor< ordinal_type, value_type >::k_begin(), and Stokhos::Sparse3Tensor< ordinal_type, value_type >::k_end().

template<typename ordinal_type , typename scalar_type >
void Stokhos::svd ( const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  A,
Teuchos::Array< scalar_type > &  s,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  U,
Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Vt 
)

Compute SVD of matrix.

The SVD is computed by the corresponding LAPACK function.

template<typename ordinal_type , typename scalar_type >
scalar_type Stokhos::weightedQROrthogonalizationError ( const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &  Q,
const Teuchos::Array< scalar_type > &  w 
)

Compute weighted QR orthogonalization error.

Computes ||Q^T*W*Q-I||_infinity for Q coming from a weighted QR factorization.

Referenced by Stokhos::OrthogonalizationFactory< ordinal_type, value_type >::createOrthogonalBasis().