CVM Class Library
8.1
This C++ class library encapsulates concepts of vector and different matrices including square, band, symmetric and hermitian ones in Euclidean space of real and complex numbers.
|
End-user class encapsulating band square matrix of complex numbers. More...
#include <cvm.h>
Public Member Functions | |
basic_scbmatrix () | |
Default constructor. | |
basic_scbmatrix (tint nDim) | |
Diagonal band matrix constructor. | |
basic_scbmatrix (tint nDim, tint nKL, tint nKU) | |
Band matrix constructor. | |
basic_scbmatrix (TC *pd, tint nDim, tint nKL, tint nKU) | |
Constructor. | |
basic_scbmatrix (const TC *pd, tint nDim, tint nKL, tint nKU) | |
Constructor. | |
basic_scbmatrix (const basic_scbmatrix &m) | |
Copy constructor. | |
basic_scbmatrix (basic_scbmatrix &&m) noexcept | |
Move constructor. | |
basic_scbmatrix (const BaseCMatrix &m, tint nKL, tint nKU) | |
Constructor. | |
basic_scbmatrix (const CVector &v) | |
Constructor. | |
basic_scbmatrix (const basic_srbmatrix< TR > &m, bool bRealPart=true) | |
Constructor. | |
basic_scbmatrix (const basic_srbmatrix< TR > &mRe, const basic_srbmatrix< TR > &mIm) | |
Constructor. | |
type_proxy< TC, TR > | operator() (tint nRow, tint nCol) throw (cvmexception) |
Reference to element (l-value) | |
TC | operator() (tint nRow, tint nCol) const throw (cvmexception) |
Value of element (not l-value) | |
const CVector | operator() (tint nCol) const throw (cvmexception) |
Column as not l-value. | |
const CVector | operator[] (tint nRow) const throw (cvmexception) |
Row as not l-value. | |
const basic_srbmatrix< TR > | real () const |
Real part (not l-value) | |
const basic_srbmatrix< TR > | imag () const |
Imaginary part (not l-value) | |
basic_scbmatrix & | operator= (const basic_scbmatrix &m) throw (cvmexception) |
Assignment operator. | |
basic_scbmatrix & | operator= (basic_scbmatrix &&m) throw (cvmexception) |
Move assignment operator. | |
basic_scbmatrix & | assign (const CVector &v) throw (cvmexception) |
Vector (as array) assignment. | |
basic_scbmatrix & | assign (const TC *pd) |
External array assignment. | |
basic_scbmatrix & | set (TC c) |
Sets all elements to one value. | |
basic_scbmatrix & | assign_real (const basic_srbmatrix< TR > &mRe) throw (cvmexception) |
Assignment to real parts. | |
basic_scbmatrix & | assign_imag (const basic_srbmatrix< TR > &mIm) throw (cvmexception) |
Assignment to imaginary parts. | |
basic_scbmatrix & | set_real (TR d) |
Sets all real parts to one value. | |
basic_scbmatrix & | set_imag (TR d) |
Sets all imaginary parts to one value. | |
basic_scbmatrix & | resize (tint nNewDim) throw (cvmexception) |
Changes dimension. | |
basic_scbmatrix & | resize_lu (tint nNewKL, tint nNewKU) throw (cvmexception) |
Changes number of sub- and super-diagonals. | |
bool | operator== (const basic_scbmatrix &m) const |
Band matrix comparison. | |
bool | operator!= (const basic_scbmatrix &m) const |
Band matrix comparison. | |
basic_scbmatrix & | operator<< (const basic_scbmatrix &m) throw (cvmexception) |
Matrix replacement. | |
basic_scbmatrix | operator+ (const basic_scbmatrix &m) const throw (cvmexception) |
Addition operator. | |
basic_scbmatrix | operator- (const basic_scbmatrix &m) const throw (cvmexception) |
Subtraction operator. | |
basic_scbmatrix & | sum (const basic_scbmatrix &m1, const basic_scbmatrix &m2) throw (cvmexception) |
Sum of matrices. | |
basic_scbmatrix & | diff (const basic_scbmatrix &m1, const basic_scbmatrix &m2) throw (cvmexception) |
Difference of matrices. | |
basic_scbmatrix & | operator+= (const basic_scbmatrix &m) throw (cvmexception) |
Increment operator. | |
basic_scbmatrix & | operator-= (const basic_scbmatrix &m) throw (cvmexception) |
Decrement operator. | |
basic_scbmatrix | operator- () const |
Unary minus operator. | |
basic_scbmatrix & | operator++ () |
Plus identity, prefix. | |
basic_scbmatrix | operator++ (int) |
Plus identity, postfix. | |
basic_scbmatrix & | operator-- () |
Minus identity, prefix. | |
basic_scbmatrix | operator-- (int) |
Minus identity, postfix. | |
basic_scbmatrix | operator* (TR dMult) const |
Multiply by real number operator. | |
basic_scbmatrix | operator/ (TR dDiv) const throw (cvmexception) |
Divide by real number operator. | |
basic_scbmatrix | operator* (TC cMult) const |
Multiply by complex number operator. | |
basic_scbmatrix | operator/ (TC cDiv) const throw (cvmexception) |
Divide by complex number operator. | |
basic_scbmatrix & | operator*= (TR dMult) |
Multiply by real number and assign. | |
basic_scbmatrix & | operator/= (TR dDiv) |
Divide by real number and assign. | |
basic_scbmatrix & | operator*= (TC cMult) |
Multiply by complex number and assign. | |
basic_scbmatrix & | operator/= (TC cDiv) throw (cvmexception) |
Divide by complex number and assign. | |
basic_scbmatrix & | normalize () |
Matrix normalizer. | |
basic_scbmatrix | operator! () const throw (cvmexception) |
Matrix transposition. | |
basic_scbmatrix | operator~ () const throw (cvmexception) |
Matrix conjugation. | |
basic_scbmatrix & | transpose (const basic_scbmatrix &m) throw (cvmexception) |
Matrix transposition. | |
basic_scbmatrix & | conj (const basic_scbmatrix &m) throw (cvmexception) |
Matrix hermitian conjugation. | |
basic_scbmatrix & | transpose () throw (cvmexception) |
Matrix transposition (in-place) | |
basic_scbmatrix & | conj () throw (cvmexception) |
Matrix conjugation (in-place) | |
CVector | operator* (const CVector &v) const throw (cvmexception) |
Matrix-vector product. | |
BaseCMatrix | operator* (const BaseCMatrix &m) const throw (cvmexception) |
Matrix-matrix product. | |
BaseSCMatrix | operator* (const BaseSCMatrix &m) const throw (cvmexception) |
Matrix-matrix product. | |
basic_scbmatrix | operator* (const basic_scbmatrix &m) const throw (cvmexception) |
Matrix-matrix product. | |
CVector | operator/ (const CVector &v) const throw (cvmexception) |
Linear solver operator. | |
basic_scbmatrix & | low_up (const basic_scbmatrix &m, tint *nPivots) throw (cvmexception) |
Low-up (LU) factorization. | |
basic_scbmatrix | low_up (tint *nPivots) const throw (cvmexception) |
Low-up (LU) factorization. | |
basic_scbmatrix & | identity () |
Identity matrix. | |
basic_scbmatrix & | vanish () |
Set matrix to zero. | |
basic_scbmatrix & | randomize_real (TR dFrom, TR dTo) |
Randomizer (real part) | |
basic_scbmatrix & | randomize_imag (TR dFrom, TR dTo) |
Randomizer (imaginary part) | |
TR | norm () const override |
Euclidean norm. | |
TR | norm1 () const override |
1-norm | |
TR | norminf () const override |
Infinity norm. | |
basic_scbmatrix & | mult (const BaseCMatrix &m1, const BaseCMatrix &m2) throw (cvmexception) |
Public Member Functions inherited from basic_scmatrix< TR, TC > | |
basic_scmatrix () | |
Default constructor. | |
basic_scmatrix (tint nDim) | |
Constructor. | |
basic_scmatrix (TC *pd, tint nDim) | |
Constructor. | |
basic_scmatrix (const TC *pd, tint nDim) | |
Constructor. | |
basic_scmatrix (const basic_scmatrix &m) | |
Copy constructor. | |
basic_scmatrix (basic_scmatrix &&m) noexcept | |
Move constructor. | |
basic_scmatrix (const BaseCMatrix &m) | |
Constructor. | |
basic_scmatrix (const CVector &v) | |
Constructor. | |
basic_scmatrix (const basic_srmatrix< TR > &m, bool bRealPart=true) | |
Constructor. | |
basic_scmatrix (const TR *pRe, const TR *pIm, tint nDim) | |
Constructor. | |
basic_scmatrix (const basic_srmatrix< TR > &mRe, const basic_srmatrix< TR > &mIm) | |
Constructor. | |
basic_scmatrix (BaseCMatrix &m, tint nRow, tint nCol, tint nDim) | |
Submatrix constructor. | |
CVector | operator() (tint nCol) throw (cvmexception) |
Column as l-value. | |
CVector | operator[] (tint nRow) throw (cvmexception) |
Row as l-value. | |
basic_scmatrix & | operator= (const basic_scmatrix &m) throw (cvmexception) |
Assignment operator. | |
basic_scmatrix & | operator= (basic_scmatrix &&m) throw (cvmexception) |
Move assignment operator. | |
basic_scmatrix & | assign (tint nRow, tint nCol, const BaseCMatrix &m) throw (cvmexception) |
Assignment to submatrix. | |
basic_scmatrix & | assign_real (const basic_srmatrix< TR > &mRe) throw (cvmexception) |
Assignment to real parts. | |
basic_scmatrix & | assign_imag (const basic_srmatrix< TR > &mIm) throw (cvmexception) |
Assignment to imaginary parts. | |
basic_scmatrix & | operator<< (const basic_scmatrix &m) throw (cvmexception) |
Matrix replacement. | |
basic_scmatrix | operator+ (const basic_scmatrix &m) const throw (cvmexception) |
Addition operator. | |
basic_scmatrix | operator- (const basic_scmatrix &m) const throw (cvmexception) |
Subtraction operator. | |
basic_scmatrix & | sum (const basic_scmatrix &m1, const basic_scmatrix &m2) throw (cvmexception) |
Sum of matrices. | |
basic_scmatrix & | diff (const basic_scmatrix &m1, const basic_scmatrix &m2) throw (cvmexception) |
Difference of matrices. | |
basic_scmatrix & | operator+= (const basic_scmatrix &m) throw (cvmexception) |
Increment operator. | |
basic_scmatrix & | operator-= (const basic_scmatrix &m) throw (cvmexception) |
Decrement operator. | |
basic_scmatrix & | transpose (const basic_scmatrix &m) throw (cvmexception) |
Matrix transposition. | |
basic_scmatrix & | conj (const basic_scmatrix &m) throw (cvmexception) |
Matrix conjugation. | |
basic_scmatrix | operator* (const basic_scmatrix &m) const throw (cvmexception) |
Matrix-matrix product. | |
basic_scmatrix & | operator*= (const basic_scmatrix &m) throw (cvmexception) |
Matrix-matrix product with assignment. | |
basic_scmatrix & | swap_rows (tint n1, tint n2) throw (cvmexception) |
Rows swap. | |
basic_scmatrix & | swap_cols (tint n1, tint n2) throw (cvmexception) |
Columns swap. | |
CVector | solve (const CVector &vB, TR &dErr) const throw (cvmexception) |
Linear solver. | |
CVector | solve_tran (const CVector &vB, TR &dErr) const throw (cvmexception) |
Linear solver (transposed) | |
CVector | solve_conj (const CVector &vB, TR &dErr) const throw (cvmexception) |
Linear solver (hermitian conjugated) | |
CVector | solve (const CVector &vB) const throw (cvmexception) |
Linear solver. | |
CVector | solve_tran (const CVector &vB) const throw (cvmexception) |
Linear solver (transposed) | |
CVector | solve_conj (const CVector &vB) const throw (cvmexception) |
Linear solver (hermitian conjugated) | |
BaseCMatrix | solve (const BaseCMatrix &mB, TR &dErr) const throw (cvmexception) |
Linear solver. | |
BaseCMatrix | solve_tran (const BaseCMatrix &mB, TR &dErr) const throw (cvmexception) |
Linear solver (transposed) | |
BaseCMatrix | solve_conj (const BaseCMatrix &mB, TR &dErr) const throw (cvmexception) |
Linear solver (hermitian conjugated) | |
BaseCMatrix | solve (const BaseCMatrix &mB) const throw (cvmexception) |
Linear solver. | |
BaseCMatrix | solve_tran (const BaseCMatrix &mB) const throw (cvmexception) |
Linear solver (transposed) | |
BaseCMatrix | solve_conj (const BaseCMatrix &mB) const throw (cvmexception) |
Linear solver (hermitian conjugated) | |
CVector | operator% (const CVector &vB) const throw (cvmexception) |
Linear solver operator (transposed) | |
CVector | solve_lu (const basic_scmatrix &mLU, const tint *pPivots, const CVector &vB, TR &dErr) const throw (cvmexception) |
LU factorization based linear solver. | |
CVector | solve_lu (const basic_scmatrix &mLU, const tint *pPivots, const CVector &vB) const throw (cvmexception) |
LU factorization based linear solver. | |
BaseCMatrix | solve_lu (const basic_scmatrix &mLU, const tint *pPivots, const BaseCMatrix &mB, TR &dErr) const throw (cvmexception) |
LU factorization based linear solver. | |
BaseCMatrix | solve_lu (const basic_scmatrix &mLU, const tint *pPivots, const BaseCMatrix &mB) const throw (cvmexception) |
LU factorization based linear solver. | |
TC | det () const throw (cvmexception) |
Matrix determinant. | |
basic_scmatrix & | low_up (const basic_scmatrix &m, tint *nPivots) throw (cvmexception) |
Low-up (LU) factorization. | |
TR | cond () const throw (cvmexception) |
Condition number reciprocal. | |
basic_scmatrix & | inv (const basic_scmatrix &m) throw (cvmexception) |
Matrix inversion. | |
basic_scmatrix | inv () const throw (cvmexception) |
Matrix inversion. | |
basic_scmatrix & | exp (const basic_scmatrix &m, TR tol=basic_cvmMachSp< TR >()) throw (cvmexception) |
Matrix exponent. | |
basic_scmatrix | exp (TR tol=basic_cvmMachSp< TR >()) const throw (cvmexception) |
Matrix exponent. | |
basic_scmatrix & | polynom (const basic_scmatrix &m, const CVector &v) throw (cvmexception) |
Matrix polynomial. | |
basic_scmatrix | polynom (const CVector &v) const |
Matrix polynomial. | |
CVector | eig (basic_scmatrix &mEigVect, bool bRightVect=true) const throw (cvmexception) |
Eigenvalues and eigenvectors. | |
CVector | eig () const throw (cvmexception) |
Eigenvalues. | |
basic_scmatrix & | cholesky (const basic_schmatrix< TR, TC > &m) throw (cvmexception) |
Cholesky factorization. | |
basic_scmatrix & | bunch_kaufman (const basic_schmatrix< TR, TC > &m, tint *nPivots) throw (cvmexception) |
Bunch-Kaufman factorization. | |
void | qr (basic_scmatrix< TR, TC > &mQ, basic_scmatrix< TR, TC > &mR) const throw (cvmexception) |
QR factorization. | |
void | lq (basic_scmatrix< TR, TC > &mL, basic_scmatrix< TR, TC > &mQ) const throw (cvmexception) |
LQ factorization. | |
void | ql (basic_scmatrix< TR, TC > &mQ, basic_scmatrix< TR, TC > &mL) const throw (cvmexception) |
QL factorization. | |
void | rq (basic_scmatrix< TR, TC > &mR, basic_scmatrix< TR, TC > &mQ) const throw (cvmexception) |
RQ factorization. | |
Public Member Functions inherited from basic_cmatrix< TR, TC > | |
basic_cmatrix () | |
Default constructor. | |
basic_cmatrix (tint nM, tint nN) | |
Constructor. | |
basic_cmatrix (TC *pd, tint nM, tint nN) | |
Constructor. | |
basic_cmatrix (const TC *pd, tint nM, tint nN) | |
Constructor. | |
basic_cmatrix (const basic_cmatrix &m) | |
Copy constructor. | |
basic_cmatrix (basic_cmatrix &&m) noexcept | |
Move constructor. | |
basic_cmatrix (const CVector &v, bool bBeColumn=true) | |
Constructor. | |
basic_cmatrix (const basic_rmatrix< TR > &m, bool bRealPart=true) | |
Constructor. | |
basic_cmatrix (const TR *pRe, const TR *pIm, tint nM, tint nN) | |
Constructor. | |
basic_cmatrix (const basic_rmatrix< TR > &mRe, const basic_rmatrix< TR > &mIm) | |
Constructor. | |
basic_cmatrix (basic_cmatrix &m, tint nRow, tint nCol, tint nHeight, tint nWidth) | |
Submatrix constructor. | |
CVector | diag (tint nDiag) throw (cvmexception) |
Diagonal as l-value. | |
const CVector | diag (tint nDiag) const throw (cvmexception) |
Diagonal (not l-value) | |
basic_cmatrix & | operator= (const basic_cmatrix &m) throw (cvmexception) |
Assignment operator. | |
basic_cmatrix & | operator= (basic_cmatrix &&m) throw (cvmexception) |
Move assignment operator. | |
basic_cmatrix & | assign (tint nRow, tint nCol, const basic_cmatrix &m) throw (cvmexception) |
Assignment to submatrix. | |
basic_cmatrix & | assign_real (const basic_rmatrix< TR > &mRe) throw (cvmexception) |
Assignment to real parts. | |
basic_cmatrix & | assign_imag (const basic_rmatrix< TR > &mIm) throw (cvmexception) |
Assignment to imaginary parts. | |
basic_cmatrix & | resize (tint nNewM, tint nNewN) throw (cvmexception) |
Changes dimensions. | |
bool | operator== (const basic_cmatrix &m) const |
Matrix comparison. | |
bool | operator!= (const basic_cmatrix &m) const |
Matrix comparison. | |
basic_cmatrix & | operator<< (const basic_cmatrix &m) throw (cvmexception) |
Matrix replacement. | |
basic_cmatrix | operator+ (const basic_cmatrix &m) const throw (cvmexception) |
Addition operator. | |
basic_cmatrix | operator- (const basic_cmatrix &m) const throw (cvmexception) |
Subtraction operator. | |
basic_cmatrix & | sum (const basic_cmatrix &m1, const basic_cmatrix &m2) throw (cvmexception) |
Sum of matrices. | |
basic_cmatrix & | diff (const basic_cmatrix &m1, const basic_cmatrix &m2) throw (cvmexception) |
Difference of matrices. | |
basic_cmatrix & | operator+= (const basic_cmatrix &m) throw (cvmexception) |
Increment operator. | |
basic_cmatrix & | operator-= (const basic_cmatrix &m) throw (cvmexception) |
Decrement operator. | |
basic_cmatrix & | transpose (const basic_cmatrix &m) throw (cvmexception) |
Matrix transposition. | |
basic_cmatrix & | conj (const basic_cmatrix &m) throw (cvmexception) |
Matrix conjugation. | |
basic_cmatrix | operator* (const basic_cmatrix &m) const throw (cvmexception) |
Matrix-matrix product. | |
basic_cmatrix & | mult (const basic_cmatrix &m1, const basic_cmatrix &m2) throw (cvmexception) |
Matrix-matrix product. | |
basic_cmatrix & | rank1update_u (const CVector &vCol, const CVector &vRow) throw (cvmexception) |
Rank-1 update (unconjugated) | |
basic_cmatrix & | rank1update_c (const CVector &vCol, const CVector &vRow) throw (cvmexception) |
Rank-1 update (conjugated) | |
basic_cmatrix & | solve (const basic_scmatrix< TR, TC > &mA, const basic_cmatrix &mB, TR &dErr) throw (cvmexception) |
Linear solver. | |
basic_cmatrix & | solve_tran (const basic_scmatrix< TR, TC > &mA, const basic_cmatrix &mB, TR &dErr) throw (cvmexception) |
Linear solver (transposed) | |
basic_cmatrix & | solve_conj (const basic_scmatrix< TR, TC > &mA, const basic_cmatrix &mB, TR &dErr) throw (cvmexception) |
Linear solver (conjugated) | |
basic_cmatrix & | solve (const basic_scmatrix< TR, TC > &mA, const basic_cmatrix &mB) throw (cvmexception) |
Linear solver. | |
basic_cmatrix & | solve_tran (const basic_scmatrix< TR, TC > &mA, const basic_cmatrix &mB) throw (cvmexception) |
Linear solver (transposed) | |
basic_cmatrix & | solve_conj (const basic_scmatrix< TR, TC > &mA, const basic_cmatrix &mB) throw (cvmexception) |
Linear solver (conjugated) | |
basic_cmatrix & | solve_lu (const basic_scmatrix< TR, TC > &mA, const basic_scmatrix< TR, TC > &mLU, const tint *pPivots, const basic_cmatrix &mB, TR &dErr) throw (cvmexception) |
LU factorization based linear solver. | |
basic_cmatrix & | solve_lu (const basic_scmatrix< TR, TC > &mA, const basic_scmatrix< TR, TC > &mLU, const tint *pPivots, const basic_cmatrix &mB) throw (cvmexception) |
LU factorization based linear solver. | |
RVector | svd () const throw (cvmexception) |
Singular value decomposition. | |
RVector | svd (basic_scmatrix< TR, TC > &mU, basic_scmatrix< TR, TC > &mVH) const throw (cvmexception) |
Singular value decomposition. | |
basic_cmatrix | pinv (TR threshold=basic_cvmMachSp< TR >()) const throw (cvmexception) |
Pseudo (generalized) inversion. | |
basic_cmatrix & | pinv (const basic_cmatrix &mA, TR threshold=basic_cvmMachSp< TR >()) throw (cvmexception) |
Pseudo (generalized) inversion. | |
basic_cmatrix | gels (bool conjugate, const basic_cmatrix &mB, basic_cvector< TR, TC > &vErr) const throw (cvmexception) |
Overdetermined or underdetermined linear solver. | |
basic_cmatrix & | gels (bool conjugate, const basic_cmatrix &mA, const basic_cmatrix &mB, basic_cvector< TR, TC > &vErr) throw (cvmexception) |
Overdetermined or underdetermined linear solver. | |
basic_cvector< TR, TC > | gels (bool conjugate, const basic_cvector< TR, TC > &vB, TC &dErr) const throw (cvmexception) |
Overdetermined or underdetermined linear solver. | |
basic_cmatrix | gelsy (const basic_cmatrix &mB, tint &rank, TR tol=basic_cvmMachSp< TR >()) const throw (cvmexception) |
Linear least squares problem. | |
basic_cmatrix & | gelsy (const basic_cmatrix &mA, const basic_cmatrix &mB, tint &rank, TR tol=basic_cvmMachSp< TR >()) throw (cvmexception) |
Linear least squares problem. | |
basic_cvector< TR, TC > | gelsy (const basic_cvector< TR, TC > &vB, tint &rank, TR tol=basic_cvmMachSp< TR >()) const throw (cvmexception) |
Linear least squares problem. | |
basic_cmatrix | gelss (const basic_cmatrix &mB, basic_rvector< TR > &sv, tint &rank, TR tol=basic_cvmMachSp< TR >()) const throw (cvmexception) |
Linear least squares problem. | |
basic_cmatrix & | gelss (const basic_cmatrix &mA, const basic_cmatrix &mB, basic_rvector< TR > &sv, tint &rank, TR tol=basic_cvmMachSp< TR >()) throw (cvmexception) |
Linear least squares problem. | |
basic_cvector< TR, TC > | gelss (const basic_cvector< TR, TC > &vB, basic_rvector< TR > &sv, tint &rank, TR tol=basic_cvmMachSp< TR >()) const throw (cvmexception) |
Linear least squares problem. | |
basic_cmatrix | gelsd (const basic_cmatrix &mB, basic_rvector< TR > &sv, tint &rank, TR tol=basic_cvmMachSp< TR >()) const throw (cvmexception) |
Linear least squares problem. | |
basic_cmatrix & | gelsd (const basic_cmatrix &mA, const basic_cmatrix &mB, basic_rvector< TR > &sv, tint &rank, TR tol=basic_cvmMachSp< TR >()) throw (cvmexception) |
Linear least squares problem. | |
basic_cvector< TR, TC > | gelsd (const basic_cvector< TR, TC > &vB, basic_rvector< TR > &sv, tint &rank, TR tol=basic_cvmMachSp< TR >()) const throw (cvmexception) |
Linear least squares problem. | |
tint | rank (TR tol=basic_cvmMachSp< TR >()) const throw (cvmexception) |
Matrix rank. | |
void | qr (basic_cmatrix< TR, TC > &mQ, basic_scmatrix< TR, TC > &mR) const throw (cvmexception) |
QR factorization ("economy" mode) | |
void | qr (basic_scmatrix< TR, TC > &mQ, basic_cmatrix< TR, TC > &mR) const throw (cvmexception) |
QR factorization ("full" mode) | |
void | lq (basic_scmatrix< TR, TC > &mL, basic_cmatrix< TR, TC > &mQ) const throw (cvmexception) |
LQ factorization ("economy" mode) | |
void | lq (basic_cmatrix< TR, TC > &mL, basic_scmatrix< TR, TC > &mQ) const throw (cvmexception) |
LQ factorization ("full" mode) | |
void | rq (basic_scmatrix< TR, TC > &mR, basic_cmatrix< TR, TC > &mQ) const throw (cvmexception) |
RQ factorization ("economy" mode) | |
void | rq (basic_cmatrix< TR, TC > &mR, basic_scmatrix< TR, TC > &mQ) const throw (cvmexception) |
RQ factorization ("full" mode) | |
void | ql (basic_cmatrix< TR, TC > &mQ, basic_scmatrix< TR, TC > &mL) const throw (cvmexception) |
QL factorization ("economy" mode) | |
void | ql (basic_scmatrix< TR, TC > &mQ, basic_cmatrix< TR, TC > &mL) const throw (cvmexception) |
QL factorization ("full" mode) | |
basic_cmatrix & | geru (TC alpha, const CVector &vCol, const CVector &vRow) throw (cvmexception) |
Rank-1 update matrix-vector operation (unconjugated) | |
basic_cmatrix & | gerc (TC alpha, const CVector &vCol, const CVector &vRow) throw (cvmexception) |
Rank-1 update matrix-vector operation (conjugated) | |
basic_cmatrix & | gemm (const basic_cmatrix &m1, bool bConj1, const basic_cmatrix &m2, bool bConj2, TC cAlpha, TC cBeta) throw (cvmexception) |
Generic matrix-matrix operation. | |
basic_cmatrix & | hemm (bool bLeft, const basic_schmatrix< TR, TC > &ms, const basic_cmatrix &m, TC cAlpha, TC cBeta) throw (cvmexception) |
Generic hermitian matrix-matrix operation. | |
TR | norm2 () const override |
2-norm | |
Public Member Functions inherited from Matrix< TR, TC > | |
tint | msize () const |
Number of rows. | |
tint | nsize () const |
Number of columns. | |
tint | ld () const |
Leading dimension. | |
tint | rowofmax () const |
Row with maximum element. | |
tint | rowofmin () const |
Row with minimum element. | |
tint | colofmax () const |
Column with maximum element. | |
tint | colofmin () const |
Column with minimum element. | |
Public Member Functions inherited from basic_array< TR, TC > | |
basic_array () | |
Default constructor. | |
basic_array (tint nSize, bool bZeroMemory=true) | |
Constructor. | |
basic_array (TC *pd, tint nSize, tint nIncr=1) | |
Constructor. | |
basic_array (const TC *pd, tint nSize, tint nIncr=1) | |
Constructor. | |
basic_array (const TC *begin, const TC *end) | |
Constructor. | |
basic_array (const basic_array &a) | |
Copy constructor. | |
basic_array (basic_array &&a) noexcept | |
Move constructor. | |
basic_array & | operator= (const basic_array &a) throw (cvmexception) |
Assignment operator. | |
basic_array & | operator= (basic_array &&a) throw (cvmexception) |
Move assignment operator. | |
virtual | ~basic_array () |
Destructor. | |
tint | size () const |
Size (length) of array. | |
TC * | get () |
Pointer to data. | |
const TC * | get () const |
Const pointer to data. | |
operator TC * () | |
Type cast to pointer to data. | |
operator const TC * () const | |
Type cast to constant pointer to data. | |
tint | incr () const |
Increment between elements. | |
tint | indofmax () const |
Index of element with maximum module. | |
tint | indofmin () const |
Index of element with minimum module. | |
iterator | begin () |
(STL) iterator to begin | |
const_iterator | begin () const |
(STL) const iterator to begin | |
iterator | end () |
(STL) iterator to end | |
const_iterator | end () const |
(STL) const iterator to end | |
reverse_iterator | rbegin () |
(STL) iterator to begin reversed | |
const_reverse_iterator | rbegin () const |
(STL) const iterator to begin reversed | |
reverse_iterator | rend () |
(STL) iterator to end reversed | |
const_reverse_iterator | rend () const |
(STL) const iterator to end reversed | |
size_type | max_size () const |
(STL) maximum possible size of array | |
size_type | capacity () const |
(STL) current capacity of array, equal to size() | |
bool | empty () const |
(STL) is array empty | |
reference | front () |
(STL) reference to first element | |
const_reference | front () const |
(STL) const reference to first element | |
reference | back () |
(STL) reference to last element | |
const_reference | back () const |
(STL) const reference to last element | |
void | assign (size_type n, const TC &val) throw (cvmexception) |
(STL) assigns given value to n-th element (0-based) | |
void | assign (const_iterator begin, const_iterator end) throw (cvmexception) |
(STL) assigns begin-end iteartor range to array | |
void | clear () |
(STL) clears array, dealocates memory and sets size() to zero | |
void | swap (basic_array &v) throw (cvmexception) |
(STL) swaps array values, throws cvmexception if sizes are different | |
reference | at (size_type n) throw (cvmexception) |
(STL) returns reference to n-th element of array (0-based), throws cvmexception if n is out of boundaries | |
const_reference | at (size_type n) const throw (cvmexception) |
(STL) returns const reference to n-th element of array (0-based), throws cvmexception if n is out of boundaries | |
void | push_back (const TC &x) throw (cvmexception) |
(STL) pushes new value to the end of array | |
void | pop_back () throw (cvmexception) |
(STL) removes last element from array | |
iterator | insert (iterator position, const TC &x) throw (cvmexception) |
(STL) inserts element to given position in array | |
iterator | erase (iterator position) throw (cvmexception) |
(STL) removes element from given position in array | |
Public Member Functions inherited from BandMatrix< TR, TC > | |
tint | lsize () const |
Number of lower sub-diagonals. | |
tint | usize () const |
Number of upper super-diagonals. |
Protected Attributes | |
BaseSCMatrix | mSM |
Temporary storage for square matrix enclosing band one (if needed) | |
Protected Attributes inherited from BandMatrix< TR, TC > | |
tint | mkl |
Number of sub-diagonals. | |
tint | mku |
Number of super-diagonals. |
Additional Inherited Members | |
Public Types inherited from basic_array< TR, TC > | |
typedef TC | value_type |
STL-specific value type definition. | |
typedef value_type * | pointer |
STL-specific value pointer definition. | |
typedef value_type * | iterator |
STL-specific iterator definition. | |
typedef const value_type * | const_iterator |
STL-specific const iterator definition. | |
typedef const value_type * | const_pointer |
STL-specific const pointer definition. | |
typedef value_type & | reference |
STL-specific reference definition. | |
typedef const value_type & | const_reference |
STL-specific const reference definition. | |
typedef size_t | size_type |
STL-specific size type definition. | |
typedef ptrdiff_t | difference_type |
STL-specific difference type definition. | |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
STL-specific const reverse iterator definition. | |
typedef std::reverse_iterator < iterator > | reverse_iterator |
STL-specific reverse iterator definition. | |
Protected Member Functions inherited from Matrix< TR, TC > | |
Matrix () | |
Default constructor. | |
Matrix (tint nM, tint nN, tint nLD, bool bZeroMemory) | |
Constructor. | |
Matrix (TC *pd, tint nM, tint nN, tint nLD, tint nSize) | |
Constructor. | |
Matrix (const TC *pd, tint nM, tint nN, tint nLD, tint nSize) | |
Constructor. | |
Matrix (const BaseArray &v, bool bBeColumn) | |
Constructor. | |
Matrix (Matrix &&m) noexcept | |
Move constructor. | |
Matrix & | operator= (Matrix &&m) throw (cvmexception) |
Move assignment operator. | |
Protected Member Functions inherited from SqMatrix< TR, TC > | |
SqMatrix () | |
internal constructor | |
virtual | ~SqMatrix () |
Protected Member Functions inherited from BandMatrix< TR, TC > | |
BandMatrix () | |
internal protected constructor | |
BandMatrix (tint nKL, tint nKU) | |
internal protected constructor | |
virtual | ~BandMatrix () |
Destructor. |
End-user class encapsulating band square matrix of complex numbers.
TR
type stands for treal. Please use predefined scbmatrix class in your applications. Band storage can be described as follows (cited from MKL manual): an by band matrix with sub-diagonals and super-diagonals is stored compactly in a two-dimensional array with rows and columns. Columns of the matrix are stored in the corresponding columns of the array, and diagonals of the matrix are stored in rows of the array}. This way of storage can be illustrated as follows (referenced elements are shown as , not referenced as , zeros are not stored):
CVM library implements square band matrices only, therefore is satisfied for them.
|
inline |
Default constructor.
Creates empty square band matrix. No memory gets allocated.
|
inlineexplicit |
Diagonal band matrix constructor.
Creates scbmatrix object where dimension is passed in nDim
parameter. The matrix created is diagonal, i.e. . Constructor throws cvmexception in case of non-positive size passed or memory allocation failure.
[in] | nDim | Number of rows and columns. |
|
inline |
Band matrix constructor.
Creates scbmatrix object of dimension passed in nDim
parameter. The matrix created has nKL
sub-diagonals and nKU
super-diagonals. Constructor throws cvmexception in case of non-positive size or negative number of sub-diagonals or super-diagonals passed or in case of memory allocation failure. Example:
prints
[in] | nDim | Number of rows and columns. |
[in] | nKL | Number of lower sub-diagonals. |
[in] | nKU | Number of upper super-diagonals. |
|
inline |
Constructor.
Creates scbmatrix object where is passed in nDim
parameter. The matrix created has nKL
sub-diagonals and nKU
super-diagonals. Constructor throws cvmexception in case of non-positive size or negative number of sub-diagonals or super-diagonals passed or in case of memory allocation failure. Unlike others, this constructor does not allocate memory. It just shares memory with array pointed to by pd
(for matrices nIncr=1
is always satisfied).
[in] | pd | Pointer to array to share memory with. |
[in] | nDim | Number of rows and columns. |
[in] | nKL | Number of lower sub-diagonals. |
[in] | nKU | Number of upper super-diagonals. |
|
inline |
Constructor.
Creates scbmatrix object where is passed in nDim
parameter. The matrix created has nKL
sub-diagonals and nKU
super-diagonals. Constructor throws cvmexception in case of non-positive size or negative number of sub-diagonals or super-diagonals passed or in case of memory allocation failure. Then constructor copies elements of array pd
to the matrix according to band storage.
[in] | pd | Pointer to array to share memory with. |
[in] | nDim | Number of rows and columns. |
[in] | nKL | Number of lower sub-diagonals. |
[in] | nKU | Number of upper super-diagonals. |
|
inline |
Copy constructor.
Creates scbmatrix object as a copy of band matrix m
. It throws cvmexception in case of memory allocation failure.
[in] | m | scbmatrix to copy from. |
|
inline |
Move constructor.
Implements move semantics introduced in new C++ standard. Moves data ownership from other matrix to newly created object. It's usually executed implicitly in cases like this:
or this
Here temporary result of calling b.operator+(c)
will not be destroyed but rather moved to newly created object a
.
[in] | m | rvalue reference to other matrix. |
|
inline |
Constructor.
Creates scbmatrix object as a copy of sliced matrix m
, i.e. it copies main diagonal, nKL
sub-diagonals and nKU
super-diagonals of matrix m
. It's assumed that matrix m
must have equal sizes, i.e. is satisfied. Constructor throws cvmexception if this is not true or in case of memory allocation failure.
[in] | m | cmatrix to copy diagonal and subdiagonals from. |
[in] | nKL | Number of lower sub-diagonals. |
[in] | nKU | Number of upper super-diagonals. |
Definition at line 30406 of file cvm.h.
|
inlineexplicit |
Constructor.
Creates scbmatrix object of size v.size()
by v.size()
and assigns vector v
to its main diagonal. Constructor throws cvmexception in case of memory allocation failure.
[in] | v | cvector to copy main diagonal from. |
Definition at line 30437 of file cvm.h.
|
inlineexplicit |
Constructor.
Creates scbmatrix object with dimensions of passed real band matrix m
and copies matrix m
to real part if bRealPart
is true
or to imaginary part otherwise. Constructor throws cvmexception in case of memory allocation failure.
[in] | m | srbmatrix to copy elements from. |
[in] | bRealPart | true to copy m to real part, false to copy to imaginary part. |
Definition at line 30473 of file cvm.h.
|
inline |
Constructor.
Creates scbmatrix object with dimensions of passed real band matrices mRe
(if one of these dimensions differs from appropriate size of matrix mIm
then constructor throws cvmexception) and copies matrices mRe
and mIm
to real and imaginary part of the matrix created respectively. Constructor also throws cvmexception in case of memory allocation failure.
Definition at line 30513 of file cvm.h.
|
inline |
Reference to element (l-value)
Operator provides access to a particular element of calling matrix by its row and column index. Indexes passed are CVM0 based. It returns l-value in order to make possible write access to an element. Operator throws cvmexception if nRow
or nCol
is outside of boundaries.
Reimplemented from basic_scmatrix< TR, TC >.
Definition at line 30525 of file cvm.h.
|
inline |
Value of element (not l-value)
Operator returns value of a particular element of calling matrix by its row and column index. Indexes passed are CVM0 based. Operator throws cvmexception if nRow
or nCol
is outside of boundaries.
Reimplemented from basic_scmatrix< TR, TC >.
Definition at line 30532 of file cvm.h.
|
inline |
Column as not l-value.
Operator creates cvector object as a copy of nCol-th
column (CVM0 based) of calling matrix. Operator throws cvmexception if nCol
is outside of boundaries.
[in] | nCol | Index of column (CVM0 based). |
Reimplemented from basic_scmatrix< TR, TC >.
Definition at line 30540 of file cvm.h.
|
inline |
Row as not l-value.
Operator creates cvector object as a copy of nRow-th
row (CVM0 based) of calling matrix. Operator throws cvmexception if nRow
is outside of boundaries.
[in] | nRow | Index of row (CVM0 based). |
Reimplemented from basic_scmatrix< TR, TC >.
Definition at line 30547 of file cvm.h.
|
inline |
Real part (not l-value)
Creates object of type const
rmatrix as real part of calling matrix. Please note that, unlike cvector::real(), this function creates new object not sharing memory with real part of calling matrix, i.e. the matrix returned is not l-value.
Reimplemented from basic_scmatrix< TR, TC >.
Definition at line 30554 of file cvm.h.
|
inline |
Imaginary part (not l-value)
Creates object of type const
rmatrix as imaginary part of calling matrix. Please note that, unlike cvector::imag(), this function creates new object not sharing memory with imaginary part of calling matrix, i.e. the matrix returned is not l-value.
Reimplemented from basic_scmatrix< TR, TC >.
Definition at line 30562 of file cvm.h.
|
inline |
Assignment operator.
Sets every element of calling scbmatrix to be equal to appropriate element of matrix m
and returns reference to the matrix changed. Operator throws cvmexception in case of different matrix dimensions.
[in] | m | scbmatrix to assign from. |
|
inline |
Move assignment operator.
Implements move semantics introduced in new C++ standard. Moves data ownership from other matrix to calling object. It's usually executed implicitly in cases like this:
Here temporary result of calling b.operator+(c)
will not be destroyed but rather moved to calling object a
.
[in] | m | rvalue reference to other matrix. |
Definition at line 30621 of file cvm.h.
|
inline |
Vector (as array) assignment.
Sets every element of calling matrix to be equal to appropriate element of cvector v
as an array. Assignment is performed according to matrix storage (by columns). It's assumed that vector passed is long enough to fill calling matrix. Function throws cvmexception otherwise.
[in] | v | cvector to assign. |
Reimplemented from basic_scmatrix< TR, TC >.
Definition at line 30629 of file cvm.h.
|
inline |
External array assignment.
Sets every element of calling matrix to be equal to appropriate element of array pointed to by parameter pd
and returns reference to the matrix changed. Assignment is performed according to matrix storage (by columns). It's assumed that array passed is long enough to fill calling matrix.
[in] | pd | Const pointer to external array. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Sets all elements to one value.
Sets every element of calling matrix to be equal to parameter c
and returns reference to the matrix changed.
[in] | c | Value to set to. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Assignment to real parts.
Sets real part of every element of calling complex band matrix to value of appropriate element of srbmatrix mRe
and returns reference to the matrix changed. Function throws cvmexception in case of different sizes of the operands.
[in] | mRe | srbmatrix to assign to real part. |
Definition at line 30675 of file cvm.h.
|
inline |
Assignment to imaginary parts.
Sets imaginary part of every element of calling complex band matrix to value of appropriate element of srbmatrix mIm
and returns reference to the matrix changed. Function throws cvmexception in case of different sizes of the operands.
[in] | mIm | srbmatrix to assign to imaginary part. |
Definition at line 30710 of file cvm.h.
|
inline |
Sets all real parts to one value.
Sets real part of every element of calling matrix to be equal to parameter d
and returns reference to the matrix changed.
[in] | d | Value to set to. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Sets all imaginary parts to one value.
Sets imaginary part of every element of calling matrix to be equal to parameter d
and returns reference to the matrix changed.
[in] | d | Value to set to. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Changes dimension.
Changes dimension of calling square matrix to nNewDim
and returns reference to the matrix changed. In case of increasing of its size, the matrix is filled up with zeroes. Function throws cvmexception in case of negative dimension passed or memory allocation failure.
[in] | nNewDim | New dimension. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Changes number of sub- and super-diagonals.
Changes number of sub- and super-diagonals of calling complex band matrix to nNewKL
and nNewKU
respectively and returns reference to the matrix changed. In case of increasing of the numbers, calling matrix is filled up with zeroes. Function throws cvmexception in case of negative number passed or memory allocation failure.
[in] | nNewKL | New number of lower sub-diagonals. |
[in] | nNewKU | New number of upper super-diagonals. |
Definition at line 30775 of file cvm.h.
|
inline |
Band matrix comparison.
Operator compares calling band matrix with complex band matrix m
and returns true
if they have same dimensions and their appropriate elements differ by not more than cvmMachMin() (the smallest normalized positive number). Returns false
otherwise.
[in] | m | scbmatrix to compare to. |
Definition at line 30816 of file cvm.h.
|
inline |
Band matrix comparison.
Operator compares calling band matrix with complex band matrix m
and returns true
if they have different dimensions or at least one of their appropriate elements differs by more than cvmMachMin() (the smallest normalized positive number). Returns false
otherwise.
[in] | m | scbmatrix to compare to. |
|
inline |
Matrix replacement.
Destroys calling band matrix, creates a new one as a copy of band matrix m
and returns reference to the matrix changed. Operator throws cvmexception in case of memory allocation failure.
[in] | m | scbmatrix to replace by. |
|
inline |
Addition operator.
Creates object of type scbmatrix as sum of calling matrix and matrix m
. Operator throws cvmexception in case of different dimensions of the operands or memory allocation failure.
[in] | m | scbmatrix to add to calling one. |
|
inline |
Subtraction operator.
Creates object of type scbmatrix as difference of calling band matrix and band matrix m
. It throws cvmexception in case of different dimensions of the operands or memory allocation failure.
[in] | m | scbmatrix to subtract from calling one. |
|
inline |
Sum of matrices.
Assigns sum of complex square band matrices m1
and m2
to calling matrix and returns reference to the matrices changed. It throws cvmexception in case of different sizes of the operands.
|
inline |
Difference of matrices.
Assigns difference of complex square band matrices m1
and m2
to calling matrix and returns reference to the matrix changed. It throws cvmexception in case of different sizes of the operands.
|
inline |
Increment operator.
Adds scbmatrix m
to calling matrix and returns reference to the matrix changed. It throws cvmexception in case of different sizes of the operands.
[in] | m | scbmatrix to increment by. |
|
inline |
Decrement operator.
Subtracts scbmatrix m
from calling matrix and returns reference to the matrix changed. It throws cvmexception in case of different sizes of the operands.
[in] | m | scbmatrix to decrement by. |
|
inline |
Unary minus operator.
Creates object of type scmatrix as calling matrix multiplied by -1
. It throws cvmexception in case of memory allocation failure.
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Plus identity, prefix.
Adds identity matrix to calling square complex matrix and returns reference to the matrix changed.
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Plus identity, postfix.
Adds identity matrix to calling square complex matrix and returns reference to the matrix changed.
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Minus identity, prefix.
Subtracts identity matrix from calling square complex matrix and returns reference to the matrix changed.
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Minus identity, postfix.
Subtracts identity matrix from calling square complex matrix and returns reference to the matrix changed.
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Multiply by real number operator.
Creates object of type scmatrix as product of calling matrix and real number dMult
. It throws cvmexception in case of memory allocation failure.
[in] | dMult | Number to multiply by. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Divide by real number operator.
Creates object of type scmatrix as quotient of calling matrix and real number dDiv
. It throws cvmexception if dDiv
has absolute value equal or less than cvmMachMin() (the smallest normalized positive number). It also throws exception in case of memory allocation failure.
[in] | dDiv | Number to divide by. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Multiply by complex number operator.
Creates object of type scmatrix as product of calling matrix and complex number cMult
. It throws cvmexception in case of memory allocation failure.
[in] | cMult | Number to multiply by. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Divide by complex number operator.
Creates object of type scmatrix as quotient of calling matrix and complex number cDiv
. It throws cvmexception if cDiv
has absolute value equal or less than cvmMachMin() (the smallest normalized positive number). It also throws exception in case of memory allocation failure.
[in] | cDiv | Number to divide by. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Multiply by real number and assign.
Multiplies calling square complex matrix by real number dMult
and returns reference to the matrix changed.
[in] | dMult | Number to multiply by. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Divide by real number and assign.
Divides calling square complex matrix by real number dDiv
and returns reference to the matrix changed. It throws cvmexception if dDiv
has absolute value equal or less than cvmMachMin() (the smallest normalized positive number).
[in] | dDiv | Number to divide by. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Multiply by complex number and assign.
Multiplies calling square complex matrix by complex number cMult
and returns reference to the matrix changed.
[in] | cMult | Number to multiply by. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Divide by complex number and assign.
Divides calling square complex matrix by complex number cDiv
and returns reference to the matrix changed. It throws cvmexception if cDiv
has absolute value equal or less than cvmMachMin() (the smallest normalized positive number).
[in] | cDiv | Number to divide by. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Matrix normalizer.
Normalizes calling matrix so its Euclidean norm() becomes equal to 1 if it was greater than cvmMachMin() (the smallest normalized positive number) before the call. Does nothing otherwise.
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Matrix transposition.
Creates object of type scmatrix
as transposed calling matrix.
Reimplemented from basic_scmatrix< TR, TC >.
Definition at line 31311 of file cvm.h.
|
inline |
Matrix conjugation.
Creates object of type scmatrix
as hermitian conjugated calling matrix.
Reimplemented from basic_scmatrix< TR, TC >.
Definition at line 31318 of file cvm.h.
|
inline |
Matrix transposition.
Sets calling complex square band matrix to be equal to complex square band matrix m
transposed. Function throws cvmexception in case of not appropriate sizes of the operands.
[in] | m | scbmatrix to transpose. |
Definition at line 31368 of file cvm.h.
|
inline |
Matrix hermitian conjugation.
Sets calling complex square band matrix to be equal to complex square band matrix m
conjugated. Function throws cvmexception in case of not appropriate sizes of the operands.
[in] | m | scbmatrix to conjugate. |
Definition at line 31420 of file cvm.h.
|
inline |
Matrix transposition (in-place)
Makes calling square complex matrix to be equal to transposed itself. Function throws cvmexception in case of memory allocation failure.
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Matrix conjugation (in-place)
Makes calling square complex matrix to be equal to hermitian conjugated itself. Function throws cvmexception in case of memory allocation failure.
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Matrix-vector product.
Creates object of type cvector as product of calling matrix and vector v
. Function throws cvmexception if the number of columns of the calling matrix differs from size of the vector v
. Use basic_cvector::mult(const basic_cmatrix<TR,TC>&,const basic_cvector<TR,TC>&) to avoid new object creation.
[in] | v | cvector to compute product with. |
Reimplemented from basic_scmatrix< TR, TC >.
Definition at line 31442 of file cvm.h.
|
inline |
Matrix-matrix product.
Creates object of type cmatrix as product of calling square complex matrix and matrix m
. Operator throws cvmexception if number of columns of calling matrix differs from number of rows of the matrix m
. Use mult() to avoid new object creation.
[in] | m | cmatrix to compute product with. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Matrix-matrix product.
Creates object of type scmatrix as product of calling complex square band matrix and square matrix m
. Operator throws cvmexception if number of columns of calling matrix differs from number of rows of the matrix m
. Use mult() to avoid new object creation.
[in] | m | scmatrix to compute product with. |
|
inline |
Matrix-matrix product.
Creates object of type scbmatrix as product of calling complex square band matrix and complex square band matrix m
. Operator throws cvmexception if number of columns of calling matrix differs from number of rows of the matrix m
. Use mult() to avoid new object creation.
[in] | m | scbmatrix to compute product with. |
Definition at line 31527 of file cvm.h.
|
inline |
Linear solver operator.
Creates cvector object as solution of linear equation where calling matrix is square complex matrix and parameter vB
is vector . Operator throws cvmexception in case of inappropriate sizes of the operands or when matrix is close to singular.
[in] | vB | cvector . |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Low-up (LU) factorization.
Compute LU factorization of complex square band matrix as
where is permutation matrix, is lower triangular matrix with unit diagonal elements and is upper triangular matrix. Function stores result as the matrix without main diagonal combined with . Function returns pivot indices as array of integers (it should support at least msize() elements) pointed to by nPivots
so -th row was interchanged with nPivots
[ ]-th row. This version sets calling matrix to be equal to matrix m's
LU factorization. This version also changes number of super-diagonals to be equal to in order to keep the result of factorization. Function throws cvmexception in case of inappropriate sizes of the operands or when the matrix to be factorized is close to singular. It is recommended to use iarray for pivot values.
[in] | m | scbmatrix to compute LU factorization for. |
[out] | nPivots | Array of pivot indices. |
|
inline |
Low-up (LU) factorization.
Compute LU factorization of square complex matrix as
where is permutation matrix, is lower triangular matrix with unit diagonal elements and is upper triangular matrix. Function stores result as the matrix without main diagonal combined with . Function returns pivot indices as array of integers (it should support at least msize() elements) pointed to by nPivots
so -th row was interchanged with nPivots
[ ]-th row. This version creates object of type srmatrix as calling matrix LU factorization. Function throws cvmexception in case of inappropriate sizes of the operands or when the matrix to be factorized is close to singular. It is recommended to use iarray for pivot values.
[out] | nPivots | Array of pivot indices. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Identity matrix.
Sets calling square complex matrix to be equal to identity matrix and returns reference to the matrix changed.
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Set matrix to zero.
Sets every element of calling square complex matrix to be equal to zero and returns reference to the matrix changed. This function is faster than, for example, set(TR) with zero parameter passed.
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Randomizer (real part)
Fills real part of calling complex matrix with pseudo-random numbers distributed between dFrom
and dTo
. It returns reference to the matrix changed.
[in] | dFrom | First limit. |
[in] | dTo | Second limit. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inline |
Randomizer (imaginary part)
Fills imaginary part of calling complex matrix with pseudo-random numbers distributed between dFrom
and dTo
. It returns reference to the matrix changed.
[in] | dFrom | First limit. |
[in] | dTo | Second limit. |
Reimplemented from basic_scmatrix< TR, TC >.
|
inlineoverridevirtual |
Euclidean norm.
Euclidean norm of calling array that for vectors is defined as
and for matrices as
Reimplemented from basic_array< TR, TC >.
Definition at line 31673 of file cvm.h.
|
inlineoverridevirtual |
1-norm
1-norm of calling array that for vectors is defined as
and for matrices as
Reimplemented from Matrix< TR, TC >.
|
inlineoverridevirtual |
Infinity norm.
Infinity norm of calling array that for vectors is defined as
and for matrices as
Reimplemented from Matrix< TR, TC >.
|
inline |
|
mutableprotected |