ROL
Public Member Functions | Private Attributes | List of all members
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\) More...
 
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\). More...
 
- 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\). More...
 

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

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 
)
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

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.

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 ROL::solve().

Member Data Documentation

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

Definition at line 180 of file InnerProductMatrix.hpp.

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

Definition at line 182 of file InnerProductMatrix.hpp.

template<class Real >
std::vector<Real> InnerProductMatrixSolver< Real >::M_
private
template<class Real >
const char InnerProductMatrixSolver< Real >::TRANS_
private

Definition at line 184 of file InnerProductMatrix.hpp.

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

Definition at line 187 of file InnerProductMatrix.hpp.

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

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