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 (Teuchos::RCP< 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 (Teuchos::RCP< 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 (Teuchos::RCP< const std::vector< Real > > bp, Teuchos::RCP< std::vector< Real > > xp)
 solve \(Mx=b\) for \(x\) More...
 
Real inv_inner (Teuchos::RCP< const std::vector< Real > > up, Teuchos::RCP< 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 (Teuchos::RCP< const std::vector< Real > > xp, Teuchos::RCP< std::vector< Real > > bp)
 
void applyadd (Teuchos::RCP< const std::vector< Real > > xp, Teuchos::RCP< std::vector< Real > > bp)
 
void applyaddtimes (Teuchos::RCP< const std::vector< Real > > xp, Teuchos::RCP< std::vector< Real > > bp, Real factor)
 
Real inner (Teuchos::RCP< const std::vector< Real > > up, Teuchos::RCP< const std::vector< Real > > vp)
 Compute the inner product \(u^\top M v\). More...
 

Private Attributes

Teuchos::RCP< 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 168 of file InnerProductMatrix.hpp.

Constructor & Destructor Documentation

◆ InnerProductMatrixSolver() [1/2]

template<class Real >
InnerProductMatrixSolver< Real >::InnerProductMatrixSolver ( Teuchos::RCP< 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 ( Teuchos::RCP< 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 ( Teuchos::RCP< const std::vector< Real > >  bp,
Teuchos::RCP< std::vector< Real > >  xp 
)
virtual

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

Reimplemented from InnerProductMatrix< Real >.

Definition at line 245 of file InnerProductMatrix.hpp.

◆ inv_inner()

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

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

Reimplemented from InnerProductMatrix< Real >.

Definition at line 259 of file InnerProductMatrix.hpp.

Member Data Documentation

◆ lapack_

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

Definition at line 171 of file InnerProductMatrix.hpp.

◆ ni_

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

◆ nq_

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

Definition at line 173 of file InnerProductMatrix.hpp.

◆ M_

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

◆ TRANS_

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

Definition at line 175 of file InnerProductMatrix.hpp.

◆ 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 178 of file InnerProductMatrix.hpp.

◆ info_

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

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