Class : ComplexTriDiagonalHermitianMatrix
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.