Procedure | Location | Procedure Type | Description |
---|---|---|---|
ActivateLogger | LoggingModule | Subroutine | Activate the logger. |
AddSparseVectors | SVectorModule | Interface | |
AppendToTripletList | TripletListModule | Interface | |
AppendToVector | CholeskyModule | Interface | |
BroadcastVector | CholeskyModule | Interface | |
CGSolver | LinearSolversModule | Subroutine | Solve the matrix equation AX = B using the conjugate gradient method. |
CheckAllocError | ErrorModule | Function | Routine to call if an alloc error has occurred. |
CheckMemoryPoolValidity | PMatrixMemoryPoolModule | Interface | |
CheckMemoryPoolValidity | MatrixMemoryPoolModule | Interface | |
CheckMPIError | ErrorModule | Function | Routine to call to check if an MPI error has occurred. |
CholeskyDecomposition | LinearSolversModule | Subroutine | Compute The Cholesky Decomposition of a Hermitian Positive Definite matrix. This is a really naive implementation, that might be worth revisiting. |
Cleanup | ErrorModule | Subroutine | As a last case resort, this will print an error message and quit. |
CommSplitMatrix | PSMatrixModule | Interface | |
CompareTriplets | TripletModule | Interface | |
ComposeMatrix | SMatrixModule | Interface | |
ComposeMatrix | DMatrixModule | Interface | |
ComposeMatrixColumns | SMatrixModule | Interface | |
Compute | ChebyshevSolversModule | Interface | |
Compute | HermiteSolversModule | Interface | |
Compute | PolynomialSolversModule | Interface | |
ComputeDenseExponential | ExponentialSolversModule | Subroutine | |
ComputeDenseFOE | FermiOperatorModule | Subroutine | Compute the density matrix using a dense routine. |
ComputeDenseLogarithm | ExponentialSolversModule | Subroutine | |
ComputeExponential | ExponentialSolversModule | Subroutine | Compute the exponential of a matrix. |
ComputeExponentialPade | ExponentialSolversModule | Subroutine | Compute the exponential of a matrix using a pade approximation. Be warned, the pade method can result in a lot of intermediate fill. |
ComputeExponentialTaylor | ExponentialSolversModule | Subroutine | Compute the exponential of a matrix using a taylor series expansion. This is only really useful if you have a very small spectrum, because quite a bit of scaling is required. |
ComputeGridSize | ProcessGridModule | Subroutine | Sometimes we only want to specify for a process grid the number of slices and then automatically compute the right number of rows and columns. |
ComputeInverseRoot | RootSolversModule | Subroutine | Compute a general inverse matrix root. |
ComputeLogarithm | ExponentialSolversModule | Subroutine | Compute the logarithm of a matrix. |
ComputeLogarithmTaylor | ExponentialSolversModule | Subroutine | Compute the logarithm of a matrix using a taylor series expansion. |
ComputeRoot | RootSolversModule | Subroutine | Compute a general matrix root. |
ConjugateMatrix | SMatrixModule | Interface | |
ConjugateMatrix | PSMatrixModule | Interface | |
ConstructDefaultPermutation | PermutationModule | Subroutine | Constructs a permutation that preserves the original order. |
ConstructDiag | CholeskyModule | Interface | |
ConstructEmptyMatrix | SMatrixModule | Interface | |
ConstructEmptyMatrix | DMatrixModule | Interface | |
ConstructEmptyMatrix | PSMatrixModule | Interface | |
ConstructError | ErrorModule | Subroutine | Default constructor for an error type. |
ConstructLimitedRandomPermutation | PermutationModule | Subroutine | Constructs a permutation that has a random order, but there is no permutation from beyond the actual matrix dimension. |
ConstructMatrixDFromS | DMatrixModule | Interface | |
ConstructMatrixFromBinary | PSMatrixModule | Interface | |
ConstructMatrixFromFile | SMatrixModule | Interface | |
ConstructMatrixFromMatrixMarket | PSMatrixModule | Interface | |
ConstructMatrixFromTripletList | SMatrixModule | Interface | |
ConstructMatrixMemoryPool | PMatrixMemoryPoolModule | Interface | |
ConstructMatrixMemoryPool | MatrixMemoryPoolModule | Interface | |
ConstructMatrixSFromD | DMatrixModule | Interface | |
ConstructNewProcessGrid | ProcessGridModule | Interface | |
ConstructPolynomial | ChebyshevSolversModule | Interface | |
ConstructPolynomial | HermiteSolversModule | Interface | |
ConstructPolynomial | PolynomialSolversModule | Interface | |
ConstructProcessGrid | ProcessGridModule | Interface | |
ConstructRandomPermutation | PermutationModule | Subroutine | Constructs a permutation that has a random order. Implements Knuth shuffle. |
ConstructRankLookup | CholeskyModule | Subroutine | Construct a lookup for columns |
ConstructReversePermutation | PermutationModule | Subroutine | Constructs a permutation that reverses the original order. |
ConstructSolverParameters | SolverParametersModule | Subroutine | Construct a data type which stores iterative solver parameters. |
ConstructTripletList | TripletListModule | Interface | |
ConvertMatrixToComplex | PSMatrixModule | Subroutine | Converts the current matrix to a complex type matrix. |
ConvertMatrixToReal | PSMatrixModule | Subroutine | Converts the current matrix to a real type matrix. |
ConvertMatrixType | SMatrixModule | Interface | |
ConvertTripletListType | TripletListModule | Interface | |
ConvertTripletType | TripletModule | Interface | |
CopyMatrix | SMatrixModule | Interface | |
CopyMatrix | DMatrixModule | Interface | |
CopyMatrix | PSMatrixModule | Interface | |
CopyPermutation | PermutationModule | Subroutine | Copy one permutation to another in a safe way. |
CopyProcessGrid | ProcessGridModule | Subroutine | Copy a process grid. Note that this makes a complete and independent copy of the process grid. Which of course means that whatever is currently stored in new_grid will be destroyed, so do not leave any matrices pointing to it. |
CopySolverParameters | SolverParametersModule | Subroutine | |
CopyTripletList | TripletListModule | Interface | |
Cosine | TrigonometrySolversModule | Subroutine | Compute the cosine of a matrix. |
DeactivateLogger | LoggingModule | Subroutine | Deactivate the logger. |
DenseCosine | TrigonometrySolversModule | Subroutine | Compute the cosine of a matrix. (dense version). |
DenseDensity | DensityMatrixSolversModule | Subroutine | Compute the density matrix using a dense routine. |
DenseInverseSquareRoot | SquareRootSolversModule | Subroutine | Computes the matrix inverse square root function (dense version). |
DenseInvert | InverseSolversModule | Subroutine | Compute the inverse of a matrix using the eigendecomposition. |
DenseMatrixFunction | EigenSolversModule | Subroutine | Apply an arbitrary matrix function defined by a matrix map as a |
DenseSignFunction | SignSolversModule | Subroutine | Computes the matrix sign function (dense version). |
DenseSine | TrigonometrySolversModule | Subroutine | Compute the sine of a matrix. (dense version). |
DenseSquareRoot | SquareRootSolversModule | Subroutine | Computes the matrix square root function (dense version). |
DestructMatrix | SMatrixModule | Interface | |
DestructMatrix | DMatrixModule | Interface | |
DestructMatrix | PSMatrixModule | Interface | |
DestructMatrixMemoryPool | PMatrixMemoryPoolModule | Interface | |
DestructMatrixMemoryPool | MatrixMemoryPoolModule | Interface | |
DestructPermutation | PermutationModule | Subroutine | Destruct a permutation object. |
DestructPolynomial | ChebyshevSolversModule | Interface | |
DestructPolynomial | HermiteSolversModule | Interface | |
DestructPolynomial | PolynomialSolversModule | Interface | |
DestructProcessGrid | ProcessGridModule | Subroutine | Destruct a process grid. Be careful about doing this. Matrices have pointers to process grids. If you destruct a process grid without destructing the matrices pointing to it, they will become unusable. |
DestructSolverParameters | SolverParametersModule | Subroutine | Cleanup the solver parameters datastructure. |
DestructTripletList | TripletListModule | Interface | |
DotAllHelper | CholeskyModule | Interface | |
DotAllPivoted | CholeskyModule | Interface | |
DotMatrix | SMatrixAlgebraModule | Interface | |
DotMatrix | PSMatrixAlgebraModule | Interface | |
DotSparseVectors | SVectorModule | Interface | |
EigenDecomposition | EigenSolversModule | Subroutine | Compute the eigendecomposition of a matrix. |
EigenDecomposition | DMatrixModule | Interface | |
EnergyDensityMatrix | DensityMatrixSolversModule | Subroutine | Compute the energy-weighted density matrix. |
EnterSubLog | LoggingModule | Subroutine | Call this subroutine when you enter into a section with verbose output |
ErrorOccurred | ErrorModule | Function | Check if an error has occurred or not. |
ExitSubLog | LoggingModule | Subroutine | Call this subroutine when you exit a section with verbose output |
ExtractMatrixColumn | SMatrixModule | Interface | |
ExtractMatrixRow | SMatrixModule | Interface | |
FactorizedCompute | ChebyshevSolversModule | Interface | |
FactorizedCompute | PolynomialSolversModule | Interface | |
FillMatrixDense | PSMatrixModule | Interface | |
FillMatrixFromTripletList | PSMatrixModule | Interface | |
FillMatrixIdentity | PSMatrixModule | Interface | |
FillMatrixPermutation | PSMatrixModule | Interface | |
FilterMatrix | PSMatrixModule | Interface | |
GatherMatrixColumn | CholeskyModule | Interface | |
GatherMatrixToProcess | PSMatrixModule | Interface | |
GershgorinBounds | EigenBoundsModule | Subroutine | Compute a bounds on the minimum and maximum eigenvalue of a matrix. Uses the Gershgorin theorem. |
GetLoggerLevel | LoggingModule | Function | Get the current logging level |
GetMatrixActualDimension | PSMatrixModule | Interface | |
GetMatrixBlock | PSMatrixModule | Interface | |
GetMatrixColumns | SMatrixModule | Interface | |
GetMatrixLoadBalance | PSMatrixModule | Interface | |
GetMatrixLogicalDimension | PSMatrixModule | Interface | |
GetMatrixRows | SMatrixModule | Interface | |
GetMatrixSize | PSMatrixModule | Interface | |
GetMatrixSlice | PSMatrixModule | Subroutine | Copy an arbitrary slice from a matrix into a new smaller matrix. NTPoly only works with square matrices, so if the number of rows and columns is different the matrix is resized to the maximum size. |
GetMatrixTripletList | PSMatrixModule | Interface | |
GetMPITripletType_c | TripletModule | Function | Returns an MPI derived data type for a triplet (complex). We statically store this derived type so that we do not have to recreate it every time this function is called. Thus this functional call should add very little overhead. |
GetMPITripletType_r | TripletModule | Function | Returns an MPI derived data type for a triplet (Real). We statically store this derived type so that we do not have to recreate it every time this function is called. Thus this functional call should add very little overhead. |
GetMyColumn | ProcessGridModule | Function | Get the column of the current process. |
GetMyRow | ProcessGridModule | Function | Get the row of the current process. |
GetMySlice | ProcessGridModule | Function | Get the slice of the current process. |
GetPivot | CholeskyModule | Interface | |
GetTripletAt | TripletListModule | Interface | |
GetTripletListSize | TripletListModule | Interface | |
GetTripletValues | TripletModule | Interface | |
HPCP | DensityMatrixSolversModule | Subroutine | Compute the density matrix from a Hamiltonian using the HPCP method. Based on the algorithm presented in \cite truflandier2016communication. |
IncrementMatrix | SMatrixAlgebraModule | Interface | |
IncrementMatrix | DMatrixModule | Interface | |
IncrementMatrix | PSMatrixAlgebraModule | Interface | |
InverseSquareRoot | SquareRootSolversModule | Subroutine | Compute the inverse square root of a matrix. |
Invert | InverseSolversModule | Subroutine | Compute the inverse of a matrix. An implementation of the method of Hotelling \cite palser1998canonical. |
IsIdentity | PSMatrixModule | Function | Determine if this is the identity matrix. |
IsLoggerActive | LoggingModule | Function | Check if the logger is currently active |
IsRoot | ProcessGridModule | Function | Check if the current process is the root process. |
LowdinExtrapolate | GeometryOptimizationModule | Subroutine | Create a new guess at the Density Matrix after updating the geometry. Based on the lowdin algorithm in \cite exner2002comparison . |
MapMatrix_psc | MatrixMapsModule | Subroutine | Given a distributed matrix, apply this procedure to each element (complex). |
MapMatrix_psr | MatrixMapsModule | Subroutine | Given a distributed matrix, apply this procedure to each element (real). |
MapTripletList | MatrixMapsModule | Interface | |
MatrixColumnNorm | SMatrixAlgebraModule | Interface | |
MatrixGrandSum | SMatrixAlgebraModule | Interface | |
MatrixGrandSum | PSMatrixAlgebraModule | Interface | |
MatrixMultiply | SMatrixAlgebraModule | Interface | |
MatrixMultiply | PSMatrixAlgebraModule | Interface | |
MatrixNorm | SMatrixAlgebraModule | Interface | |
MatrixNorm | DMatrixModule | Interface | |
MatrixNorm | PSMatrixAlgebraModule | Interface | |
MatrixSigma | PSMatrixAlgebraModule | Interface | |
MatrixToTripletList | SMatrixModule | Interface | |
MatrixTrace | PSMatrixAlgebraModule | Interface | |
McWeenyStep | DensityMatrixSolversModule | Subroutine | Take one McWeeny Step DOut = 3DSD - 2DSDSD |
MergeMatrixLocalBlocks | PSMatrixModule | Interface | |
MultiplyMatrix | DMatrixModule | Interface | |
PairwiseMultiplyMatrix | SMatrixAlgebraModule | Interface | |
PairwiseMultiplyMatrix | PSMatrixAlgebraModule | Interface | |
PairwiseMultiplyVectors | SVectorModule | Interface | |
ParseMMHeader | MatrixMarketModule | Function | Parse a matrix market header. |
PermuteMatrix | LoadBalancerModule | Subroutine | Apply a permutation to a matrix. |
PivotedCholeskyDecomposition | AnalysisModule | Subroutine | Compute The Pivoted Cholesky Decomposition of a Hermitian Semi-Definite matrix. This is one way to generate localized orbitals. |
PM | DensityMatrixSolversModule | Subroutine | Compute the density matrix from a Hamiltonian using the PM method. Based on the PM algorithm presented in \cite palser1998canonical |
PolarDecomposition | SignSolversModule | Subroutine | Computes the polar decomposition of a matrix Mat = U*H. |
PowerBounds | EigenBoundsModule | Subroutine | Compute a bounds on the maximum eigenvalue of a matrix. Uses The Power Method. |
PrintAllTimers | TimerModule | Subroutine | Print out the elapsed time for each timer on this process. |
PrintAllTimersDistributed | TimerModule | Subroutine | Print out the elapsed time for each timer based on the max value across processes. |
PrintError | ErrorModule | Subroutine | Print out that an error has occurred. |
PrintMatrix | SMatrixModule | Interface | |
PrintMatrix | PSMatrixModule | Interface | |
PrintMatrixInformation | PSMatrixModule | Interface | |
PrintParameters | SolverParametersModule | Subroutine | Print out the iterative solver parameter values. |
PrintTimer | TimerModule | Subroutine | Print out the elapsed time for a given timer. |
PseudoInverse | InverseSolversModule | Subroutine | Compute the pseudoinverse of a matrix. An implementation of the method of Hotelling \cite palser1998canonical. |
PurificationExtrapolate | GeometryOptimizationModule | Subroutine | Create a new guess at the Density Matrix after updating the geometry. Based on the purification algorithm in \cite niklasson2010trace . |
RedistributeTripletLists | TripletListModule | Interface | |
ReduceAndComposeMatrix | MatrixReduceModule | Interface | |
ReduceAndComposeMatrixCleanup | MatrixReduceModule | Interface | |
ReduceAndComposeMatrixData | MatrixReduceModule | Interface | |
ReduceAndComposeMatrixSizes | MatrixReduceModule | Interface | |
ReduceAndSumMatrix | MatrixReduceModule | Interface | |
ReduceAndSumMatrixCleanup | MatrixReduceModule | Interface | |
ReduceAndSumMatrixData | MatrixReduceModule | Interface | |
ReduceAndSumMatrixSizes | MatrixReduceModule | Interface | |
ReduceDimension | AnalysisModule | Subroutine | When we want to only compute the first n eigenvalues of a matrix, this routine will project out the higher eigenvalues. |
RegisterTimer | TimerModule | Subroutine | Register a timer with the timer module. Call this before using that timer. |
ResizeMatrix | PSMatrixModule | Subroutine | Change the size of a matrix. If the new size is smaller, then values outside that range are deleted. IF the new size is bigger, zero padding is applied. Warning: this requires a full data redistribution. |
ResizeTripletList | TripletListModule | Interface | |
ScaleAndFold | DensityMatrixSolversModule | Subroutine | Compute the density matrix from a Hamiltonian using the Scale and Fold method. Based on the method of \cite rubensson2011nonmonotonic . Note that for this method, you must provide the value of the homo and lumo gap. It is not necessary for these to be accurate, but give a conservative value. |
ScaleMatrix | SMatrixAlgebraModule | Interface | |
ScaleMatrix | PSMatrixAlgebraModule | Interface | |
ScaleSquareTrigonometryTaylor | TrigonometrySolversModule | Subroutine | Compute trigonometric functions of a matrix using a taylor series. |
SetCoefficient | ChebyshevSolversModule | Interface | |
SetCoefficient | HermiteSolversModule | Interface | |
SetCoefficient | PolynomialSolversModule | Interface | |
SetCustomError | ErrorModule | Subroutine | |
SetGenericError | ErrorModule | Subroutine | Routine to call if a generic error has occurred. |
SetInitialOffset | LoggingModule | Subroutine | Set a manual initial offset spacing. |
SetLoggerLevel | LoggingModule | Subroutine | Set the logging level manually |
SetMatrixProcessGrid | PSMatrixModule | Subroutine | When you want to change the process grid of a matrix, you can call this routine with the new process grid value. Data will be automatically redistributed. |
SetParametersBeVerbose | SolverParametersModule | Subroutine | Set the value of the verbosity. |
SetParametersConvergeDiff | SolverParametersModule | Subroutine | Set the value of the convergence difference. |
SetParametersLoadBalance | SolverParametersModule | Subroutine | Set the value of the load balance. |
SetParametersMaxIterations | SolverParametersModule | Subroutine | Set the value of the max iterations. |
SetParametersStepThreshold | SolverParametersModule | Subroutine | Set the value of the step threshold. |
SetParametersThreshold | SolverParametersModule | Subroutine | Set the value of the threshold. |
SetPoolSparsity | MatrixMemoryPoolModule | Interface | |
SetTriplet | TripletModule | Interface | |
SetTripletAt | TripletListModule | Interface | |
ShiftTripletList | TripletListModule | Interface | |
SignFunction | SignSolversModule | Subroutine | Computes the matrix sign function. |
SimilarityTransform | PSMatrixAlgebraModule | Subroutine | Transform a matrix B = P * A * P^-1 |
Sine | TrigonometrySolversModule | Subroutine | Compute the sine of a matrix. |
SingularValueDecomposition | SingularValueSolversModule | Subroutine | Compute the singular values and singular vectors of a matrix. |
SnapMatrixToSparsityPattern | MatrixConversionModule | Subroutine | Some codes use a fixed sparsity pattern for a matrix instead of filtering small values. Using this routine, the matrix is filled to have the same pattern as the second matrix argument. Zeros of the sparsity pattern are left in, whereas values outside the sparsity are removed. This can faciliate conversion between formats. |
SortTripletList | TripletListModule | Interface | |
SplitMatrix | SMatrixModule | Interface | |
SplitMatrix | DMatrixModule | Interface | |
SplitMatrixColumns | SMatrixModule | Interface | |
SplitMatrixToLocalBlocks | PSMatrixModule | Interface | |
SplitProcessGrid | ProcessGridModule | Subroutine | Given a process grid, this splits it into two grids of even size |
SquareRoot | SquareRootSolversModule | Subroutine | Compute the square root of a matrix. |
StartTimer | TimerModule | Subroutine | Start the clock running for a given timer. |
StopTimer | TimerModule | Subroutine | Stop the clock for a given timer. |
SymmetrizeTripletList | TripletListModule | Interface | |
TestReduceDataRequest | MatrixReduceModule | Function | Test if a request for the data of the matrices is complete. |
TestReduceInnerRequest | MatrixReduceModule | Function | Test if a request for the inner indices of the matrices is complete. |
TestReduceSizeRequest | MatrixReduceModule | Function | Test if a request for the size of the matrices is complete. |
TransposeMatrix | SMatrixModule | Interface | |
TransposeMatrix | DMatrixModule | Interface | |
TransposeMatrix | PSMatrixModule | Interface | |
TRS2 | DensityMatrixSolversModule | Subroutine | Compute the density matrix from a Hamiltonian using the TRS2 method. Based on the TRS2 algorithm presented in \cite niklasson2002. |
TRS4 | DensityMatrixSolversModule | Subroutine | Compute the density matrix from a Hamiltonian using the TRS4 method. Based on the TRS4 algorithm presented in \cite niklasson2002 |
UndoPermuteMatrix | LoadBalancerModule | Subroutine | Undo a permutation applied to a matrix. |
UnpackCholesky | CholeskyModule | Interface | |
WOM_C | FermiOperatorModule | Subroutine | Compute the density matrix according to the wave operator minization |
WOM_GC | FermiOperatorModule | Subroutine | Compute the density matrix according to the wave operator minization |
WriteElement | LoggingModule | Interface | |
WriteHeader | LoggingModule | Subroutine | Write out a header to the log. |
WriteListElement | LoggingModule | Interface | |
WriteMatrixToBinary | PSMatrixModule | Interface | |
WriteMatrixToMatrixMarket | PSMatrixModule | Interface | |
WriteMMLine | MatrixMarketModule | Interface | |
WriteMMLine_f | MatrixMarketModule | Subroutine | Write a single line that would correspond to a matrix market entry. |
WriteMMLine_ff | MatrixMarketModule | Subroutine | Write a single line that would correspond to a matrix market entry. |
WriteMMLine_ii | MatrixMarketModule | Subroutine | Write a single line that would correspond to a matrix market entry. |
WriteMMLine_iif | MatrixMarketModule | Subroutine | Write a single line that would correspond to a matrix market entry. |
WriteMMLine_iiff | MatrixMarketModule | Subroutine | Write a single line that would correspond to a matrix market entry. |
WriteMMSize | MatrixMarketModule | Subroutine | Write the line describing the size of the matrix |
WriteProcessGridInfo | ProcessGridModule | Subroutine | Write out some basic information about this process grid to the log. |