class HessianRecovery in group5. More...
#include <HessianRecovery.h>
Inherits ColPack::RecoveryCore.
Public Member Functions | |
int | DirectRecover_RowCompressedFormat (GraphColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_HessianSparsityPattern, double ***dp3_HessianValue) |
A routine for recovering a Hessian from a star-coloring based compressed representation. | |
int | DirectRecover_CoordinateFormat (GraphColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_HessianSparsityPattern, unsigned int **ip2_RowIndex, unsigned int **ip2_ColumnIndex, double **dp2_HessianValue) |
A routine for recovering a Hessian from a star-coloring based compressed representation. | |
int | DirectRecover_SparseSolversFormat (GraphColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_HessianSparsityPattern, unsigned int **ip2_RowIndex, unsigned int **ip2_ColumnIndex, double **dp2_HessianValue) |
A routine for recovering a Hessian from a star-coloring based compressed representation. | |
int | IndirectRecover_RowCompressedFormat (GraphColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_HessianSparsityPattern, double ***dp3_HessianValue) |
A routine for recovering a Hessian from a acyclic-coloring based compressed representation. | |
int | IndirectRecover_CoordinateFormat (GraphColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_HessianSparsityPattern, unsigned int **ip2_RowIndex, unsigned int **ip2_ColumnIndex, double **dp2_HessianValue) |
A routine for recovering a Hessian from a acyclic-coloring based compressed representation. | |
int | IndirectRecover_SparseSolversFormat (GraphColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_HessianSparsityPattern, unsigned int **ip2_RowIndex, unsigned int **ip2_ColumnIndex, double **dp2_HessianValue) |
A routine for recovering a Hessian from a acyclic-coloring based compressed representation. |
class HessianRecovery in group5.
Definition at line 31 of file HessianRecovery.h.
int ColPack::HessianRecovery::DirectRecover_CoordinateFormat | ( | GraphColoringInterface * | g, | |
double ** | dp2_CompressedMatrix, | |||
unsigned int ** | uip2_HessianSparsityPattern, | |||
unsigned int ** | ip2_RowIndex, | |||
unsigned int ** | ip2_ColumnIndex, | |||
double ** | dp2_HessianValue | |||
) |
A routine for recovering a Hessian from a star-coloring based compressed representation.
Return by recovery routine: three vectors in "Coordinate Format" (zero-based indexing) http://www.intel.com/software/products/mkl/docs/webhelp/appendices/mkl_appA_SMSF.html#mkl_appA_SMSF_5
Definition at line 199 of file HessianRecovery.cpp.
References ColPack::RecoveryCore::CF_available, ColPack::RecoveryCore::dp_CF_Value, free_2DMatrix(), ColPack::GraphColoring::GetVertexColorCount(), ColPack::GraphColoring::GetVertexColors(), ColPack::GraphCore::GetVertexCount(), ColPack::RecoveryCore::i_CF_rowCount, ColPack::RecoveryCore::ip_CF_ColumnIndex, ColPack::RecoveryCore::ip_CF_RowIndex, and ColPack::RecoveryCore::reset().
Referenced by main().
int ColPack::HessianRecovery::DirectRecover_RowCompressedFormat | ( | GraphColoringInterface * | g, | |
double ** | dp2_CompressedMatrix, | |||
unsigned int ** | uip2_HessianSparsityPattern, | |||
double *** | dp3_HessianValue | |||
) |
A routine for recovering a Hessian from a star-coloring based compressed representation.
Parameter:
Precondition:
Postcondition:
Return value:
About input parameters:
Row Compressed Format for dp3_HessianValue:
Algorithm: optimized version of the algorithm in Figure 2, pg 8, "Efficient Computation of Sparse Hessians using Coloring and Automatic Differentiation" paper. The complexity of this routine is O(|E|) versus O(|E|*average distance-1 neighbour) for DirectRecover1
Definition at line 28 of file HessianRecovery.cpp.
References _TRUE, ColPack::RecoveryCore::AF_available, ColPack::RecoveryCore::dp2_AF_Value, free_2DMatrix(), ColPack::GraphColoring::GetVertexColorCount(), ColPack::GraphColoring::GetVertexColors(), ColPack::GraphCore::GetVertexCount(), ColPack::RecoveryCore::i_AF_rowCount, and ColPack::RecoveryCore::reset().
Referenced by main().
int ColPack::HessianRecovery::DirectRecover_SparseSolversFormat | ( | GraphColoringInterface * | g, | |
double ** | dp2_CompressedMatrix, | |||
unsigned int ** | uip2_HessianSparsityPattern, | |||
unsigned int ** | ip2_RowIndex, | |||
unsigned int ** | ip2_ColumnIndex, | |||
double ** | dp2_HessianValue | |||
) |
A routine for recovering a Hessian from a star-coloring based compressed representation.
Return by recovery routine: three vectors in "Storage Formats for the Direct Sparse Solvers" (zero-based indexing) http://www.intel.com/software/products/mkl/docs/webhelp/appendices/mkl_appA_SMSF.html#mkl_appA_SMSF_1
NOTE: Since we are returning a symmetric matrix, according to format, only the upper triangle are stored.
Definition at line 102 of file HessianRecovery.cpp.
References _TRUE, ColPack::RecoveryCore::dp_SSF_Value, free_2DMatrix(), ColPack::GraphColoring::GetVertexColorCount(), ColPack::GraphColoring::GetVertexColors(), ColPack::GraphCore::GetVertexCount(), ColPack::RecoveryCore::i_SSF_rowCount, ColPack::RecoveryCore::ip_SSF_ColumnIndex, ColPack::RecoveryCore::ip_SSF_RowIndex, Pause(), ColPack::RecoveryCore::reset(), RowCompressedFormat_2_SparseSolversFormat_StructureOnly(), and ColPack::RecoveryCore::SSF_available.
Referenced by main().
int ColPack::HessianRecovery::IndirectRecover_CoordinateFormat | ( | GraphColoringInterface * | g, | |
double ** | dp2_CompressedMatrix, | |||
unsigned int ** | uip2_HessianSparsityPattern, | |||
unsigned int ** | ip2_RowIndex, | |||
unsigned int ** | ip2_ColumnIndex, | |||
double ** | dp2_HessianValue | |||
) |
A routine for recovering a Hessian from a acyclic-coloring based compressed representation.
Return by recovery routine: three vectors in "Coordinate Format" (zero-based indexing) http://www.intel.com/software/products/mkl/docs/webhelp/appendices/mkl_appA_SMSF.html#mkl_appA_SMSF_5
Definition at line 982 of file HessianRecovery.cpp.
References _FALSE, _TRUE, _UNKNOWN, ColPack::RecoveryCore::CF_available, ColPack::RecoveryCore::dp_CF_Value, ColPack::DisjointSets::FindAndCompress(), ColPack::GraphCore::GetDisjointSets(), ColPack::GraphCore::GetEdges(), ColPack::GraphCore::GetMaximumVertexDegree(), ColPack::GraphColoring::GetVertexColors(), ColPack::GraphCore::GetVertexCount(), ColPack::GraphCore::GetVertexEdgeMap(), ColPack::GraphCore::GetVertices(), ColPack::RecoveryCore::i_CF_rowCount, ColPack::RecoveryCore::ip_CF_ColumnIndex, ColPack::RecoveryCore::ip_CF_RowIndex, ColPack::RecoveryCore::reset(), STEP_DOWN, and STEP_UP.
Referenced by main().
int ColPack::HessianRecovery::IndirectRecover_RowCompressedFormat | ( | GraphColoringInterface * | g, | |
double ** | dp2_CompressedMatrix, | |||
unsigned int ** | uip2_HessianSparsityPattern, | |||
double *** | dp3_HessianValue | |||
) |
A routine for recovering a Hessian from a acyclic-coloring based compressed representation.
Parameter:
Precondition:
Postcondition:
Return value:
About input parameters:
Row Compressed Format for dp3_HessianValue: see DirectRecover2()
Algorithm: created by Assefaw, 1st implemented by Arijit Tarafdar. This function is just a modification of Arijit's implementation
Definition at line 282 of file HessianRecovery.cpp.
References _FALSE, _TRUE, _UNKNOWN, ColPack::RecoveryCore::AF_available, ColPack::RecoveryCore::dp2_AF_Value, ColPack::DisjointSets::FindAndCompress(), ColPack::GraphCore::GetDisjointSets(), ColPack::GraphCore::GetEdges(), ColPack::GraphCore::GetMaximumVertexDegree(), ColPack::GraphColoring::GetVertexColors(), ColPack::GraphCore::GetVertexCount(), ColPack::GraphCore::GetVertexEdgeMap(), ColPack::GraphCore::GetVertices(), ColPack::RecoveryCore::i_AF_rowCount, ColPack::RecoveryCore::reset(), STEP_DOWN, and STEP_UP.
Referenced by main().
int ColPack::HessianRecovery::IndirectRecover_SparseSolversFormat | ( | GraphColoringInterface * | g, | |
double ** | dp2_CompressedMatrix, | |||
unsigned int ** | uip2_HessianSparsityPattern, | |||
unsigned int ** | ip2_RowIndex, | |||
unsigned int ** | ip2_ColumnIndex, | |||
double ** | dp2_HessianValue | |||
) |
A routine for recovering a Hessian from a acyclic-coloring based compressed representation.
Return by recovery routine: three vectors in "Storage Formats for the Direct Sparse Solvers" (zero-based indexing) http://www.intel.com/software/products/mkl/docs/webhelp/appendices/mkl_appA_SMSF.html#mkl_appA_SMSF_1
NOTE: Since we are returning a symmetric matrix, according to format, only the upper triangle are stored.
Definition at line 625 of file HessianRecovery.cpp.
References _FALSE, _TRUE, _UNKNOWN, ColPack::RecoveryCore::dp_SSF_Value, ColPack::DisjointSets::FindAndCompress(), ColPack::GraphCore::GetDisjointSets(), ColPack::GraphCore::GetEdges(), ColPack::GraphCore::GetMaximumVertexDegree(), ColPack::GraphColoring::GetVertexColors(), ColPack::GraphCore::GetVertexCount(), ColPack::GraphCore::GetVertexEdgeMap(), ColPack::GraphCore::GetVertices(), ColPack::RecoveryCore::i_SSF_rowCount, ColPack::RecoveryCore::ip_SSF_ColumnIndex, ColPack::RecoveryCore::ip_SSF_RowIndex, Pause(), ColPack::RecoveryCore::reset(), RowCompressedFormat_2_SparseSolversFormat_StructureOnly(), ColPack::RecoveryCore::SSF_available, STEP_DOWN, and STEP_UP.
Referenced by main().