Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Stokhos_ProductBasis.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Stokhos Package
4 //
5 // Copyright 2009 NTESS and the Stokhos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef STOKHOS_PRODUCTBASIS_HPP
11 #define STOKHOS_PRODUCTBASIS_HPP
12 
15 
16 namespace Stokhos {
17 
30  template <typename ordinal_type, typename value_type>
31  class ProductBasis :
32  public virtual OrthogPolyBasis<ordinal_type, value_type> {
33  public:
34 
37 
39  virtual ~ProductBasis() {};
40 
42 
47  virtual const MultiIndex<ordinal_type>& term(ordinal_type i) const = 0;
48 
50 
54  virtual ordinal_type index(const MultiIndex<ordinal_type>& term) const = 0;
55 
57 
60  virtual
62  value_type> > >
63  getCoordinateBases() const = 0;
64 
66  virtual MultiIndex<ordinal_type> getMaxOrders() const = 0;
67 
68  private:
69 
70  // Prohibit copying
71  ProductBasis(const ProductBasis&);
72 
73  // Prohibit Assignment
75 
76  }; // class ProductBasis
77 
78 } // Namespace Stokhos
79 
80 #endif // STOKHOS_PRODUCTBASIS
virtual ~ProductBasis()
Destructor.
virtual ordinal_type index(const MultiIndex< ordinal_type > &term) const =0
Get index of the multivariate polynomial given orders of each coordinate.
Abstract base class for multivariate orthogonal polynomials.
virtual const MultiIndex< ordinal_type > & term(ordinal_type i) const =0
Get orders of each coordinate polynomial given an index i.
Abstract base class for multivariate orthogonal polynomials generated from tensor products of univari...
virtual Teuchos::Array< Teuchos::RCP< const OneDOrthogPolyBasis< ordinal_type, value_type > > > getCoordinateBases() const =0
Return array of coordinate bases.
Abstract base class for 1-D orthogonal polynomials.
virtual MultiIndex< ordinal_type > getMaxOrders() const =0
Return maximum order allowable for each coordinate basis.
ProductBasis & operator=(const ProductBasis &b)