| Procedure | Location | Procedure Type | Description |
|---|---|---|---|
| AccumulateTripletList | TripletListModule | Interface | |
| AccumulateTripletList_c | TripletListModule | Subroutine | (Just for a related project) |
| AccumulateTripletList_r | TripletListModule | Subroutine | (Just for a related project) |
| ActivateLogger | LoggingModule | Subroutine | Activate the logger. |
| AddSparseVectors | SVectorModule | Interface | |
| AppendToTripletList | TripletListModule | Interface | |
| AppendToTripletList_c | TripletListModule | Subroutine | Add a value to the end of the triplet list. |
| AppendToTripletList_r | TripletListModule | Subroutine | Add a value to the end of the triplet list. |
| 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 | |
| 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. |
| 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 | |
| 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 | 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. |
| ConstructTripletList | TripletListModule | Interface | |
| ConstructTripletList_c | TripletListModule | Function | Construct a triplet list. |
| ConstructTripletList_r | TripletListModule | Function | Construct a triplet list. |
| ConstructTripletListSup_c | TripletListModule | Subroutine | Subroutine wrapper for constructing a triplet list. |
| ConstructTripletListSup_r | TripletListModule | Subroutine | Subroutine wrapper for constructing a triplet list. |
| 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 | |
| ConvertTripletListToComplex | TripletListModule | Subroutine | Convert a real triplet to a complex triplet list. |
| ConvertTripletListToReal | TripletListModule | Subroutine | Convert a complex triplet list to a real triplet list. |
| ConvertTripletListType | TripletListModule | Interface | |
| ConvertTripletType | TripletModule | Interface | |
| CopyMatrix | SMatrixModule | Interface | |
| CopyMatrix | DMatrixModule | Interface | |
| CopyMatrix | PSMatrixModule | Interface | |
| CopyProcessGrid | ProcessGridModule | Subroutine | Copy a process grid. |
| Cosine | TrigonometrySolversModule | Subroutine | Compute the cosine of a matrix. |
| DeactivateLogger | LoggingModule | Subroutine | Deactivate the logger. |
| DenseSolver | DensityMatrixSolversModule | Subroutine | Compute the density matrix of a system using the eigendecomposition. |
| 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. |
| DestructSolverParameters | SolverParametersModule | Subroutine | Cleanup the solver parameters datastructure. |
| DestructTripletList | TripletListModule | Interface | |
| DestructTripletList_c | TripletListModule | Subroutine | Destructs a triplet list. |
| DestructTripletList_r | TripletListModule | Subroutine | Destructs a triplet list. |
| DotAllHelper | CholeskyModule | Interface | |
| DotAllPivoted | CholeskyModule | Interface | |
| DotMatrix | SMatrixAlgebraModule | Interface | |
| DotMatrix | PSMatrixAlgebraModule | Interface | |
| DotSparseVectors | SVectorModule | Interface | |
| 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 |
| Error_t | ErrorModule | Interface | |
| 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 | |
| FillMatrixFromTripletList | PSMatrixModule | Interface | |
| FillMatrixIdentity | PSMatrixModule | Interface | |
| FillMatrixPermutation | PSMatrixModule | Interface | |
| FilterMatrix | PSMatrixModule | Interface | |
| GatherMatrixColumn | CholeskyModule | Interface | |
| GershgorinBounds | EigenBoundsModule | Subroutine | Compute a bounds on the minimum and maximum eigenvalue of a matrix. Uses Gershgorin's theorem. |
| 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. We statically store this derived type so that we don't 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. We statically store this derived type so that we don't 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 | |
| GetTripletAt_c | TripletListModule | Subroutine | Get the value of a triplet at a particular index. |
| GetTripletAt_r | TripletListModule | Subroutine | Get the value of a triplet at a particular index. |
| GetTripletListSize | TripletListModule | Interface | |
| GetTripletListSize_c | TripletListModule | Function | Get the number of entries in a triplet list. |
| GetTripletListSize_r | TripletListModule | Function | Get the number of entries in a triplet list. |
| GetTripletValues | TripletModule | Interface | |
| HPCP | DensityMatrixSolversModule | Subroutine | Compute the density matrix from a Hamiltonian using the HPCP method. |
| 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 Hotelling's method \cite palser1998canonical. |
| 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 | |
| Matrix_ldc | DMatrixModule | Interface | |
| Matrix_ldr | DMatrixModule | Interface | |
| Matrix_lsc | SMatrixModule | Interface | |
| Matrix_lsr | SMatrixModule | Interface | |
| MatrixColumnNorm | SMatrixAlgebraModule | Interface | |
| MatrixGrandSum | SMatrixAlgebraModule | Interface | |
| MatrixGrandSum | PSMatrixAlgebraModule | Interface | |
| MatrixMemoryPool_lc | MatrixMemoryPoolModule | Interface | |
| MatrixMemoryPool_lr | MatrixMemoryPoolModule | Interface | |
| MatrixMemoryPool_p | PMatrixMemoryPoolModule | 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 | |
| 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 | LinearSolversModule | Subroutine | Compute The Pivoted Cholesky Decomposition of a Hermitian Semi-Definite matrix. Pass it the target rank of the matrix. |
| PM | DensityMatrixSolversModule | Subroutine | Compute the density matrix from a Hamiltonian using the PM method. |
| 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 Hotelling's method \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 | |
| RedistributeTripletLists_c | TripletListModule | Subroutine | Redistribute some triplet lists amongst a set of processors. Takes in a list of triplet lists, one list for each processor. Then the all to all redistribution is performed along the given communicator. |
| RedistributeTripletLists_r | TripletListModule | Subroutine | Redistribute some triplet lists amongst a set of processors. Takes in a list of triplet lists, one list for each processor. Then the all to all redistribution is performed along the given communicator. |
| ReduceAndComposeMatrixCleanup | MatrixReduceModule | Interface | |
| ReduceAndComposeMatrixData | MatrixReduceModule | Interface | |
| ReduceAndComposeMatrixSizes | MatrixReduceModule | Interface | |
| ReduceAndSumMatrixCleanup | MatrixReduceModule | Interface | |
| ReduceAndSumMatrixData | MatrixReduceModule | Interface | |
| ReduceAndSumMatrixSizes | MatrixReduceModule | Interface | |
| ReferenceEigenDecomposition | EigenSolversModule | Subroutine | This routine uses a dense eigensolver for reference purposes. |
| 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. |
| ResizeTripletList | TripletListModule | Interface | |
| ResizeTripletList_c | TripletListModule | Subroutine | Increase the size of a triplet list. |
| ResizeTripletList_r | TripletListModule | Subroutine | Increase the size of a triplet list. |
| 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 | |
| SetGenericError | ErrorModule | Subroutine | Routine to call if a generic error has occurred. |
| 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. |
| SetParametersDACBaseSize | SolverParametersModule | Subroutine | Set the value of the divide and conquer base size. |
| SetParametersDACBaseSparsity | SolverParametersModule | Subroutine | Set the value of the divide and conquer base sparsity. |
| SetParametersLoadBalance | SolverParametersModule | Subroutine | Set the value of the load balance. |
| SetParametersMaxIterations | SolverParametersModule | Subroutine | Set the value of the max iterations. |
| SetParametersThreshold | SolverParametersModule | Subroutine | Set the value of the threshold. |
| SetPoolSparsity | MatrixMemoryPoolModule | Interface | |
| SetTriplet | TripletModule | Interface | |
| SetTripletAt | TripletListModule | Interface | |
| SetTripletAt_c | TripletListModule | Subroutine | Set the value of a triplet at a particular index. |
| SetTripletAt_r | TripletListModule | Subroutine | Set the value of a triplet at a particular index. |
| ShiftTripletList | TripletListModule | Interface | |
| ShiftTripletList_c | TripletListModule | Subroutine | Shift the rows and columns of a triplet list by set values. Frequently, we have a triplet list that comes from the global matrix which we would like to shift into a local matrix. In that case, just pass the negative of the starting row and column (plus 1) to this routine. |
| ShiftTripletList_r | TripletListModule | Subroutine | Shift the rows and columns of a triplet list by set values. Frequently, we have a triplet list that comes from the global matrix which we would like to shift into a local matrix. In that case, just pass the negative of the starting row and column (plus 1) to this routine. |
| SignFunction | SignSolversModule | Subroutine | Computes the matrix sign function. |
| Sine | TrigonometrySolversModule | Subroutine | Compute the sine of a matrix. |
| SolverParameters_t | SolverParametersModule | Interface | |
| SortDenseTripletList | TripletListModule | Interface | |
| SortDenseTripletList_c | TripletListModule | Subroutine | Sort a triplet list assuming that the matrix it corresponds to is nearly dense. |
| SortDenseTripletList_r | TripletListModule | Subroutine | Sort a triplet list assuming that the matrix it corresponds to is nearly dense. |
| SortTripletList | TripletListModule | Interface | |
| SortTripletList_c | TripletListModule | Subroutine | Sorts a triplet list by index values. Implementation is based on bucket sort. This is why it needs the number of matrix columns. Bubble sort is used within a bucket. |
| SortTripletList_r | TripletListModule | Subroutine | Sorts a triplet list by index values. Implementation is based on bucket sort. This is why it needs the number of matrix columns. Bubble sort is used within a bucket. |
| 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 | |
| SymmetrizeTripletList_c | TripletListModule | Subroutine | Symmetrizes an unsymmetric triplet list according to the specified symmetry type. |
| SymmetrizeTripletList_r | TripletListModule | Subroutine | Symmetrizes an unsymmetric triplet list according to the specified symmetry type. |
| 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 | |
| TripletList_c | TripletListModule | Interface | |
| TripletList_r | TripletListModule | Interface | |
| TRS2 | DensityMatrixSolversModule | Subroutine | Compute the density matrix from a Hamiltonian using the TRS2 method. |
| TRS4 | DensityMatrixSolversModule | Subroutine | Compute the density matrix from a Hamiltonian using the TRS4 method. |
| UndoPermuteMatrix | LoadBalancerModule | Subroutine | Undo a permutation applied to a matrix. |
| UnpackCholesky | CholeskyModule | Interface | |
| WriteCitation | LoggingModule | Subroutine | Write out a citation element. |
| WriteElement | LoggingModule | Interface | |
| WriteHeader | LoggingModule | Subroutine | Write out a header to the log. |
| WriteListElement | LoggingModule | Interface | |
| WriteMatrixToBinary | PSMatrixModule | Interface | |
| WriteMatrixToMatrixMarket | PSMatrixModule | Interface |