Class : TwoSpaceTensor
TwoSpaceTensor :
prototype: TwoSpaceTensor ()
description:default constructor
TwoSpaceTensor :
prototype: TwoSpaceTensor (AbstractTensorProductStructure* , Matrix& , int firstTargetSpace )
description:constructor from standard datas
input parameters:
struture = reference on tensor product structure
elementaryMatrix = matrix to use
firstTargetSpace = first space on which matrix acts
TwoSpaceTensor :
prototype: TwoSpaceTensor (AbstractTensorProductStructure* , Matrix* , Matrix* , int ,
double coef = 1.0 )
description:constructor from the tensor product of two matrices
input parameters:
struture = reference on tensor product structure
m1 = pointer to the matrix to use for first target space
m2 = pointer to the matrix to use for second target space
firstTargetSpace = first space on which matrix acts
coef = global multiplicative factor
TwoSpaceTensor :
prototype: TwoSpaceTensor (AbstractTensorProductStructure* , RealSymmetricMatrix& ,
RealSymmetricMatrix& , SpaceDecomposition& , SpaceDecomposition& , int , double coef = 1.0 )
description:constructor from the tensor product of two matrices with a given space decomposition
input parameters:
struture = reference on tensor product structure
m1 = reference on matrix to use for first target space
m2 = reference on matrix to use for second target space
decomposition1 = first space decomposition
decomposition2 = second space decomposition
firstTargetSpace = first space on which matrix acts
coef = global multiplicative factor
TwoSpaceTensor :
prototype: TwoSpaceTensor (AbstractTensorProductStructure* , Matrix& ,
Matrix& , SpaceDecomposition& , SpaceDecomposition& , int , double coef = 1.0 )
description:constructor from the tensor product of two matrices with a given space decomposition
input parameters:
struture = reference on tensor product structure
m1 = reference on matrix to use for first target space
m2 = reference on matrix to use for second target space
decomposition1 = first space decomposition
decomposition2 = second space decomposition
firstTargetSpace = first space on which matrix acts
coef = global multiplicative factor
TwoSpaceTensor :
prototype: TwoSpaceTensor (AbstractTensorProductStructure* , Matrix& ,
int** , int , double coef = 1.0 )
description:constructor from a given matrix assuming the other is identity (with a space index permutation)
input parameters:
struture = reference on tensor product structure
m = reference on matrix to use
permutation = two dimensional array describing permutation
firstTargetSpace = first space on which matrix acts
coef = global multiplicative factor
TwoSpaceTensor :
prototype: TwoSpaceTensor (AbstractTensorProductStructure* , Matrix& ,
int , int , int* , int** , int** , int , double coef = 1.0 )
description:constructor from a given matrix asociated to a given space
and array containing positions where elements are to be put (assuming identity on other spaces)
input parameters:
struture = reference on tensor product structure
m = reference on matrix to use
totalSpaceDimension = dimension of the total space
arraySize = size of used array
subspaceSize = indicate size of each subspace associated to a fixed coordinate
for spaces where identity acts
spaceIndex = array containing index in space where matrix acts for each fixed coordinate
globalSpaceIndex = array containing global index in space where matrix acts for each fixed coordinate
targetSpace = target space index
coef = global multiplicative factor
TwoSpaceTensor :
prototype: TwoSpaceTensor (const OneSpaceTensor& , const OneSpaceTensor& , double coef )
description:constructor from the product of two one space tensors
input parameters:
t1 = first one space tensor
t2 = second one space tensor
coef = global multiplicative factor
TwoSpaceTensor :
prototype: TwoSpaceTensor (const TwoSpaceTensor& M )
description:copy constructor (without duplicating datas)
input parameters:
M = matrix to copy
~TwoSpaceTensor :
prototype: ~TwoSpaceTensor ()
description:destructor
operator = :
prototype: TwoSpaceTensor& operator = (const TwoSpaceTensor& M )
description:assignement (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
Resize :
prototype: void Resize (int , int nbrColumn )
description:Resize matrix
input parameters:
nbrRow = new number of rows
nbrColumn = new number of columns
ResizeAndClean :
prototype: 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
Resize :
prototype: void Resize (const TensorProductStructure& structure )
description:Resize tensor
input parameters:
structure = new product tensor structure
ResizeAndClean :
prototype: void ResizeAndClean (const TensorProductStructure& structure )
description:Resize tensor and set to zero all components that have been added
input parameters:
structure = new product tensor structure
AddProduct :
prototype: TwoSpaceTensor& AddProduct (const OneSpaceTensor& , const OneSpaceTensor& t2 )
description:Add product of two one space tensors to the current tensor
input parameters:
t1 = first one space tensor
t2 = second one space tensor
return value: reference on current tensor
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
operator += :
prototype: TwoSpaceTensor& operator += (const OneSpaceTensor& tensor )
description:add a one space tensor to the current two space tensor
input parameters:
tensor = one space tensor to add
return value: reference to current tensor
AddTensorProductMatrices :
prototype: TwoSpaceTensor& AddTensorProductMatrices (Matrix* , Matrix* , double coef = 1.0 )
description:add tensor product of two matrices to the current tensor (assuming identical space tensor pattern)
input parameters:
m1 = pointer to the matrix associated to first target space
m2 = pointer to the matrix associated to first target space
coef = global multiplicative factor
return value: reference to current tensor
AddTensorProductMatrices :
prototype: TwoSpaceTensor& AddTensorProductMatrices (Matrix& , Matrix& ,
SpaceDecomposition& ,
SpaceDecomposition& , double coef = 1.0 )
description:add tensor product of two matrices to the current tensor with a given space decomposition
input parameters:
m1 = reference on the matrix associated to first target space
m2 = reference on the matrix associated to second target space
decomposition1 = first space decomposition
decomposition2 = second space decomposition
coef = global multiplicative factor
return value: reference to current tensor
AddTensorProductMatrices :
prototype: TwoSpaceTensor& AddTensorProductMatrices (RealSymmetricMatrix& , RealSymmetricMatrix& ,
SpaceDecomposition& ,
SpaceDecomposition& , double coef = 1.0 )
description:add tensor product of two matrices to the current tensor with a given space decomposition
input parameters:
m1 = reference on the matrix associated to first target space
m2 = reference on the matrix associated to second target space
decomposition1 = first space decomposition
decomposition2 = second space decomposition
coef = global multiplicative factor
return value: reference to current tensor
AddTensorProductMatrices :
prototype: TwoSpaceTensor& AddTensorProductMatrices (RealAntisymmetricMatrix& , RealAntisymmetricMatrix& ,
SpaceDecomposition& ,
SpaceDecomposition& , double coef = 1.0 )
description:add tensor product of two matrices to the current tensor with a given space decomposition
input parameters:
m1 = reference on the matrix associated to first target space
m2 = reference on the matrix associated to second target space
decomposition1 = first space decomposition
decomposition2 = second space decomposition
coef = global multiplicative factor
return value: reference to current tensor
SubTensorProductMatrices :
prototype: TwoSpaceTensor& SubTensorProductMatrices (Matrix* , Matrix* m2 )
description:substract tensor product of two matrices to the cuurent tensor
(assuming identical space tensor pattern)
input parameters:
m1 = pointer to the matrix associated to first target space
m2 = pointer to the matrix associated to first target space
return value: reference to current tensor
AddToFirstSpace :
prototype: void AddToFirstSpace (RealDiagonalMatrix& matrix )
description:add a real diagonal matrix to matrix of first target space
input parameters:
matrix = matrix to add
AddToFirstSpace :
prototype: void AddToFirstSpace (Matrix& matrix )
description:add a matrix to matrix of first target space
input parameters:
matrix = matrix to add
AddToFirstSpace :
prototype: void AddToFirstSpace (RealSymmetricMatrix& matrix )
description:add a real symmetric matrix to matrix of first target space
input parameters:
matrix = matrix to add
AddToFirstSpace :
prototype: void AddToFirstSpace (RealDiagonalMatrix& , SpaceDecomposition& ,
SpaceDecomposition& decomposition2 )
description:add a real symmetric matrix to matrix of first target space
input parameters:
matrix = matrix to add
AddToSecondSpace :
prototype: void AddToSecondSpace (RealDiagonalMatrix& matrix )
description:add a real diagonal matrix to matrix of second target space
input parameters:
matrix = matrix to add
AddToSecondSpace :
prototype: void AddToSecondSpace (Matrix& matrix )
description:add a matrix to matrix of second target space
input parameters:
matrix = matrix to add
AddToSecondSpace :
prototype: void AddToSecondSpace (RealSymmetricMatrix& matrix )
description:add a real symmetric matrix to matrix of second target space
input parameters:
matrix = matrix to add
AddToSecondSpace :
prototype: void AddToSecondSpace (RealDiagonalMatrix& , SpaceDecomposition& ,
SpaceDecomposition& decomposition2 )
description:add a real symmetric matrix to matrix of second target space
input parameters:
matrix = matrix to add
AddToFirstSpace :
prototype: void AddToFirstSpace (RealTriDiagonalSymmetricMatrix& matrix )
description:add a real tridiagonal symmetric matrix to matrix of first target space
input parameters:
matrix = matrix to add
AddToSecondSpace :
prototype: void AddToSecondSpace (RealTriDiagonalSymmetricMatrix& matrix )
description:add a real tridiagonal symmetric matrix to matrix of second target space
input parameters:
matrix = matrix to add
operator << :
prototype: friend ostream& operator << (ostream& , const TwoSpaceTensor& tensor )
description:Output Stream overload
input parameters:
str = reference on output stream
tensor = tensor to print
return value: reference on output stream
Back to index.