Class : NonPeriodicDMRGHamiltonian

class deriving from AbstractHamiltonian

NonPeriodicDMRGHamiltonian :

prototype: NonPeriodicDMRGHamiltonian (OneSpaceTensor , OneSpaceTensor , Matrix& , CompositeTensorProductStructure* , FullTensorProductStructure** , FullTensorProductStructure** , int , int interactionBlockTotalDimension )

description:constructor from default datas


input parameters:
leftBlockLeftInteractionPart = tensor associated to hamiltonian part describing
left block and interaction between left block and new left added block
RightBlockRightInteractionPart = tensor associated to hamiltonian part describing
right block and interaction between right block and new right added block
interaction = reference on matrix describing interaction between the two blocks
spaceStructure = tensor product struture associated to the Hilbert space where
Hamiltonian has to be applied
leftSpaceFineStructureArray = array of fine structure describing total left space
rightSpaceFineStructureArray = array of fine structure describing total right space
blockTotalDimension = total dimension of Hilbert space associated to left or right block
interactionBlockTotalDimension = total dimension of Hilbert space associated to left or right
interaction block



~NonPeriodicDMRGHamiltonian :

prototype: ~NonPeriodicDMRGHamiltonian ()

description:destructor



SetHilbertSpace :

prototype: void SetHilbertSpace (AbstractHilbertSpace* hilbertSpace )

description:set Hilbert space


input parameters:
hilbertSpace = pointer to Hilbert space to use



GetHilbertSpace :

prototype: AbstractHilbertSpace* GetHilbertSpace ()

description:get Hilbert space on which Hamiltonian acts


input parameters:


return value: pointer to used Hilbert space



GetHilbertSpaceDimension :

prototype: int GetHilbertSpaceDimension ()

description:return dimension of Hilbert space where Hamiltonian acts


input parameters:


return value: corresponding matrix elementdimension



ShiftHamiltonian :

prototype: void ShiftHamiltonian (double shift )

description:shift Hamiltonian from a given energy


input parameters:
shift = shift value



GetHamiltonian :

prototype: Matrix* GetHamiltonian ()

description:return matrix representation of current Hamiltonian


input parameters:


return value: reference to representation



MatrixElement :

prototype: Complex MatrixElement (RealVector& , RealVector& V2 )

description:evaluate matrix element


input parameters:
V1 = vector to left multiply with current matrix
V2 = vector to right multiply with current matrix


return value: corresponding matrix element



MatrixElement :

prototype: Complex MatrixElement (ComplexVector& , ComplexVector& V2 )

description:evaluate matrix element


input parameters:
V1 = vector to left multiply with current matrix
V2 = vector to right multiply with current matrix


return value: corresponding matrix element



LowLevelMultiply :

prototype: RealVector& LowLevelMultiply (RealVector& , RealVector& vDestination )

description:multiply a vector by the current hamiltonian and store result in another vector
low level function (no architecture optimization)


input parameters:
vSource = vector to be multiplied
vDestination = vector where result has to be stored


return value: reference on vectorwhere result has been stored



LowLevelMultiply :

prototype: RealVector& LowLevelMultiply (RealVector& , RealVector& , int , int nbrComponent )

description:multiply a vector by the current hamiltonian for a given range of idinces
and store result in another vector, low level function (no architecture optimization)


input parameters:
vSource = vector to be multiplied
vDestination = vector where result has to be stored
firstComponent = index of the first component to evaluate
nbrComponent = number of components to evaluate


return value: reference on vector where result has been stored



LowLevelAddMultiply :

prototype: RealVector& LowLevelAddMultiply (RealVector& , RealVector& vDestination )

description:multiply a vector by the current hamiltonian for a given range of indices
and add result to another vector, low level function (no architecture optimization)


input parameters:
vSource = vector to be multiplied
vDestination = vector at which result has to be added


return value: reference on vectorwhere result has been stored



LowLevelAddMultiply :

prototype: RealVector& LowLevelAddMultiply (RealVector& , RealVector& , int , int nbrComponent )

description:multiply a vector by the current hamiltonian for a given range of indices
and add result to another vector, low level function (no architecture optimization)


input parameters:
vSource = vector to be multiplied
vDestination = vector at which result has to be added
firstComponent = index of the first component to evaluate
nbrComponent = number of components to evaluate


return value: reference on vector where result has been stored



LowLevelMultiply :

prototype: ComplexVector& LowLevelMultiply (ComplexVector& , ComplexVector& vDestination )

description:multiply a vector by the current hamiltonian and store result in another vector
low level function (no architecture optimization)


input parameters:
vSource = vector to be multiplied
vDestination = vector where result has to be stored


return value: reference on vectorwhere result has been stored



LowLevelMultiply :

prototype: ComplexVector& LowLevelMultiply (ComplexVector& , ComplexVector& , int , int nbrComponent )

description:multiply a vector by the current hamiltonian for a given range of indices
and store result in another vector, low level function (no architecture optimization)


input parameters:
vSource = vector to be multiplied
vDestination = vector where result has to be stored
firstComponent = index of the first component to evaluate
nbrComponent = number of components to evaluate


return value: reference on vector where result has been stored



LowLevelAddMultiply :

prototype: ComplexVector& LowLevelAddMultiply (ComplexVector& , ComplexVector& vDestination )

description:multiply a vector by the current hamiltonian for a given range of indices
and add result to another vector, low level function (no architecture optimization)


input parameters:
vSource = vector to be multiplied
vDestination = vector at which result has to be added


return value: reference on vectorwhere result has been stored



LowLevelAddMultiply :

prototype: ComplexVector& LowLevelAddMultiply (ComplexVector& , ComplexVector& , int , int nbrComponent )

description:multiply a vector by the current hamiltonian for a given range of indices
and add result to another vector, low level function (no architecture optimization)


input parameters:
vSource = vector to be multiplied
vDestination = vector at which result has to be added
firstComponent = index of the first component to evaluate
nbrComponent = number of components to evaluate


return value: reference on vector where result has been stored



LeftInteractionOperators :

prototype: List LeftInteractionOperators ()

description:return a list of left interaction operators


input parameters:


return value: list of left interaction operators



RightInteractionOperators :

prototype: List RightInteractionOperators ()

description:return a list of right interaction operators


input parameters:


return value: list of right interaction operators



operator << :

prototype: friend ostream& operator << (ostream& , NonPeriodicDMRGHamiltonian& H )

description:Output Stream overload


input parameters:
Str = reference on output stream
H = Hamiltonian to print


return value: reference on output stream



operator << :

prototype: friend MathematicaOutput& operator << (MathematicaOutput& , NonPeriodicDMRGHamiltonian& H )

description:Mathematica Output Stream overload


input parameters:
Str = reference on Mathematica output stream
H = Hamiltonian to print


return value: reference on output stream



Back to index.