|
|
| RadialMatrix (std::size_t i0, std::size_t stride, std::size_t size, std::shared_ptr< const Grid > rgrid) |
| |
| T & | at (std::size_t i, std::size_t j) |
| | direct access to matrix elements
|
| |
|
T | at (std::size_t i, std::size_t j) const |
| |
|
T & | operator() (std::size_t i, std::size_t j) |
| |
|
T | operator() (std::size_t i, std::size_t j) const |
| |
| const LinAlg::Matrix< T > & | Rmatrix () const |
| | direct access to radial matrix
|
| |
|
LinAlg::Matrix< T > & | Rmatrix () |
| |
|
std::size_t | size () const |
| |
|
std::size_t | i0 () const |
| |
|
std::size_t | stride () const |
| |
| double | r0 () const |
| | First point along full grid for which subgrid is defined.
|
| |
| double | rmax () const |
| | Last point along full grid for which subgrid is defined.
|
| |
| double | r (std::size_t sub_i) const |
| | returns r at position sub_i along sub grid
|
| |
| double | dr (std::size_t sub_i) const |
| | returns dr at position along sub grid
|
| |
| std::size_t | index_to_fullgrid (std::size_t i) const |
| | Converts an index on the sub-grid to the full grid.
|
| |
| void | zero () |
| | Sets the radial matrix to have all zero's.
|
| |
| RadialMatrix< T > & | operator+= (const RadialMatrix< T > &rhs) |
| | Matrix adition +,-.
|
| |
| RadialMatrix< T > & | operator-= (const RadialMatrix< T > &rhs) |
| | Matrix adition +,-.
|
| |
| RadialMatrix< T > & | operator*= (const T x) |
| | Scalar multiplication.
|
| |
| RadialMatrix< T > & | operator+= (T aI) |
| | Adition of identity: Matrix<T> += T : T assumed to be *Identity!
|
| |
| RadialMatrix< T > & | operator-= (T aI) |
| | Adition of identity: Matrix<T> -= T : T assumed to be *Identity!
|
| |
| RadialMatrix< T > & | mult_elements_by (const RadialMatrix< T > &rhs) |
| | Multiply coordinate elements (in place): Gij -> Gij*Bij.
|
| |
| RadialMatrix< T > | conj () const |
| | Returns conjugate of matrix.
|
| |
| RadialMatrix< T > & | conj_in_place () |
| | Conjuagtes current matrix, in place.
|
| |
| RadialMatrix< double > | real () const |
| | Returns real part of complex matrix (changes type; returns a real matrix)
|
| |
| RadialMatrix< double > | imag () const |
| | Returns imag part of complex matrix (changes type; returns a real matrix)
|
| |
| RadialMatrix< std::complex< double > > | complex () const |
| | Converts a real to complex matrix (changes type; returns a complex matrix)
|
| |
| RadialMatrix< T > & | invert_in_place () |
| | Inversion (in place)
|
| |
| RadialMatrix< T > | inverse () const |
| | Returns inverse of matrix; original matrix unchanged.
|
| |
| RadialMatrix< T > | transpose () const |
| | Returns transpose of matrix; original matrix unchanged.
|
| |
| RadialMatrix< T > & | drj_in_place () |
| | Multiplies by drj: Q_ij -> Q_ij*dr_j, in place.
|
| |
| RadialMatrix< T > & | dri_in_place () |
| | Multiplies by dri: Q_ij -> Q_ij*dr_i, in place.
|
| |
| RadialMatrix< T > | drj () const |
| | Multiplies by drj: Q_ij -> Q_ij*dr_j. Returns new matrix (orig unchanged)
|
| |
| RadialMatrix< T > | dri () const |
| | Multiplies by dri: Q_ij -> Q_ij*dr_i. Returns new matrix (orig unchanged)
|
| |
|
| RadialMatrix< T > | operator+ (RadialMatrix< T > lhs, const RadialMatrix< T > &rhs) |
| | Matrix adition +,-.
|
| |
| RadialMatrix< T > | operator- (RadialMatrix< T > lhs, const RadialMatrix< T > &rhs) |
| | Matrix adition +,-.
|
| |
| RadialMatrix< T > | operator* (const T x, RadialMatrix< T > rhs) |
| | Scalar multiplication.
|
| |
| RadialMatrix< T > | operator+ (RadialMatrix< T > M, T aI) |
| | Adition of identity: Matrix<T> + T : T assumed to be *Identity!
|
| |
| RadialMatrix< T > | operator- (RadialMatrix< T > M, T aI) |
| | Adition of identity: Matrix<T> - T : T assumed to be *Identity!
|
| |
| RadialMatrix< T > | mult_elements (RadialMatrix< T > lhs, const RadialMatrix< T > &rhs) |
| | Multiply elements (new matrix): Gij = Aij*Bij.
|
| |
| RadialMatrix< T > | matrix_multiply (const RadialMatrix< T > &a, const RadialMatrix< T > &b) |
| | Matrix multiplication: Gij = Aik*Bkj Note: integration measure not included: call .drj() first to include it!
|
| |
| RadialMatrix< T > | operator* (const RadialMatrix< T > &a, const RadialMatrix< T > &b) |
| | Matrix multiplication: Gij = Aik*Bkj.
|
| |
template<typename T>
class MBPT::RadialMatrix< T >
Radial matrix: stored on a sub-grid (defined by i0, stride, size).
XXX Should actually just derive/specialise SpinorMatrix!!
- i0 : the first grid-point included in subgrid
- stride: stride between grid-points used in subgrid
- size: total number of points used in subgrid
- rgrid: pointer to full grid
- T: type. Should usually be double or complex<double>