Template Struct block_matrix¶
Defined in File block_matrix.hpp
Struct Documentation¶
-
template<typename T>
struct block_matrix¶ lock-diagonal matrix (of ints, double or Complex types)
Public Functions
-
inline block_matrix()¶
default constructor
-
inline block_matrix(size_t n)¶
constructor from a number of blocks
-
inline block_matrix(vector<size_t> dim)¶
constructor from a vector of dimensions
-
inline block_matrix(vector<int> dim)¶
constructor from a vector of dimensions
-
inline block_matrix &operator=(const block_matrix<T> &A)¶
assignation operator overloading
-
inline void set_size()¶
computes the size
-
inline matrix<T> build_matrix()¶
construct a Matrix from a block_matrix
-
template<typename S>
inline block_matrix<T> &operator-=(const block_matrix<S> &A)¶ subtraction of another block matrix
-
template<typename S>
inline block_matrix<T> &operator+=(const block_matrix<S> &A)¶ addition of another block matrix
-
template<typename S>
inline void add(matrix<S> &Y, T z) const¶ adding to a matrix, times a constant: Y = Y + z*this
-
inline void clear()¶
clears to zero (but keep allocated)
-
inline double diff_sq(const block_matrix<T> &A)¶
computes the square difference with another matrix A
-
inline void inverse()¶
replaces the matrix by its inverse
-
inline block_matrix<T> &operator+=(const double a)¶
addition of a number times the unit matrix
-
inline block_matrix<T> &operator+=(const Complex a)¶
-
inline block_matrix<T> &operator-=(const double a)¶
-
inline block_matrix<T> &operator-=(const Complex a)¶
-
template<typename S, typename U>
inline void mult_left(const matrix<S> &X, matrix<U> &Y) const¶ multiplies a block matrix with a dense matrix : Y = this * X
-
template<typename S, typename U>
inline void mult_right(const matrix<S> &X, matrix<U> &Y) const¶ multiplies a dense matrix with a block matrix : Y = X * this
-
inline block_matrix()¶