ROL
InnerProductMatrixSolver< Real > Class Template Reference

This class adds a solve method. More...

#include <InnerProductMatrix.hpp>

Inheritance diagram for InnerProductMatrixSolver< Real >:

Public Member Functions

 InnerProductMatrixSolver (ROL::Ptr< Teuchos::LAPACK< int, Real > > lapack, const std::vector< Real > &U=std::vector< Real >(), const std::vector< Real > &V=std::vector< Real >(), const std::vector< Real > &w=std::vector< Real >(), const int a=1)
 InnerProductMatrixSolver (ROL::Ptr< Teuchos::LAPACK< int, Real > > lapack, const std::vector< Real > &U=std::vector< Real >(), const std::vector< Real > &V=std::vector< Real >(), const std::vector< Real > &w=std::vector< Real >(), const std::vector< Real > &a=std::vector< Real >())
void solve (ROL::Ptr< const std::vector< Real > > bp, ROL::Ptr< std::vector< Real > > xp)
 solve \(Mx=b\) for \(x\)
Real inv_inner (ROL::Ptr< const std::vector< Real > > up, ROL::Ptr< const std::vector< Real > > vp)
 Compute the inner product \(u^\top M^{-1} v\).
Public Member Functions inherited from InnerProductMatrix< Real >
 InnerProductMatrix (const std::vector< Real > &U, const std::vector< Real > &V, const std::vector< Real > &w, const int a=1)
 InnerProductMatrix (const std::vector< Real > &U, const std::vector< Real > &V, const std::vector< Real > &w, const std::vector< Real > &a)
 InnerProductMatrix (InnerProductMatrix< Real > *ipm)
void update (const std::vector< Real > &a)
virtual ~InnerProductMatrix ()
void apply (ROL::Ptr< const std::vector< Real > > xp, ROL::Ptr< std::vector< Real > > bp)
void applyadd (ROL::Ptr< const std::vector< Real > > xp, ROL::Ptr< std::vector< Real > > bp)
void applyaddtimes (ROL::Ptr< const std::vector< Real > > xp, ROL::Ptr< std::vector< Real > > bp, Real factor)
Real inner (ROL::Ptr< const std::vector< Real > > up, ROL::Ptr< const std::vector< Real > > vp)
 Compute the inner product \(u^\top M v\).

Private Attributes

ROL::Ptr< Teuchos::LAPACK< int, Real > > lapack_
const int ni_
const int nq_
std::vector< Real > M_
const char TRANS_
std::vector< int > ipiv_
std::vector< Real > PLU_
const int nrhs_
int info_

Additional Inherited Members

Protected Attributes inherited from InnerProductMatrix< Real >
const int nq_
const int ni_
const std::vector< Real > U_
const std::vector< Real > V_
const std::vector< Real > w_
std::vector< Real > M_

Detailed Description

template<class Real>
class InnerProductMatrixSolver< Real >

This class adds a solve method.

Definition at line 177 of file InnerProductMatrix.hpp.

Constructor & Destructor Documentation

◆ InnerProductMatrixSolver() [1/2]

template<class Real>
InnerProductMatrixSolver< Real >::InnerProductMatrixSolver ( ROL::Ptr< Teuchos::LAPACK< int, Real > > lapack,
const std::vector< Real > & U = std::vector<Real>(),
const std::vector< Real > & V = std::vector<Real>(),
const std::vector< Real > & w = std::vector<Real>(),
const int a = 1 )

◆ InnerProductMatrixSolver() [2/2]

template<class Real>
InnerProductMatrixSolver< Real >::InnerProductMatrixSolver ( ROL::Ptr< Teuchos::LAPACK< int, Real > > lapack,
const std::vector< Real > & U = std::vector<Real>(),
const std::vector< Real > & V = std::vector<Real>(),
const std::vector< Real > & w = std::vector<Real>(),
const std::vector< Real > & a = std::vector<Real>() )

Member Function Documentation

◆ solve()

template<class Real>
void InnerProductMatrixSolver< Real >::solve ( ROL::Ptr< const std::vector< Real > > bp,
ROL::Ptr< std::vector< Real > > xp )
virtual

solve \(Mx=b\) for \(x\)

Reimplemented from InnerProductMatrix< Real >.

Definition at line 254 of file InnerProductMatrix.hpp.

References info_, ipiv_, lapack_, ni_, PLU_, and TRANS_.

◆ inv_inner()

template<class Real>
Real InnerProductMatrixSolver< Real >::inv_inner ( ROL::Ptr< const std::vector< Real > > up,
ROL::Ptr< const std::vector< Real > > vp )
virtual

Compute the inner product \(u^\top M^{-1} v\).

Reimplemented from InnerProductMatrix< Real >.

Definition at line 268 of file InnerProductMatrix.hpp.

References ni_, and solve().

Member Data Documentation

◆ lapack_

template<class Real>
ROL::Ptr<Teuchos::LAPACK<int,Real> > InnerProductMatrixSolver< Real >::lapack_
private

◆ ni_

template<class Real>
const int InnerProductMatrixSolver< Real >::ni_
private

◆ nq_

template<class Real>
const int InnerProductMatrixSolver< Real >::nq_
private

Definition at line 182 of file InnerProductMatrix.hpp.

Referenced by InnerProductMatrixSolver(), and InnerProductMatrixSolver().

◆ M_

template<class Real>
std::vector<Real> InnerProductMatrixSolver< Real >::M_
private

Definition at line 183 of file InnerProductMatrix.hpp.

Referenced by InnerProductMatrixSolver(), and InnerProductMatrixSolver().

◆ TRANS_

template<class Real>
const char InnerProductMatrixSolver< Real >::TRANS_
private

◆ ipiv_

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

◆ PLU_

template<class Real>
std::vector<Real> InnerProductMatrixSolver< Real >::PLU_
private

◆ nrhs_

template<class Real>
const int InnerProductMatrixSolver< Real >::nrhs_
private

Definition at line 187 of file InnerProductMatrix.hpp.

Referenced by InnerProductMatrixSolver(), and InnerProductMatrixSolver().

◆ info_

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

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