Class : TwoSpaceTensor

class deriving from Tensor

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.