ROL
FiniteDifference< Real > Class Template Reference

#include <FiniteDifference.hpp>

Public Member Functions

 FiniteDifference (int n, double dx)
void solve (ROL::Ptr< const std::vector< Real > > fp, ROL::Ptr< std::vector< Real > > up)
 Given f, compute -u''=f.
void solve (ROL::Ptr< std::vector< Real > > up)
 Same as above but with overwrite in place.
void apply (ROL::Ptr< const std::vector< Real > > up, ROL::Ptr< std::vector< Real > > fp)
 Given u, compute f = -u''.
void apply (ROL::Ptr< std::vector< Real > > fp)
 Same as above but with overwrite in place.

Private Attributes

int n_
double dx2_
Teuchos::LAPACK< int, Real > lapack_
std::vector< Real > dl_
std::vector< Real > d_
std::vector< Real > du_
std::vector< Real > du2_
std::vector< int > ipiv_
int info_

Detailed Description

template<class Real>
class FiniteDifference< Real >

Definition at line 16 of file FiniteDifference.hpp.

Constructor & Destructor Documentation

◆ FiniteDifference()

template<class Real>
FiniteDifference< Real >::FiniteDifference ( int n,
double dx )
inline

Definition at line 43 of file FiniteDifference.hpp.

References d_, dl_, du2_, du_, dx2_, info_, ipiv_, lapack_, and n_.

Member Function Documentation

◆ solve() [1/2]

template<class Real>
void FiniteDifference< Real >::solve ( ROL::Ptr< const std::vector< Real > > fp,
ROL::Ptr< std::vector< Real > > up )
inline

Given f, compute -u''=f.

Definition at line 54 of file FiniteDifference.hpp.

References d_, dl_, du2_, du_, info_, ipiv_, lapack_, and n_.

◆ solve() [2/2]

template<class Real>
void FiniteDifference< Real >::solve ( ROL::Ptr< std::vector< Real > > up)
inline

Same as above but with overwrite in place.

Definition at line 62 of file FiniteDifference.hpp.

References d_, dl_, du2_, du_, info_, ipiv_, lapack_, and n_.

◆ apply() [1/2]

template<class Real>
void FiniteDifference< Real >::apply ( ROL::Ptr< const std::vector< Real > > up,
ROL::Ptr< std::vector< Real > > fp )
inline

Given u, compute f = -u''.

Definition at line 67 of file FiniteDifference.hpp.

References dx2_, and n_.

◆ apply() [2/2]

template<class Real>
void FiniteDifference< Real >::apply ( ROL::Ptr< std::vector< Real > > fp)
inline

Same as above but with overwrite in place.

Definition at line 77 of file FiniteDifference.hpp.

References dx2_, and n_.

Member Data Documentation

◆ n_

template<class Real>
int FiniteDifference< Real >::n_
private

Definition at line 19 of file FiniteDifference.hpp.

Referenced by apply(), apply(), FiniteDifference(), solve(), and solve().

◆ dx2_

template<class Real>
double FiniteDifference< Real >::dx2_
private

Definition at line 20 of file FiniteDifference.hpp.

Referenced by apply(), apply(), and FiniteDifference().

◆ lapack_

template<class Real>
Teuchos::LAPACK<int,Real> FiniteDifference< Real >::lapack_
private

Definition at line 21 of file FiniteDifference.hpp.

Referenced by FiniteDifference(), solve(), and solve().

◆ dl_

template<class Real>
std::vector<Real> FiniteDifference< Real >::dl_
private

Definition at line 24 of file FiniteDifference.hpp.

Referenced by FiniteDifference(), solve(), and solve().

◆ d_

template<class Real>
std::vector<Real> FiniteDifference< Real >::d_
private

Definition at line 27 of file FiniteDifference.hpp.

Referenced by FiniteDifference(), solve(), and solve().

◆ du_

template<class Real>
std::vector<Real> FiniteDifference< Real >::du_
private

Definition at line 30 of file FiniteDifference.hpp.

Referenced by FiniteDifference(), solve(), and solve().

◆ du2_

template<class Real>
std::vector<Real> FiniteDifference< Real >::du2_
private

Definition at line 33 of file FiniteDifference.hpp.

Referenced by FiniteDifference(), solve(), and solve().

◆ ipiv_

template<class Real>
std::vector<int> FiniteDifference< Real >::ipiv_
private

Definition at line 36 of file FiniteDifference.hpp.

Referenced by FiniteDifference(), solve(), and solve().

◆ info_

template<class Real>
int FiniteDifference< Real >::info_
private

Definition at line 38 of file FiniteDifference.hpp.

Referenced by FiniteDifference(), solve(), and solve().


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