CHROMA
Public Member Functions | List of all members
Chroma::DiffLinearOperatorArray< T, P, Q > Class Template Referenceabstract

Differentiable Linear Operator. More...

#include <linearop.h>

Inheritance diagram for Chroma::DiffLinearOperatorArray< T, P, Q >:
Chroma::LinearOperatorArray< T > Chroma::DslashLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::UnprecLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::DiffMdagLinOpArray< T, P, Q > Chroma::DiffMdagMLinOpArray< T, P, Q > Chroma::DslashLinearOperatorArray< T, P, Q > Chroma::EvenOddPrecLinearOperatorArray< T, P, Q > Chroma::UnprecLinearOperatorArray< T, P, Q > Chroma::WilsonDslashBaseArray Chroma::UnprecDWLikeLinOpBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::UnprecHTContFrac5DLinOpArray Chroma::UnprecOvExtLinOpArray Chroma::UnprecOvlapContFrac5DLinOpArray Chroma::UnprecOvlapContFrac5DNonHermOpArray Chroma::UnprecOvlapContFrac5DPVLinOpArray Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::EvenOddPrecConstDetLinearOperatorArray< T, P, Q > Chroma::EvenOddPrecLogDetLinearOperatorArray< T, P, Q > Chroma::UnprecDWLikeLinOpBaseArray< T, P, Q >

Public Member Functions

virtual ~DiffLinearOperatorArray ()
 Virtual destructor to help with cleanup;. More...
 
virtual const FermBC< T, P, Q > & getFermBC () const =0
 Return the fermion BC object for this linear operator. More...
 
virtual void deriv (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const
 Apply the derivative of the operator onto a source std::vector. More...
 
virtual void deriv (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, const Real &epsilon) const
 Apply the derivative of the operator onto a source std::vector to some precision. More...
 
- Public Member Functions inherited from Chroma::LinearOperatorArray< T >
virtual ~LinearOperatorArray ()
 Virtual destructor to help with cleanup;. More...
 
virtual int size () const =0
 Expected length of array index. More...
 
virtual void operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const =0
 Apply the operator onto a source std::vector. More...
 
virtual void operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, Real epsilon) const
 Apply the operator onto a source std::vector to some precision. More...
 
virtual const Subset & subset () const =0
 Return the subset on which the operator acts. More...
 
virtual unsigned long nFlops () const
 

Detailed Description

template<typename T, typename P, typename Q>
class Chroma::DiffLinearOperatorArray< T, P, Q >

Differentiable Linear Operator.

Supports creation and application for linear operators that hold things like Dirac operators, etc. that are differentiable

Definition at line 149 of file linearop.h.

Constructor & Destructor Documentation

◆ ~DiffLinearOperatorArray()

template<typename T , typename P , typename Q >
virtual Chroma::DiffLinearOperatorArray< T, P, Q >::~DiffLinearOperatorArray ( )
inlinevirtual

Virtual destructor to help with cleanup;.

Definition at line 153 of file linearop.h.

Member Function Documentation

◆ deriv() [1/2]

template<typename T , typename P , typename Q >
virtual void Chroma::DiffLinearOperatorArray< T, P, Q >::deriv ( P ds_u,
const multi1d< T > &  chi,
const multi1d< T > &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

◆ deriv() [2/2]

template<typename T , typename P , typename Q >
virtual void Chroma::DiffLinearOperatorArray< T, P, Q >::deriv ( P ds_u,
const multi1d< T > &  chi,
const multi1d< T > &  psi,
enum PlusMinus  isign,
const Real &  epsilon 
) const
inlinevirtual

Apply the derivative of the operator onto a source std::vector to some precision.

Default implementation

Reimplemented in Chroma::DiffMdagMLinOpArray< T, P, Q >, and Chroma::DiffMdagLinOpArray< T, P, Q >.

Definition at line 169 of file linearop.h.

References chi, deriv(), Chroma::isign, and psi.

◆ getFermBC()

template<typename T , typename P , typename Q >
virtual const FermBC<T,P,Q>& Chroma::DiffLinearOperatorArray< T, P, Q >::getFermBC ( ) const
pure virtual

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