#include <vector.h>
Public Member Functions | |
| Matrix () | |
| General constructor; no initialisation. | |
| Matrix (IFloat c) | |
| Initialisation to real multiple of the unit matrix. | |
| Matrix (const Complex &c) | |
| Initialisation to complex multiple of the unit matrix. | |
| Matrix (const Matrix &m) | |
| Copy constructor. | |
| Matrix & | operator= (IFloat c) |
| Assignment to real multiple of the unit matrix. | |
| Matrix & | operator= (const Complex &c) |
| Assignment to complex multiple of the unit matrix. | |
| Matrix & | operator= (const Matrix &m) |
| Overloaded assignment. | |
| Matrix & | operator+= (const Matrix &m) |
| Adds a matrix m to this matrix. | |
| Matrix & | operator+= (IFloat c) |
| Adds a real scalar multiple of the unit matrix to this one. | |
| Matrix & | operator-= (const Matrix &m) |
| Subtracts a matrix m to this matrix. | |
| Matrix & | operator-= (IFloat c) |
| Subtracts a real scalar multiple of the unit matrix from this one. | |
| Matrix & | operator *= (IFloat c) |
| Multiplies this matrix by a real scalar. | |
| void | DotMEqual (const Matrix &a, const Matrix &b) |
| Assignment to matrix product; ab. | |
| void | DotMPlus (const Matrix &a, const Matrix &b) |
| Assignment to matrix product; ab. | |
| void | Trans (const IFloat *m) |
| Assignment to Matrix transpose. | |
| void | Trans (const Matrix &m) |
| Assignment to matrix transpose. | |
| void | Dagger (const IFloat *m) |
| Hermitian conjugate. | |
| void | Dagger (const Matrix &m) |
| Assignment to hermitian conjugate. | |
| void | TrLessAntiHermMatrix (const Matrix &this_dag) |
| Not what you might think. | |
| void | TrLessAntiHermMatrix () |
| void | Cross2 (const Vector &v1, const Vector &v2) |
| Assignment to tensor product of vectors. | |
| void | AntiHermMatrix (const IFloat *a) |
| Assignment to an traceless antihermitian matrix. | |
| void | Unitarize (void) |
| Force this matrix to be an SU(3) matrix. | |
| int | ProjSU3 (void) |
| void | UnitMatrix (void) |
| Assignment to a unit matrix. | |
| void | ZeroMatrix (void) |
| Assignment to a zero matrix. | |
| void | NegMatrix (const Matrix &m) |
| Assignment to a negated matrix. | |
| void | OneMinusfTimesM (IFloat x, const Matrix &m) |
| Assignment to the matrix linear combination 1-xm. | |
| Complex & | operator() (int i, int j) |
| Write access. | |
| const Complex & | operator() (int i, int j) const |
| Read access. | |
| Complex & | operator[] (int i) |
| Write access. | |
| const Complex & | operator[] (int i) const |
| Read access. | |
| IFloat | elem (int i) |
| void | Det (IFloat *c) const |
| The determinant. | |
| IFloat | ReTr () const |
| Returns the real part of the trace. | |
| Complex | Tr () const |
| Returns the trace. | |
| IFloat | NegHalfTrSquare () const |
| -1/2 times the trace of the square. | |
| IFloat | ErrorSU3 () const |
| The deviation of this matrix from unitarity. | |
| IFloat | norm () const |
| Complex | Char3 () const |
| Complex | Char6 () const |
| Complex | Char8 () const |
| Complex | Char10 () const |
Friends | |
| class | Vector |
Definition at line 142 of file vector.h.
|
|
General constructor; no initialisation.
|
|
|
Initialisation to real multiple of the unit matrix. The diagonal matrix elements (0,0), (1,1) and (2,2) are set to the real number c; All other elements are zero.
|
|
|
Initialisation to complex multiple of the unit matrix. The diagonal matrix elements (0,0), (1,1) and (2,2) are set to the complex number c; All other elements are zero.
Definition at line 52 of file vector.C. References cps::Complex. |
|
|
Copy constructor. The matrix is initialised as a copy of the matrix m.
|
|
|
Assignment to an traceless antihermitian matrix.
Definition at line 134 of file su3_util.C. References cps::IFloat, and cps::p(). Referenced by cps::Lattice::RandGaussAntiHermMatrix(), and cps::AlgNoise::run(). |
|
|
Definition at line 201 of file vector.C. References cps::Complex, cps::IFloat, cps::imChar10(), and cps::reChar10(). Referenced by cps::AlgWline::run(). |
|
|
Definition at line 361 of file vector.h. References cps::Complex, and cps::Tr(). Referenced by cps::AlgWline::run(), and cps::AlgHQPotential::run(). |
|
|
Definition at line 187 of file vector.C. References cps::Complex, cps::IFloat, cps::imChar6(), and cps::reChar6(). Referenced by cps::AlgWline::run(). |
|
|
Definition at line 194 of file vector.C. References cps::Complex, cps::IFloat, and cps::reChar8(). Referenced by cps::AlgWline::run(). |
|
||||||||||||
|
Assignment to tensor product of vectors.
Definition at line 108 of file su3_util.C. References cps::IFloat, cps::p(), and cps::Vector::v. Referenced by cps::Fstag::FforceSite(), and cps::pt_vvpd(). |
|
|
Assignment to hermitian conjugate.
Definition at line 260 of file vector.h. References cps::IFloat. |
|
|
|
The determinant.
Definition at line 167 of file su3_util.C. References cps::IFloat, and cps::p(). Referenced by ProjSU3(). |
|
||||||||||||
|
Assignment to matrix product; ab.
Definition at line 224 of file vector.h. References cps::IFloat, cps::mDotMEqual(), and u. Referenced by ErrorSU3(), cps::FwilsonTm::EvolveMomFforce(), cps::Fwilson::EvolveMomFforce(), cps::FdwfBase::EvolveMomFforce(), cps::Fclover::EvolveMomFforce(), cps::QPropW::MeasConAxialOld(), cps::MkTop(), cps::LatMatrix::MulDag(), norm(), cps::operator *(), ProjSU3(), cps::AlgWline::run(), cps::AlgRotateGauge::run(), cps::AlgNoise::run(), cps::AlgInst::run(), cps::AlgHQPotential::run(), cps::DiracOpClover::SiteFuv(), cps::AlgHypSmear::smear_link(), and cps::su3_proj(). |
|
||||||||||||
|
Assignment to matrix product; ab.
Definition at line 233 of file vector.h. References cps::IFloat, cps::mDotMPlus(), and u. Referenced by cps::MkTop(), cps::DiracOpClover::SiteFuv(), and cps::AlgHypSmear::smear_link(). |
|
|
Definition at line 336 of file vector.h. References cps::IFloat. |
|
|
The deviation of this matrix from unitarity.
Definition at line 148 of file vector.C. References COLORS, Dagger(), DotMEqual(), cps::dotProduct(), cps::IFloat, and cps::p(). |
|
|
-1/2 times the trace of the square. This method is specifically for an anti-hermitian matrix only. Definition at line 211 of file su3_util.C. References cps::IFloat, and cps::p(). Referenced by cps::Lattice::MomHamiltonNode(). |
|
|
Assignment to a negated matrix.
Definition at line 302 of file vector.h. References COLORS, cps::IFloat, and cps::vecNegative(). |
|
|
Returns the SU(3) matrix norm, defined by ||X||^2 = -2 trace X^2 Definition at line 211 of file vector.C. References DotMEqual(), cps::IFloat, and ReTr(). Referenced by cps::FwilsonTm::EvolveMomFforce(), cps::Fwilson::EvolveMomFforce(), cps::Fstag::EvolveMomFforce(), cps::FdwfBase::EvolveMomFforce(), cps::Fclover::EvolveMomFforce(), and cps::GimprOLSym::EvolveMomGforce(). |
|
||||||||||||
|
Assignment to the matrix linear combination 1-xm.
Definition at line 311 of file vector.h. References COLORS, cps::IFloat, and cps::oneMinusfTimesMatrix(). |
|
|
Multiplies this matrix by a real scalar.
Definition at line 214 of file vector.h. References COLORS, cps::IFloat, and cps::vecTimesEquFloat(). |
|
||||||||||||
|
Read access.
Definition at line 178 of file vector.C. References COLORS, and cps::Complex. |
|
||||||||||||
|
Write access.
Definition at line 168 of file vector.C. References COLORS, and cps::Complex. |
|
|
Adds a real scalar multiple of the unit matrix to this one.
|
|
|
Adds a matrix m to this matrix.
Definition at line 180 of file vector.h. References COLORS, cps::IFloat, u, and cps::vecAddEquVec(). |
|
|
Subtracts a real scalar multiple of the unit matrix from this one.
|
|
|
Subtracts a matrix m to this matrix.
Definition at line 197 of file vector.h. References COLORS, cps::IFloat, u, and cps::vecMinusEquVec(). |
|
|
Overloaded assignment. m should not alias this matrix Definition at line 166 of file vector.h. References COLORS, cps::Float, and cps::moveMem(). |
|
|
Assignment to complex multiple of the unit matrix. The diagonal matrix elements (0,0), (1,1) and (2,2) are set to the complex number c; All other elements are zero.
Definition at line 84 of file vector.C. References cps::Complex, and ZeroMatrix(). |
|
|
Assignment to real multiple of the unit matrix. The diagonal matrix elements (0,0), (1,1) and (2,2) are set to the real number c; All other elements are zero.
Definition at line 71 of file vector.C. References ZeroMatrix(). |
|
|
Read access.
Definition at line 335 of file vector.h. References cps::Complex. |
|
|
Write access.
Definition at line 329 of file vector.h. References cps::Complex. |
|
|
Project this matrix onto SU(3) according to its polar decomposition Added by Thomas Dumitrescu 06/2006 Definition at line 61 of file projsu3.C. References COLORS, cps::Complex, cps::conj(), Dagger(), Det(), cps::diagonalize(), DotMEqual(), DOUBLE_EQUAL, cps::Float, cps::Rcomplex::imag(), cps::k, MAX_JACOBI_SWEEPS, cps::MPISCU::printf(), and cps::Rcomplex::real(). Referenced by cps::AlgOlegSmear::run(). |
|
|
Returns the real part of the trace.
Definition at line 202 of file su3_util.C. References cps::IFloat, and cps::p(). Referenced by cps::QPropW::MeasConAxialOld(), norm(), cps::GpowerRect::PowerRectStaple(), cps::GpowerRect::PowerStaple(), cps::GpowerPlaq::PowerStaple(), cps::Lattice::ReTrLoop(), cps::Lattice::ReTrPlaq(), cps::Lattice::ReTrRect(), and cps::su3_proj(). |
|
|
Returns the trace.
Definition at line 183 of file vector.C. References cps::Complex. Referenced by cps::FixHPlane::delta(), cps::Nuc3ptStru::InsertOp(), cps::MkTop(), cps::AlgPot2::run(), and cps::AlgPot::run(). |
|
|
Assignment to matrix transpose.
Definition at line 247 of file vector.h. References cps::IFloat, cps::MPISCU::Trans(), and u. |
|
|
Assignment to Matrix transpose.
Definition at line 103 of file vector.C. References cps::Complex. Referenced by cps::qload_unpackstrip(), cps::qsave_packstrip(), cps::DiracOpClover::SiteFuv(), cps::WilsonMatrix::UdagMultSource(), and cps::WilsonMatrix::UMultSource(). |
|
|
Definition at line 79 of file su3_util.C. References cps::IFloat, and cps::p(). |
|
|
Not what you might think.
Definition at line 65 of file su3_util.C. References cps::IFloat, cps::p(), and cps::vecTimesEquFloat(). Referenced by cps::FwilsonTm::EvolveMomFforce(), cps::Fwilson::EvolveMomFforce(), cps::FdwfBase::EvolveMomFforce(), cps::Fclover::EvolveMomFforce(), cps::GimprOLSym::EvolveMomGforce(), cps::Fstag::FforceSite(), cps::GtadpoleRect::GforceSite(), cps::GpowerRect::GforceSite(), cps::GpowerPlaq::GforceSite(), cps::GimprRect::GforceSite(), cps::GimprOLSym::GforceSite(), and cps::LatMatrix::TrLessAntiHermMatrix(). |
|
|
Force this matrix to be an SU(3) matrix.
Definition at line 44 of file unitarize.C. References cps::crossProductConj(), cps::Float, cps::normalize(), and cps::orthogonalize(). Referenced by cps::Lattice::Reunitarize(), and cps::FixHPlane::unitarize(). |
|
|
Assignment to a unit matrix.
Definition at line 116 of file vector.C. References cps::IFloat, and cps::p(). Referenced by cps::Lattice::FixGaugeAllocate(), cps::AlgWline::run(), cps::AlgInst::run(), cps::Lattice::SetGfieldOrd(), and cps::su3_proj(). |
|
|
Assignment to a zero matrix.
Definition at line 134 of file vector.C. References cps::IFloat, and cps::p(). Referenced by cps::Lattice::BufferedChairStaple(), cps::Lattice::BufferedCubeStaple(), cps::Lattice::BufferedRectStaple(), cps::Lattice::BufferedStaple(), cps::CloverLeaf(), cps::CloverLeaf1x3(), cps::CloverLeaf2x2(), cps::CloverLeaf3x3(), cps::CloverLeafRect(), cps::Fp4::EvolveMomFforce(), cps::Fasqtad::EvolveMomFforce(), cps::Fnone::FforceSite(), cps::five_staple(), cps::Gnone::GforceSite(), cps::Nuc3ptStru::InsertOp(), cps::lepage_staple(), operator=(), cps::GpowerRect::PowerRectStaple(), cps::pt_vvpd(), cps::Lattice::RectStaple(), cps::Lattice::ReTrLoop(), cps::Fp4::RHMC_EvolveMomFforce(), cps::Fasqtad::RHMC_EvolveMomFforce(), cps::AlgPot2::run(), cps::AlgPot::run(), cps::seven_staple(), cps::Fp4::Smear(), cps::Fasqtad::Smear(), cps::AlgHypSmear::smear_link(), cps::three_staple(), and cps::three_staple2(). |
|
|
|
1.3.9.1