Stokhos Development
|
Top-level namespace for Stokhos classes and functions. More...
Namespaces | |
namespace | KL |
Namespace for analytic KL expansions. | |
Classes | |
class | AbstractPreconditionerFactory |
An abstract class to represent a generic preconditioner factory. More... | |
class | AdaptivityManager |
class | AlgebraicOrthogPolyExpansion |
Orthogonal polynomial expansions limited to algebraic operations. More... | |
class | aligned_allocator |
An aligned STL allocator. More... | |
class | aligned_allocator< const T > |
An aligned STL allocator. More... | |
class | AnisoSparseGridQuadrature |
Defines quadrature for a tensor product basis by anisotropic Smolyak sparse grids. More... | |
class | AnisotropicTotalOrderIndexSet |
An anisotropic total order index set. More... | |
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 | BasisFactory |
Factory for building multivariate orthogonal polynomial bases. More... | |
class | BasisInteractionGraph |
class | BlockCrsMatrix |
CRS matrix of dense blocks. More... | |
class | BlockDiagonalOperator |
An Epetra operator representing the block stochastic Galerkin operator. More... | |
class | BlockMultiply |
class | BlockMultiply< CooProductTensor< ValueType, Device, Pack > > |
class | BlockMultiply< CrsProductTensor< ValueType, Device > > |
class | BlockMultiply< FlatSparse3Tensor< ValueType, Device > > |
class | BlockMultiply< FlatSparse3Tensor_kji< ValueType, Device > > |
class | BlockMultiply< LexicographicBlockSparse3Tensor< ValueType, Device > > |
class | BlockMultiply< LinearSparse3Tensor< ValueType, Device, BlockSize > > |
class | BlockMultiply< SimpleTiledCrsProductTensor< ValueType, Device > > |
class | BlockMultiply< StochasticProductTensor< ValueType, TensorType, Device > > |
class | BlockMultiply< SymmetricDiagonalSpec< Device > > |
class | BlockMultiply< SymmetricDiagonalSpec< Kokkos::Cuda > > |
class | BlockMultiply< TiledCrsProductTensor< ValueType, Device > > |
class | BlockPreconditioner |
class | CGDivisionExpansionStrategy |
Strategy interface for computing PCE of a/b using only b[0]. More... | |
struct | CijkData |
class | ClenshawCurtisExponentialGrowthRule |
An exponential growth rule for Clenshaw-Curtis. 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 | CompletePolynomialBasisUtils |
Utilities for indexing a multi-variate complete polynomial basis. More... | |
class | ConstantOrthogPolyExpansion |
Orthogonal polynomial expansion class for constant (size 1) expansions. More... | |
class | CooProductTensor |
Sparse product tensor using 'COO'-like storage format. More... | |
class | CooProductTensor< ValueType, ExecutionSpace, false > |
Specialization of CooProductTensor for unpacked (i,j,k) More... | |
class | CooProductTensor< ValueType, ExecutionSpace, true > |
Specialization of CooProductTensor for packed (i,j,k) More... | |
class | CrsMatrix |
CRS matrix. More... | |
class | CrsProductTensor |
Sparse product tensor with replicated entries to provide subsets with a given coordinate. More... | |
class | DefaultMultiply |
struct | DefaultPointCompare |
Struct defining default point compare type. 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 | DenseOperator |
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... | |
struct | DeviceConfig |
struct | DeviceForNode |
Trait class that determines (new) Kokkos execution space type from Kokkos(Classic) Node type. More... | |
struct | DeviceForNode2 |
struct | DeviceForNode2< Kokkos::Compat::KokkosDeviceWrapperNode< Device > > |
class | DeviceProp |
class | DiagEpetraOp |
An Epetra operator representing the block stochastic Galerkin operator. More... | |
class | DiagonalOperator |
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 | 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 | DynamicStorage |
class | DynamicStridedStorage |
class | DynamicThreadedStorage |
Dynamically allocated storage class with striding. More... | |
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... | |
class | EpetraCrsMatrixCloner |
Cloner for Epetra_CrsMatrix coefficients. More... | |
class | EpetraMultiVectorCloner |
Cloner for Epetra_MultiVector coefficients. 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 | EpetraOperatorCloner |
Cloner for Epetra_Operator coefficients. 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 | EpetraVectorCloner |
Cloner for Epetra_Vector coefficients. More... | |
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... | |
struct | error_storage_type_is_not_allocateable |
struct | error_storage_type_is_not_resizeable |
class | EvenGrowthRule |
A growth rule that always makes the supplied order even. More... | |
class | ExpansionFactory |
Factory for building multivariate expansion strategies. More... | |
struct | FlatLTBSparse3Tensor |
struct | FlatLTBSparse3TensorNode |
class | FlatSparse3Tensor |
Sparse product tensor with replicated entries to provide subsets with a given coordinate. More... | |
class | FlatSparse3Tensor_kji |
Sparse product tensor with replicated entries to provide subsets with a given coordinate. More... | |
class | FloatingPointLess |
A functor for comparing floating-point numbers to some tolerance. More... | |
class | ForUQTKOrthogPolyExpansion |
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 | GaussPattersonExponentialGrowthRule |
An exponential growth rule for Gauss-Patterson. More... | |
class | GaussPattersonLegendreBasis |
Legendre polynomial basis using Gauss-Patterson quadrature points. More... | |
class | GetMeanValsFunc |
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 | GetMeanValsFunc< Kokkos::View< Sacado::UQ::PCE< 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::MP::Vector< Storage > *, P... > > |
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 | 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 | 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 | HouseTriDiagPCEBasis |
Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis. More... | |
class | IdentityGrowthRule |
A growth rule that is the identity. More... | |
class | IfpackPreconditionerFactory |
A factory for building Ifpack preconditioners. More... | |
class | IntegralRank |
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 | InversePreconditioner |
struct | is_power_of_two |
struct | is_ViewStorage |
struct | is_ViewStorage< ViewStorage< ordinal_t, value_t, static_length, static_stride, device_t > > |
struct | IsScalarType |
Base template specification for IsScalarType. More... | |
struct | IsScalarType2 |
Base template specification for IsScalarType. More... | |
struct | IsScalarType2< double > |
struct | IsScalarType2< float > |
struct | IsScalarType2< int > |
struct | IsScalarType2< long > |
struct | IsScalarType< double > |
struct | IsScalarType< float > |
struct | IsScalarType< int > |
struct | IsScalarType< long > |
class | JacobiBasis |
Jacobi polynomial basis. More... | |
class | JacobiPreconditioner |
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 | Lanczos |
Applies Lanczos procedure to a given matrix. More... | |
class | LanczosPCEBasis |
Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis. More... | |
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 | LexicographicBlockSparse3Tensor |
Sparse product tensor with replicated entries to provide subsets with a given coordinate. More... | |
struct | LexicographicTreeBasisNode |
class | LexographicLess |
A comparison functor implementing a strict weak ordering based lexographic ordering. More... | |
class | LinearGrowthRule |
A linear growth rule. More... | |
class | LinearSparse3Tensor |
Sparse product tensor with replicated entries to provide subsets with a given coordinate. 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... | |
class | MatrixFreeOperator |
An Epetra operator representing the block stochastic Galerkin operator. More... | |
class | MatrixMarketWriter |
class | MatrixMarketWriter< CrsMatrix< MatrixValue, Device, Layout > > |
class | MeanBasedDivisionExpansionStrategy |
Strategy interface for computing PCE of a/b using only b[0]. More... | |
class | MeanBasedPreconditioner |
A stochastic preconditioner based on applying the inverse of the mean. More... | |
class | MeanBasedTpetraOperator |
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 | MemoryTraits |
Traits class encapsulting memory alignment. More... | |
struct | MemoryTraits< Kokkos::HostSpace > |
Specialization of MemoryTraits for host memory spaces. More... | |
class | MLPreconditionerFactory |
A factory for building ML preconditioners. 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 | MonoProjPCEBasis |
Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis. More... | |
class | MortonZLess |
A comparison functor implementing a strict weak ordering based Morton Z-ordering. 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 | MultiIndex |
A multidimensional index. More... | |
class | Multiply |
class | Multiply< BlockCrsMatrix< BlockSpec, MatrixValue, Device >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Device >, Kokkos::View< VectorValue **, Kokkos::LayoutLeft, Device > > |
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 | 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 | 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 | 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< BlockCrsMatrix< TiledCrsProductTensor< TensorScalar, Kokkos::Cuda >, MatrixScalar, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda >, Kokkos::View< VectorScalar **, Kokkos::LayoutLeft, Kokkos::Cuda > > |
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 >, InputVectorType, OutputVectorType, void, IntegralRank< 1 > > |
class | Multiply< CrsMatrix< MatrixValue, Device, Layout >, std::vector< InputViewType >, std::vector< OutputViewType >, void, IntegralRank< 1 > > |
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::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... > > |
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 | MultiplyImpl |
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 | ParallelData |
class | PCECovarianceOp |
An Epetra operator representing the covariance operator of a polynomial chaos expansion. More... | |
class | PecosOneDOrthogPolyBasis |
Implementation of OneDOrthogPolyBasis via Pecos. More... | |
struct | power_of_two |
struct | power_of_two< 1, true > |
struct | power_of_two< 2, true > |
struct | power_of_two< N, true > |
class | PreconditionerFactory |
An class for building preconditioners. More... | |
class | ProductBasis |
Abstract base class for multivariate orthogonal polynomials generated from tensor products of univariate polynomials. More... | |
class | ProductBasisUtils |
Utilities for indexing a multi-variate complete polynomial basis. 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 | ProductContainerTraits |
Base traits definition for ProductContainer. More... | |
class | ProductContainerTraits< Epetra_CrsMatrix > |
Specialization of ProductContainerTraits to Epetra_CrsMatrix coefficients. More... | |
class | ProductContainerTraits< Epetra_MultiVector > |
Specialization of ProductContainerTraits to Epetra_MultiVector coefficients. More... | |
class | ProductContainerTraits< Epetra_Operator > |
Specialization of ProductContainerTraits to Epetra_Operator coefficients. More... | |
class | ProductContainerTraits< Epetra_Vector > |
Specialization of ProductContainerTraits to Epetra_Vector coefficients. 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 | 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... | |
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 | RCB |
class | RecurrenceBasis |
Implementation of OneDOrthogPolyBasis based on the general three-term recurrence relationship: 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 | ResponseStatisticModelEvaluator |
ModelEvaluator providing statistic response functions. More... | |
class | RysBasis |
Rys polynomial basis. More... | |
class | SchurPreconditioner |
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 | SimpleTiledCrsProductTensor |
class | SingleColumnMultivectorMultiply |
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... | |
struct | SparseArray |
Container for a "sparse" array. More... | |
class | SparseArrayIterator |
Bi-directional iterator for traversing a sparse array. More... | |
class | SparseArrayReverseIterator |
Bi-directional reverse iterator for traversing 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 |
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 | StaticFixedStandardStorage |
Statically allocated storage class. More... | |
class | StaticFixedStorage |
Statically allocated storage class. More... | |
class | StaticStandardStorage |
Statically allocated storage class. More... | |
class | StaticStorage |
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 | StochasticProductTensor |
Bases defined by combinatorial product of polynomial bases. More... | |
class | SymmetricDiagonalSpec |
Symmetric diagonal storage for a dense matrix. More... | |
class | TensorProductBasis |
Multivariate orthogonal polynomial basis generated from a tensor product of univariate polynomials. More... | |
class | TensorProductElement |
Container storing a term in a generalized tensor product. More... | |
class | TensorProductIndexSet |
A tensor product index set. More... | |
struct | TensorProductPredicate |
Predicate functor for building sparse triple products. 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 | TiledCrsProductTensor |
class | TinyVec |
class | TinyVec< ValueType, N, UseIntrinsics, true > |
class | TotalOrderBasis |
Multivariate orthogonal polynomial basis generated from a total order tensor product of univariate polynomials. More... | |
class | TotalOrderIndexSet |
An isotropic total order index set. More... | |
class | TotalOrderLess |
A comparison functor implementing a strict weak ordering based total-order ordering, recursive on the dimension. More... | |
struct | TotalOrderPredicate |
Predicate functor for building sparse triple products based on total order. More... | |
class | Update |
class | UserDefinedQuadrature |
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... | |
struct | ViewRank |
struct | ViewRank< std::vector< T > > |
class | ViewStorage |
Dynamic storage with view semantics and contiguous access. More... | |
class | WeightedVectorSpace |
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. | |
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. | |
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 ¶ms=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 ¶ms=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 ¶ms=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 ¶ms=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 ¶ms=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 ¶ms=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 ¶ms) |
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 ¶ms) |
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 ¶ms=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 ¶ms) |
template<typename ValueType , typename VectorType > | |
void | update (const ValueType &alpha, VectorType &x, const ValueType &beta, const VectorType &y) |
template<typename LocalOrdinal , typename GlobalOrdinal , typename Device , typename CijkType > | |
Teuchos::RCP< Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | 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 Device , typename CijkType > | |
Teuchos::RCP< Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_pce_graph (const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &graph, const CijkType &cijk, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_domain_map, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_range_map, Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &cijk_graph, const size_t matrix_pce_size) |
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Device > | |
Teuchos::RCP< const Tpetra::MultiVector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_vector_view (const Tpetra::MultiVector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &vec, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_map) |
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Device > | |
Teuchos::RCP< Tpetra::MultiVector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_vector_view (Tpetra::MultiVector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &vec, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_map) |
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Device > | |
Teuchos::RCP< const Tpetra::MultiVector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_vector_view (const Tpetra::MultiVector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &vec, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_map) |
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Device > | |
Teuchos::RCP< Tpetra::MultiVector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_vector_view (Tpetra::MultiVector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &vec, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_map) |
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Device > | |
Teuchos::RCP< const Tpetra::Vector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_vector_view (const Tpetra::Vector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &vec_const, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_map) |
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Device > | |
Teuchos::RCP< const Tpetra::Vector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_vector_view (const Tpetra::Vector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &vec, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_map) |
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Device > | |
Teuchos::RCP< Tpetra::Vector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_vector_view (Tpetra::Vector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &vec, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_map) |
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Device > | |
Teuchos::RCP< Tpetra::Vector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_vector_view (Tpetra::Vector< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &vec, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_map) |
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Device , typename CijkType > | |
Teuchos::RCP< Tpetra::CrsMatrix< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_matrix (const Tpetra::CrsMatrix< Sacado::UQ::PCE< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &mat, const Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_graph, const Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &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 LocalOrdinal , typename GlobalOrdinal , typename Device > | |
Teuchos::RCP< Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_mp_graph (const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &graph, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_domain_map, Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_range_map, const LocalOrdinal block_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::MP::Vector< 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::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::MultiVector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Node > > | create_flat_vector_view (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 (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< const 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, 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::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 (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 (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 Device > | |
Teuchos::RCP< const Tpetra::MultiVector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_vector_view (const Tpetra::MultiVector< Sacado::MP::Vector< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &vec, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &flat_map) |
template<typename Storage , typename LocalOrdinal , typename GlobalOrdinal , typename Device > | |
Teuchos::RCP< Tpetra::MultiVector< typename Storage::value_type, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > | create_flat_vector_view (Tpetra::MultiVector< Sacado::MP::Vector< Storage >, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > &vec, const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< Device > > > &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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
template<typename ordinal_type , typename scalar_type > | |
scalar_type | QROrthogonalizationError (const Teuchos::SerialDenseMatrix< ordinal_type, scalar_type > &Q) |
Compute QR orthogonalization error. | |
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. | |
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. | |
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. | |
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) |
Top-level namespace for Stokhos classes and functions.
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().
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().
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().
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().
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).
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().
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().
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().
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.
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().
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.
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(), Stokhos::EpetraSparse3Tensor::EpetraSparse3Tensor(), and Stokhos::EpetraSparse3Tensor::EpetraSparse3Tensor().
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().
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.
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().