namespace ewalena
0.2.15
ewalena is not an acronym
|
#include <include/ewalena/lac/vector_basis.h>
Public Member Functions | |
void | make_orthonormal_basis () |
unsigned int | n_rows () const |
ValueType & | operator() (const unsigned int i, const unsigned int j) |
const ValueType & | operator() (const unsigned int i, const unsigned int j) const |
const ValueType * | operator* () const |
ValueType * | operator* () |
void | operator+= (const VectorBasis< ValueType > &v) |
void | operator-= (const VectorBasis< ValueType > &v) |
bool | operator== (const VectorBasis< ValueType > &v) const |
void | reinit (const unsigned int m, const unsigned int n, const bool fast=false) |
void | reinit () |
unsigned int | size () const |
VectorBasis () | |
VectorBasis (const unsigned int n_vecs, const unsigned int m, const bool zero=true) | |
VectorBasis (const VectorBasis &V) | |
~VectorBasis () | |
Private Attributes | |
unsigned int | __n_rows |
ValueType * | data |
unsigned int | n_vecs |
A class that denotes a simple vector basis with no special qualities, ie. no special symmetries, data access, etc. The main purpose of a VectorBasis is to store and perform global operations on an entire (or, potentially a partial) set of vectors that together form a complete basis set.
Access operators are enabled to access individual vectors of the basis, as well as the basis state as a whole in terms of matrix indexing.
ewalena::VectorBasis< ValueType >::VectorBasis | ( | ) |
Constructor.
ewalena::VectorBasis< ValueType >::~VectorBasis | ( | ) |
Destructor.
ewalena::VectorBasis< ValueType >::VectorBasis | ( | const unsigned int | n_vecs, |
const unsigned int | m, | ||
const bool | zero = true |
||
) | [explicit] |
Initialize a square vector basis that has n_vecs
vectors, each with $m
rows. Vector elements are set to zero by default, unless zero=true
, in which case vector elements are left in an unspecified state.
ewalena::VectorBasis< ValueType >::VectorBasis | ( | const VectorBasis< ValueType > & | V | ) |
Initialize a vector basis with another vector basis V
with a memory copy.
void ewalena::VectorBasis< ValueType >::make_orthonormal_basis | ( | ) | [inline] |
Make this vector basis a set of vectors that are unit form and mutually orthogonal (all previous data is overwritten). In a "matrix-view" of the vector basis, this is the identity matrix.
unsigned int ewalena::VectorBasis< ValueType >::n_rows | ( | ) | const [inline] |
Return the number of rows this vector basis has, ie. the number of rows each vector has.
ValueType & ewalena::VectorBasis< ValueType >::operator() | ( | const unsigned int | i, |
const unsigned int | j | ||
) | [inline] |
Read-write access to the j
th index of the i
th vector of this vector basis.
const ValueType & ewalena::VectorBasis< ValueType >::operator() | ( | const unsigned int | i, |
const unsigned int | j | ||
) | const [inline] |
Read only access to the j
th index of the i
th vector of this vector basis.
const ValueType* ewalena::VectorBasis< ValueType >::operator* | ( | ) | const [inline] |
Read only access operator to the underlying C array structure associated with this vector basis.
ValueType* ewalena::VectorBasis< ValueType >::operator* | ( | ) | [inline] |
Read-write access operator to the underlying C array structure associated with this vector basis.
void ewalena::VectorBasis< ValueType >::operator+= | ( | const VectorBasis< ValueType > & | v | ) | [inline] |
Inline addition operator. Add v
to this
vector basis.
void ewalena::VectorBasis< ValueType >::operator-= | ( | const VectorBasis< ValueType > & | v | ) | [inline] |
Inline subtraction operator. Subtract v
from this
vector basis.
bool ewalena::VectorBasis< ValueType >::operator== | ( | const VectorBasis< ValueType > & | v | ) | const [inline] |
Equivalence operator. Return true if this
vector basis is an identical copy of the vector basis v
.
void ewalena::VectorBasis< ValueType >::reinit | ( | const unsigned int | m, |
const unsigned int | n, | ||
const bool | fast = false |
||
) |
Reinitialise this vector basis to size m
.
void ewalena::VectorBasis< ValueType >::reinit | ( | ) |
Reinitialise the contents of this vector basis to nothing (zero).
unsigned int ewalena::VectorBasis< ValueType >::size | ( | ) | const [inline] |
Return the number of vectors this basis set has. In a "matrix-view", this is the number of columns this vector basis has.
unsigned int ewalena::VectorBasis< ValueType >::__n_rows [private] |
Internal reference to the number of rows each vector has in this vector basis.
ValueType* ewalena::VectorBasis< ValueType >::data [private] |
Internal object denoting this vector basis data.
unsigned int ewalena::VectorBasis< ValueType >::n_vecs [private] |
Internal reference to the number of vectors this vector basis has.