Class : Matrix

Matrix :

prototype: Matrix ()

description:default constructor



~Matrix :

prototype: virtual ~Matrix ()

description:virtual destructor



Clone :

prototype: virtual Matrix* Clone ()

description:return pointer on a clone matrix (without duplicating datas)


input parameters:
retrun value = pointer on new matrix



Project :

prototype: virtual Matrix* Project (SubspaceSpaceConverter& subspace )

description:project matrix into a given subspace


input parameters:
subspace = reference on subspace structure


return value: pointer to projected matrix



GetMatrixType :

prototype: virtual int GetMatrixType ()

description:get matrix type


input parameters:


return value: matrix type



GetNbrRow :

prototype: virtual int GetNbrRow ()

description:get number of row


input parameters:


return value: number of row



GetNbrColumn :

prototype: virtual int GetNbrColumn ()

description:get number of column


input parameters:


return value: number of column



SetMatrixElement :

prototype: virtual void SetMatrixElement (int , int , double x )

description:set a matrix element


input parameters:
i = line position
j = column position
x = new value for matrix element



SetMatrixElement :

prototype: virtual void SetMatrixElement (int , int , const Complex& x )

description:set a matrix element


input parameters:
i = line position
j = column position
x = new value for matrix element



AddToMatrixElement :

prototype: virtual void AddToMatrixElement (int , int , double x )

description:add a value to a matrix element


input parameters:
i = line position
j = column position
x = value to add to matrix element



AddToMatrixElement :

prototype: virtual void AddToMatrixElement (int , int , const Complex& x )

description:add a value a matrix element


input parameters:
i = line position
j = column position
x = value to add to matrix element



Resize :

prototype: virtual void Resize (int , int nbrColumn )

description:Resize matrix


input parameters:
nbrRow = new number of rows
nbrColumn = new number of columns



ResizeAndClean :

prototype: virtual void ResizeAndClean (int , int nbrColumn )

description:Resize matrix and set to zero all elements that have been added


input parameters:
nbrRow = new number of rows
nbrColumn = new number of columns



operator :

prototype: virtual double& operator ( )

description:return refernce on real part of a given matrix element


input parameters:
i = line position
j = column position


return value: reference on real part



Conjugate :

prototype: Matrix* Conjugate (RealMatrix& UnitaryM )

description:conjugate matrix with an unitary real matrix (Ut M U)


input parameters:
UnitaryM = unitary matrix to use


return value: pointer to conjugated matrix



Conjugate :

prototype: virtual Matrix* Conjugate (BlockDiagonalMatrix& UnitaryM )

description:conjugate matrix with an unitary block diagonal matrix (Ut M U)


input parameters:
UnitaryM = unitary matrix to use


return value: pointer to conjugated matrix



Tr :

prototype: virtual double Tr ()

description:multiply a matrix by a real number


input parameters:
x = real number to use


return value: reference on current matrix
virtual Matrix& operator *= (double x);
evaluate matrix trace


input parameters:


return value: matrix trace



Det :

prototype: virtual double Det ()

description:evaluate matrix determinant


input parameters:


return value: matrix determinant



operator << :

prototype: friend ostream& operator << (ostream& , const Matrix& matrix )

description:Output Stream overload


input parameters:
str = reference on output stream
matrix = matrix to print


return value: reference on output stream



Back to index.