CHROMA
|
Polynomial operator. More...
#include <polynomial_op.h>
Public Member Functions | |
lpoly (Handle< DiffLinearOperator< T, P, Q > > m_, int degree_, const Real &lower_bound_, const Real &upper_bound_, int ord) | |
lpoly (Handle< DiffLinearOperator< T, P, Q > > m_, int degree_, const Real &lower_bound_, const Real &upper_bound_) | |
~lpoly () | |
const FermBC< T, P, Q > & | getFermBC () const |
Return the fermion BC object for this linear operator. More... | |
const Subset & | subset () const |
Subset comes from underlying operator. More... | |
multi1d< DComplex > | Roots () const |
Returns the roots. More... | |
multi1d< DComplex > | MonomialNorm () const |
Returns the roots. More... | |
void | Qsq (T &y, const T &x) const |
Apply the underlying (Mdagger M) operator. More... | |
void | applyChebInv (T &x, const T &b) const |
void | operator() (T &chi, const T &b, PlusMinus isign) const |
Here is your apply function. More... | |
void | applyA (T &chi, const T &b, PlusMinus isign) const |
Apply the A or A_dagger piece: P(Qsq) = A_dagger(Qsq) * A(Qsq) More... | |
void | deriv (P &ds_u, const T &chi, const T &psi, PlusMinus isign) const |
Apply the derivative of the linop. More... | |
![]() | |
virtual | ~PolyLinearOperator () |
Virtual destructor to help with cleanup;. More... | |
![]() | |
virtual | ~DiffLinearOperator () |
Virtual destructor to help with cleanup;. More... | |
virtual void | deriv (P &ds_u, const T &chi, const T &psi, enum PlusMinus isign, const Real &epsilon) const |
Apply the derivative of the operator onto a source std::vector to some precision. More... | |
virtual void | derivMultipole (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const |
Return the force for multiple poles. More... | |
![]() | |
virtual | ~LinearOperator () |
Virtual destructor to help with cleanup;. More... | |
virtual void | operator() (T &chi, const T &psi, enum PlusMinus isign, Real epsilon) const |
Apply the operator onto a source std::vector to some precision. More... | |
virtual unsigned long | nFlops () const |
Private Member Functions | |
int | bitrevers (int n, int maxBits) |
void | GetRoots (multi1d< DComplex > &r, multi1d< DComplex > &ic) |
Private Attributes | |
Handle< DiffLinearOperator< T, P, Q > > | M |
Double | LowerBound |
Double | UpperBound |
int | degree |
multi1d< DComplex > | root |
multi1d< DComplex > | inv_c |
Real | c_Zero |
Polynomial operator.
Definition at line 26 of file polynomial_op.h.
|
inline |
|
inline |
Definition at line 130 of file polynomial_op.h.
|
inline |
Definition at line 183 of file polynomial_op.h.
|
inlinevirtual |
Apply the A or A_dagger piece: P(Qsq) = A_dagger(Qsq) * A(Qsq)
Implements Chroma::PolyLinearOperator< T, P, Q >.
Definition at line 259 of file polynomial_op.h.
References Chroma::b, chi, i, Chroma::isign, Chroma::MINUS, and Chroma::PLUS.
|
inlineprivate |
Definition at line 44 of file polynomial_op.h.
|
inlinevirtual |
Apply the derivative of the linop.
QDPIO::cout<<"CheckProducts: "; QDPIO::cout<< innerProduct(psi_products[0],psi_products[degree])<<std::endl ; for(int n(0); n < degree+1; ++n){
QDPIO::cout<<"CheckProducts: "<<n<< ": " ; QDPIO::cout<< innerProduct(chi_products[n],psi_products[n])<<std::endl ;
}
Reimplemented from Chroma::DiffLinearOperator< T, P, Q >.
Definition at line 293 of file polynomial_op.h.
References chi, Chroma::d, Chroma::MINUS, n, Nd, Chroma::PLUS, psi, and Chroma::zero.
|
inlinevirtual |
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperator< T, P, Q >.
Definition at line 186 of file polynomial_op.h.
|
inlineprivate |
Definition at line 61 of file polynomial_op.h.
References Chroma::StaggeredFlavorOperators::AntiSymmetricTensor4D::eps, i, and r().
|
inline |
Returns the roots.
Definition at line 197 of file polynomial_op.h.
|
inlinevirtual |
Here is your apply function.
Implements Chroma::LinearOperator< T >.
Definition at line 251 of file polynomial_op.h.
References Chroma::b, chi, and Chroma::zero.
|
inline |
Apply the underlying (Mdagger M) operator.
Definition at line 203 of file polynomial_op.h.
References Chroma::MINUS, Chroma::PLUS, t, x, and y.
|
inline |
Returns the roots.
Definition at line 192 of file polynomial_op.h.
|
inlinevirtual |
Subset comes from underlying operator.
Implements Chroma::LinearOperator< T >.
Definition at line 189 of file polynomial_op.h.
|
private |
Definition at line 41 of file polynomial_op.h.
|
private |
Definition at line 34 of file polynomial_op.h.
|
private |
Definition at line 39 of file polynomial_op.h.
|
private |
Definition at line 31 of file polynomial_op.h.
|
private |
Definition at line 29 of file polynomial_op.h.
|
private |
Definition at line 38 of file polynomial_op.h.
|
private |
Definition at line 32 of file polynomial_op.h.