Class : ComplexTriDiagonalHermitianMatrix

class deriving from Matrix

ComplexTriDiagonalHermitianMatrix :

prototype: ComplexTriDiagonalHermitianMatrix ()

description:default constructor



ComplexTriDiagonalHermitianMatrix :

prototype: ComplexTriDiagonalHermitianMatrix (double* , double* , double* , int dimension )

description:constructor from matrix elements (without duplicating datas)


input parameters:
diagonal = pointer to diagonal element array
realUpperDiagonal = pointer to real part of upper diagonal element
imaginaryUpperDiagonal = pointer to imaginary part of upper diagonal element
dimension = matrix dimension



ComplexTriDiagonalHermitianMatrix :

prototype: ComplexTriDiagonalHermitianMatrix (const ComplexTriDiagonalHermitianMatrix& M )

description:copy constructor (without duplicating datas)


input parameters:
M = matrix to copy



ComplexTriDiagonalHermitianMatrix :

prototype: ComplexTriDiagonalHermitianMatrix (const RealTriDiagonalSymmetricMatrix& M )

description:copy constructor from a real tridiagonal symmetric matrix (without duplicating diagonal elements)


input parameters:
M = matrix to copy



~ComplexTriDiagonalHermitianMatrix :

prototype: ~ComplexTriDiagonalHermitianMatrix ()

description:destructor



operator = :

prototype: ComplexTriDiagonalHermitianMatrix& operator = (const ComplexTriDiagonalHermitianMatrix& M )

description:assignement (without duplicating datas)


input parameters:
M = matrix to copy


return value: reference on modified matrix



operator = :

prototype: ComplexTriDiagonalHermitianMatrix& operator = (const RealTriDiagonalSymmetricMatrix& M )

description:assignement from a real tridiagonal symmetric matrix (without duplicating datas)


input parameters:
M = matrix to copy


return value: reference on modified matrix



Clone :

prototype: Matrix* Clone ()

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


input parameters:
retrun value = pointer on new matrix



SetMatrixElement :

prototype: 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: 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: 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: 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



operator + :

prototype: friend ComplexTriDiagonalHermitianMatrix operator + (const ComplexTriDiagonalHermitianMatrix& , const ComplexTriDiagonalHermitianMatrix& M2 )

description:add two matrices


input parameters:
M1 = first matrix
M2 = second matrix


return value: sum of the two matrices



operator + :

prototype: friend ComplexTriDiagonalHermitianMatrix operator + (const RealTriDiagonalSymmetricMatrix& , const ComplexTriDiagonalHermitianMatrix& M2 )

description:add two matrices where the left one is a real tridiagonal symmetric matrix


input parameters:
M1 = left matrix
M2 = right matrix


return value: sum of the two matrices



operator + :

prototype: friend ComplexTriDiagonalHermitianMatrix operator + (const ComplexTriDiagonalHermitianMatrix& , const RealTriDiagonalSymmetricMatrix& M2 )

description:add two matrices where the right one is a real tridiagonal symmetric matrix


input parameters:
M1 = left matrix
M2 = right matrix


return value: sum of the two matrices



operator - :

prototype: friend ComplexTriDiagonalHermitianMatrix operator - (const ComplexTriDiagonalHermitianMatrix& , const ComplexTriDiagonalHermitianMatrix& M2 )

description:substract two matrices


input parameters:
M1 = first matrix
M2 = matrix to substract to M1


return value: difference of the two matrices



operator - :

prototype: friend ComplexTriDiagonalHermitianMatrix operator - (const RealTriDiagonalSymmetricMatrix& , const ComplexTriDiagonalHermitianMatrix& M2 )

description:substract two matrices where the left one is a real tridiagonal symmetric matrix


input parameters:
M1 = first matrix
M2 = matrix to substract to M1


return value: difference of the two matrices



operator - :

prototype: friend ComplexTriDiagonalHermitianMatrix operator - (const ComplexTriDiagonalHermitianMatrix& , const RealTriDiagonalSymmetricMatrix& M2 )

description:substract two matrices where the right one is a real tridiagonal symmetric matrix


input parameters:
M1 = first matrix
M2 = matrix to substract to M1


return value: difference of the two matrices



operator * :

prototype: friend ComplexTriDiagonalHermitianMatrix operator * (const ComplexTriDiagonalHermitianMatrix& , double x )

description:multiply a matrix by a real number (right multiplication)


input parameters:
M = source matrix
x = real number to use


return value: product result



operator * :

prototype: friend ComplexTriDiagonalHermitianMatrix operator * (double , const ComplexTriDiagonalHermitianMatrix& M )

description:multiply a matrix by a real number (left multiplication)


input parameters:
M = source matrix
x = real number to use


return value: product result



operator / :

prototype: friend ComplexTriDiagonalHermitianMatrix operator / (const ComplexTriDiagonalHermitianMatrix& , double x )

description:divide a matrix by a real number (right multiplication)


input parameters:
M = source matrix
x = real number to use


return value: division result



operator += :

prototype: ComplexTriDiagonalHermitianMatrix& operator += (const ComplexTriDiagonalHermitianMatrix& M )

description:add two matrices


input parameters:
M = matrix to add to current matrix


return value: reference on current matrix



operator += :

prototype: ComplexTriDiagonalHermitianMatrix& operator += (const RealTriDiagonalSymmetricMatrix& M )

description:add two matrices where the right one is a real tridiagonal symmetric matrix


input parameters:
M = matrix to add to current matrix


return value: reference on current matrix



operator -= :

prototype: ComplexTriDiagonalHermitianMatrix& operator -= (const ComplexTriDiagonalHermitianMatrix& M )

description:substract two matrices


input parameters:
M = matrix to substract to current matrix


return value: reference on current matrix



operator -= :

prototype: ComplexTriDiagonalHermitianMatrix& operator -= (const RealTriDiagonalSymmetricMatrix& M )

description:substract two matrices where the right one is a real tridiagonal symmetric matrix


input parameters:
M = matrix to substract to current matrix


return value: reference on current matrix



operator *= :

prototype: ComplexTriDiagonalHermitianMatrix& operator *= (double x )

description:multiply a matrix by a real number


input parameters:
x = real number to use


return value: reference on current matrix



operator /= :

prototype: ComplexTriDiagonalHermitianMatrix& operator /= (double x )

description:divide a matrix by a real number


input parameters:
x = real number to use


return value: reference on current matrix



Tr :

prototype: double Tr ()

description:evaluate matrix trace


input parameters:


return value: matrix trace



Det :

prototype: double Det ()

description:evaluate matrix determinant


input parameters:


return value: matrix determinant



CharacteristicEquation :

prototype: Polynomial& CharacteristicEquation ()

description:return matrix characteritic equation


input parameters:


return value: reference one polynomial corresponding to matrix characteritic equation



Eigenvector :

prototype: ComplexVector& Eigenvector (double , ComplexVector& eigenvector )

description:evaluate a normalized eigenvector for a given eigenvalue (supposing the eigenvalue is non-degenerate)


input parameters:
eigenvalue = eigenvalue to use
eigenvector = vector where the eigenvector has to be stored


return value: reference on eigenvector



operator << :

prototype: friend ostream& operator << (ostream& , const ComplexTriDiagonalHermitianMatrix& P )

description:Output Stream overload


input parameters:
Str = reference on output stream
P = matrix to print


return value: reference on output stream



Back to index.