|
Index
C++ Code Documentation
loop::Loop4
File: LAB/loop/Loop4.H
public:
- inline Loop4(uint len);
 | constructor | |
- inline Loop4(Loop4 const &);
 | copy constructor | |
- inline ~Loop4();
 | destructor | |
- inline Loop4 &operator=(Loop4 const &);
 | assignment operator | |
- inline void clear();
 | / *this = 0 | |
- inline void identity();
 | *this = identity matrix | |
- Loop2 &col1();
- Loop2 &col2();
- Loop2 const &col1() const;
- Loop2 const &col2() const;
- inline Loop2 &operator[](uint i);
- else if (i==1);
- throw 1;
- } inline Loop2 const &operator[](uint i) const;
- else if (i==1);
- throw 1;
- } inline void allocate( uint polylen );
- inline uint polylen() const;
- inline void chop();
- inline void neg( Loop4 const &a );
 | *this = -a | |
- inline void neg();
 | *this = -*this | |
- inline void add( Loop4 const &a, Loop4 const &b );
 | *this = a + b | |
- inline void add( Loop4 const &a );
 | *this += a | |
- inline void sub( Loop4 const &, Loop4 const &p );
 | *this = a - b | |
- inline void sub( Loop4 const &a );
 | *this -= a | |
- inline void mul( Complex const &r, Loop4 const &a );
 | *this = r * a (scalar multiplication: Complex r) | |
- inline void mul( Complex const &r );
 | *this *= r (scalar multiplication: Complex r) | |
- inline void mul( Real const &r, Loop4 const &a );
 | *this = r * a (scalar multiplication: Real r) | |
- inline void mul( Real const &r );
 | *this *= r (scalar multiplication: Real r) | |
- inline void mul( Loop1 const &a, Loop4 const &b );
 | *this = a * b (loop scalar multiplication) | |
- inline void mul( Loop1 const &a );
 | *this *= a (loop scalar multiplication) | |
- void mul( Loop4 const &a, Loop4 const &b );
 | *this = a * b (loop multiplication) | |
- void mul( Loop4 const &a, Loop4 const &b, RangeMatrix const &range );
 | *this = a * b special multiplication optimized according to the range of *b | |
- inline void mul_add( Loop4 const &a, Complex const &r, Loop4 const &b );
 | *this = a + r * b | |
- inline void mul_add( Complex const &r, Loop4 const &a );
 | *this += r * a | |
- inline void transpose( Loop4 const &a );
 | *this = transpose(a) | |
- inline void transpose();
 | *this = transpose(*this) | |
- inline void transpose_conjugate( Loop4 const &a );
 | *this = conj(transpose(a)) | |
- inline void transpose_conjugate();
 | *this = conj(transpose(*this)) | |
- inline void classical_adjoint( Loop4 const &a );
 | *this = transpose(cofactor(a)) {{a,b},{c,d}} -> {{d,-b},{-c,a}} is the inverse if det==1 | |
- inline void classical_adjoint();
 | *this = transpose(cofactor(*this)) {{a,b},{c,d}} -> {{d,-b},{-c,a}} is the inverse if det==1 | |
- inline void eval( math::complex4<Real> &r, Complex const &lambda ) const;
 | evaluation r = eval( *this, lambda ) | |
- inline void eval( math::complex4<Real> &r, math::complex4<Real> &dr, Complex const &lambda ) const;
- inline void det( Loop1 &d ) const;
 | d = det(*this) | |
- void exp( Loop4 const &A, uint count );
- void exp_trace_free( Loop4 const &a, uint iterations, uint polylen );
 | *this = exp(a) series expansion to a^n a must be trace-free much more accurate than exp() | |
- friend std::ostream & operator<<( std::ostream &, Loop4 const & );
 | print | |
- void print( std::ostream & ) const;
 | full-precision print | |
- void printM( std::ostream & ) const;
 | print in Mathematica array format | |
- void printC( std::ostream & ) const;
 | print coefficients in C array format | |
- static void resize_copy( Loop4 &a, Loop4 const &b );
 | copy b into a, allowing different sizes | |
- inline void make_positive();
 | set all coefficients of t^i (i<0) to 0 | |
- inline void make_negative();
 | set all coefficients of t^i (i>0) to 0 | |
protected:
- Loop2 _col1;
- Loop2 _col2;
- uint _polylen;
 | len is the highest lambda power of element 1,1 | |
private:
- inline static void _classical_adjoint( Loop4 &r, Loop4 const &a );
|