Class : AbstractArchitecture

~AbstractArchitecture :

prototype: virtual ~AbstractArchitecture ()

description:destructor



GetTypicalRange :

prototype: virtual void GetTypicalRange (long& , long& maxIndex )

description:get typical range of indices on which the local architecture acts


input parameters:
minIndex = reference on the minimum index on which the local architecture can act
maxIndex = reference on the maximum index on which the local architecture can act (= minIndex is the
architecture doesn't support this feature)



GetNewRealVector :

prototype: virtual RealVector* GetNewRealVector ()

description:get a new real vector with memory alloaction depending on the architecture


input parameters:


return value: pointer to the requested vector (zero if an error occurs)



GetNewRealVector :

prototype: virtual RealVector* GetNewRealVector (long , bool zeroFlag = false )

description:get a new real vector with memory alloaction depending on the architecture


input parameters:
dimension = dimension of the requested vector
zeroFlag = true if all vector entries has to be set to zero


return value: pointer to the requested vector (zero if an error occurs)



GetNewComplexVector :

prototype: virtual ComplexVector* GetNewComplexVector ()

description:get a new complex vector with memory alloaction depending on the architecture


input parameters:


return value: pointer to the requested vector (zero if an error occurs)



GetNewComplexVector :

prototype: virtual ComplexVector* GetNewComplexVector (long , bool zeroFlag = false )

description:get a new complex vector with memory alloaction depending on the architecture


input parameters:
dimension = dimension of the requested vector
zeroFlag = true if all vector entries has to be set to zero


return value: pointer to the requested vector (zero if an error occurs)



Multiply :

prototype: virtual void Multiply (AbstractHamiltonian* , Vector& , Vector& vDestination )

description:multiply a vector by an hamiltonian and store the result in another vector


input parameters:
hamiltonian = pointer to the hamiltonian to use
vSource = vector to multiply
vDestination = vector where result has to be stored



ExecuteOperation :

prototype: virtual bool ExecuteOperation (AbstractArchitectureOperation* operation )

description:execute an architecture-dependent operation


input parameters:
operation = pointer to the operation to execute


return value: true if operation has been completed successfully



ExecuteOperation :

prototype: virtual bool ExecuteOperation (VectorHamiltonianMultiplyOperation* operation )

description:execute an architecture-dependent vector hamiltonian multiplication operation


input parameters:
operation = pointer to the operation to execute


return value: true if operation has been completed successfully



ExecuteOperation :

prototype: virtual bool ExecuteOperation (AddRealLinearCombinationOperation* operation )

description:execute an architecture-dependent add real linear combination operation


input parameters:
operation = pointer to the operation to execute


return value: true if operation has been completed successfully



ExecuteOperation :

prototype: virtual bool ExecuteOperation (AddComplexLinearCombinationOperation* operation )

description:execute an architecture-dependent add complex linear combination operation


input parameters:
operation = pointer to the operation to execute


return value: true if operation has been completed successfully



ExecuteOperation :

prototype: virtual bool ExecuteOperation (MultipleRealScalarProductOperation* operation )

description:execute an architecture-dependent multiple real scalar product operation


input parameters:
operation = pointer to the operation to execute


return value: true if operation has been completed successfully



ExecuteOperation :

prototype: virtual bool ExecuteOperation (MultipleComplexScalarProductOperation* operation )

description:execute an architecture-dependent multiple complex scalar product operation


input parameters:
operation = pointer to the operation to execute


return value: true if operation has been completed successfully



ExecuteOperation :

prototype: virtual bool ExecuteOperation (MatrixMatrixMultiplyOperation* operation )

description:execute an architecture-dependent matrix matrix multiplication operation


input parameters:
operation = pointer to the operation to execute


return value: true if operation has been completed successfully



ExecuteOperation :

prototype: virtual bool ExecuteOperation (AbstractPrecalculationOperation* operation )

description:execute an architecture-dependent abstract hamiltonian precalculation operation


input parameters:
operation = pointer to the operation to execute


return value: true if operation has been completed successfully



New :

prototype: friend Type*& New (AbstractArchitecture& , Type*& , unsigned long size )

description:request a given amount of memory for an array of Type element


input parameters:
architecture = reference on the architecture to which memory will be asked
pointer = reference on pointer that will be used for the memory allocation
size = number of elements of type Type


return value: reference on the pointer



Delete :

prototype: friend void Delete (AbstractArchitecture& , Type*& pointer )

description:delete an array that has been requested by the New function


input parameters:
architecture = reference on the architecture to which memory has been asked
pointer = reference on pointer that of the memory allocation



Back to index.