Stokhos Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Stokhos_OrthogPolyBasis.hpp
Go to the documentation of this file.
1
// $Id$
2
// $Source$
3
// @HEADER
4
// ***********************************************************************
5
//
6
// Stokhos Package
7
// Copyright (2009) Sandia Corporation
8
//
9
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
10
// license for use of this work by or on behalf of the U.S. Government.
11
//
12
// Redistribution and use in source and binary forms, with or without
13
// modification, are permitted provided that the following conditions are
14
// met:
15
//
16
// 1. Redistributions of source code must retain the above copyright
17
// notice, this list of conditions and the following disclaimer.
18
//
19
// 2. Redistributions in binary form must reproduce the above copyright
20
// notice, this list of conditions and the following disclaimer in the
21
// documentation and/or other materials provided with the distribution.
22
//
23
// 3. Neither the name of the Corporation nor the names of the
24
// contributors may be used to endorse or promote products derived from
25
// this software without specific prior written permission.
26
//
27
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
28
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
30
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
31
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
32
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
33
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
34
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
35
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
36
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
37
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38
//
39
// Questions? Contact Eric T. Phipps (etphipp@sandia.gov).
40
//
41
// ***********************************************************************
42
// @HEADER
43
44
#ifndef STOKHOS_ORTHOGPOLYBASIS_HPP
45
#define STOKHOS_ORTHOGPOLYBASIS_HPP
46
47
#include <ostream>
48
#include <string>
49
#include "
Stokhos_Sparse3Tensor.hpp
"
50
#include "
Stokhos_Dense3Tensor.hpp
"
51
#include "
Stokhos_OneDOrthogPolyBasis.hpp
"
52
#include "Teuchos_Array.hpp"
53
#include "Teuchos_ArrayView.hpp"
54
#include "Teuchos_SerialDenseMatrix.hpp"
55
56
namespace
Stokhos
{
57
59
73
template
<
typename
ordinal_type,
typename
value_type>
74
class
OrthogPolyBasis
{
75
public
:
76
78
OrthogPolyBasis
() {};
79
81
virtual
~OrthogPolyBasis
() {};
82
84
virtual
ordinal_type
order
()
const
= 0;
85
87
virtual
ordinal_type
dimension
()
const
= 0;
88
90
virtual
ordinal_type
size
()
const
= 0;
91
93
97
virtual
const
Teuchos::Array<value_type>&
norm_squared
()
const
= 0;
98
100
virtual
const
value_type
&
norm_squared
(
ordinal_type
i)
const
= 0;
101
103
109
virtual
110
Teuchos::RCP< Stokhos::Sparse3Tensor<ordinal_type, value_type> >
111
computeTripleProductTensor
()
const
= 0;
112
114
virtual
115
Teuchos::RCP< Stokhos::Sparse3Tensor<ordinal_type, value_type> >
116
computeLinearTripleProductTensor
()
const
= 0;
117
119
virtual
value_type
evaluateZero
(
ordinal_type
i)
const
= 0;
120
122
126
virtual
void
evaluateBases
(
127
const
Teuchos::ArrayView<const value_type>& point,
128
Teuchos::Array<value_type>& basis_vals)
const
= 0;
129
131
virtual
void
print
(std::ostream& os)
const
= 0;
132
134
virtual
const
std::string&
getName
()
const
= 0;
135
136
private
:
137
138
// Prohibit copying
139
OrthogPolyBasis
(
const
OrthogPolyBasis
&);
140
141
// Prohibit Assignment
142
OrthogPolyBasis
&
operator=
(
const
OrthogPolyBasis
& b);
143
144
};
// class OrthogPolyBasis
145
147
template
<
typename
ordinal_type,
typename
value_type>
148
std::ostream&
operator <<
(std::ostream& os,
149
const
OrthogPolyBasis<ordinal_type, value_type>
& b)
150
{
151
b.
print
(os);
152
return
os;
153
}
154
155
}
// Namespace Stokhos
156
157
#endif
// STOKHOS_ORTHOGPOLYBASIS
Stokhos_Dense3Tensor.hpp
Stokhos_OneDOrthogPolyBasis.hpp
Stokhos_Sparse3Tensor.hpp
Stokhos::OrthogPolyBasis
Abstract base class for multivariate orthogonal polynomials.
Definition
Stokhos_OrthogPolyBasis.hpp:74
Stokhos::OrthogPolyBasis::operator=
OrthogPolyBasis & operator=(const OrthogPolyBasis &b)
Stokhos::OrthogPolyBasis::evaluateZero
virtual value_type evaluateZero(ordinal_type i) const =0
Evaluate basis polynomial i at zero.
Stokhos::OrthogPolyBasis::OrthogPolyBasis
OrthogPolyBasis()
Constructor.
Definition
Stokhos_OrthogPolyBasis.hpp:78
Stokhos::OrthogPolyBasis::norm_squared
virtual const value_type & norm_squared(ordinal_type i) const =0
Return norm squared of basis polynomial i.
Stokhos::OrthogPolyBasis::norm_squared
virtual const Teuchos::Array< value_type > & norm_squared() const =0
Return array storing norm-squared of each basis polynomial.
Stokhos::OrthogPolyBasis::computeTripleProductTensor
virtual Teuchos::RCP< Stokhos::Sparse3Tensor< ordinal_type, value_type > > computeTripleProductTensor() const =0
Compute triple product tensor.
Stokhos::OrthogPolyBasis::~OrthogPolyBasis
virtual ~OrthogPolyBasis()
Destructor.
Definition
Stokhos_OrthogPolyBasis.hpp:81
Stokhos::OrthogPolyBasis::order
virtual ordinal_type order() const =0
Return order of basis.
Stokhos::OrthogPolyBasis::size
virtual ordinal_type size() const =0
Return total size of basis.
Stokhos::OrthogPolyBasis::dimension
virtual ordinal_type dimension() const =0
Return dimension of basis.
Stokhos::OrthogPolyBasis::computeLinearTripleProductTensor
virtual Teuchos::RCP< Stokhos::Sparse3Tensor< ordinal_type, value_type > > computeLinearTripleProductTensor() const =0
Compute linear triple product tensor where k = 0,1.
Stokhos::OrthogPolyBasis::getName
virtual const std::string & getName() const =0
Return string name of basis.
Stokhos::OrthogPolyBasis::evaluateBases
virtual void evaluateBases(const Teuchos::ArrayView< const value_type > &point, Teuchos::Array< value_type > &basis_vals) const =0
Evaluate basis polynomials at given point point.
Stokhos::OrthogPolyBasis::print
virtual void print(std::ostream &os) const =0
Print basis to stream os.
Stokhos::OrthogPolyBasis::OrthogPolyBasis
OrthogPolyBasis(const OrthogPolyBasis &)
Stokhos::ordinal_type
Stokhos
Top-level namespace for Stokhos classes and functions.
Definition
Stokhos_AbstractPreconditionerFactory.hpp:48
Stokhos::operator<<
std::ostream & operator<<(std::ostream &os, const ProductContainer< coeff_type > &vec)
Definition
Stokhos_ProductContainer.hpp:184
Generated by
1.17.0