ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
MBPT::RadialMatrix< T >

#include <RadialMatrix.hpp>

Public Member Functions

 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
 
at (std::size_t i, std::size_t j) const
 
T & operator() (std::size_t i, std::size_t j)
 
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)
 

Friends

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.
 

Detailed Description

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!!


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