ROL
InnerProductMatrix< Real > Class Template Reference

#include <InnerProductMatrix.hpp>

Inheritance diagram for InnerProductMatrix< Real >:

Public Member Functions

 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\).
virtual void solve (ROL::Ptr< const std::vector< Real > > bp, ROL::Ptr< std::vector< Real > > xp)
virtual Real inv_inner (ROL::Ptr< const std::vector< Real > > up, ROL::Ptr< const std::vector< Real > > vp)

Protected Attributes

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 InnerProductMatrix< Real >

Definition at line 20 of file InnerProductMatrix.hpp.

Constructor & Destructor Documentation

◆ InnerProductMatrix() [1/3]

template<class Real>
InnerProductMatrix< Real >::InnerProductMatrix ( const std::vector< Real > & U,
const std::vector< Real > & V,
const std::vector< Real > & w,
const int a = 1 )

◆ InnerProductMatrix() [2/3]

template<class Real>
InnerProductMatrix< Real >::InnerProductMatrix ( const std::vector< Real > & U,
const std::vector< Real > & V,
const std::vector< Real > & w,
const std::vector< Real > & a )

Definition at line 91 of file InnerProductMatrix.hpp.

References M_, ni_, nq_, U_, V_, and w_.

◆ InnerProductMatrix() [3/3]

template<class Real>
InnerProductMatrix< Real >::InnerProductMatrix ( InnerProductMatrix< Real > * ipm)

References InnerProductMatrix().

◆ ~InnerProductMatrix()

template<class Real>
InnerProductMatrix< Real >::~InnerProductMatrix ( )
virtual

Definition at line 107 of file InnerProductMatrix.hpp.

Member Function Documentation

◆ update()

template<class Real>
void InnerProductMatrix< Real >::update ( const std::vector< Real > & a)

Definition at line 142 of file InnerProductMatrix.hpp.

References M_, ni_, nq_, U_, V_, and w_.

◆ apply()

template<class Real>
void InnerProductMatrix< Real >::apply ( ROL::Ptr< const std::vector< Real > > xp,
ROL::Ptr< std::vector< Real > > bp )

Definition at line 111 of file InnerProductMatrix.hpp.

References M_, and ni_.

Referenced by inner().

◆ applyadd()

template<class Real>
void InnerProductMatrix< Real >::applyadd ( ROL::Ptr< const std::vector< Real > > xp,
ROL::Ptr< std::vector< Real > > bp )

Definition at line 122 of file InnerProductMatrix.hpp.

References M_, and ni_.

◆ applyaddtimes()

template<class Real>
void InnerProductMatrix< Real >::applyaddtimes ( ROL::Ptr< const std::vector< Real > > xp,
ROL::Ptr< std::vector< Real > > bp,
Real factor )

Definition at line 132 of file InnerProductMatrix.hpp.

References M_, and ni_.

◆ inner()

template<class Real>
Real InnerProductMatrix< Real >::inner ( ROL::Ptr< const std::vector< Real > > up,
ROL::Ptr< const std::vector< Real > > vp )

Compute the inner product \(u^\top M v\).

Definition at line 160 of file InnerProductMatrix.hpp.

References apply(), and ni_.

◆ solve()

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

Reimplemented in InnerProductMatrixSolver< Real >.

Definition at line 52 of file InnerProductMatrix.hpp.

◆ inv_inner()

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

Reimplemented in InnerProductMatrixSolver< Real >.

Definition at line 56 of file InnerProductMatrix.hpp.

Member Data Documentation

◆ nq_

template<class Real>
const int InnerProductMatrix< Real >::nq_
protected

Definition at line 61 of file InnerProductMatrix.hpp.

Referenced by InnerProductMatrix(), InnerProductMatrix(), and update().

◆ ni_

template<class Real>
const int InnerProductMatrix< Real >::ni_
protected

◆ U_

template<class Real>
const std::vector<Real> InnerProductMatrix< Real >::U_
protected

Definition at line 63 of file InnerProductMatrix.hpp.

Referenced by InnerProductMatrix(), InnerProductMatrix(), and update().

◆ V_

template<class Real>
const std::vector<Real> InnerProductMatrix< Real >::V_
protected

Definition at line 64 of file InnerProductMatrix.hpp.

Referenced by InnerProductMatrix(), InnerProductMatrix(), and update().

◆ w_

template<class Real>
const std::vector<Real> InnerProductMatrix< Real >::w_
protected

Definition at line 65 of file InnerProductMatrix.hpp.

Referenced by InnerProductMatrix(), InnerProductMatrix(), and update().

◆ M_

template<class Real>
std::vector<Real> InnerProductMatrix< Real >::M_
protected

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