Public Member Functions

ColPack::JacobianRecovery1D Class Reference
[Recovery Classes]

class JacobianRecovery1D in group5. More...

#include <JacobianRecovery1D.h>

Inherits ColPack::RecoveryCore.

Collaboration diagram for ColPack::JacobianRecovery1D:
Collaboration graph
[legend]

List of all members.

Public Member Functions

int RecoverD2Row_RowCompressedFormat (BipartiteGraphPartialColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_JacobianSparsityPattern, double ***dp3_JacobianValue)
 A routine for recovering a Jacobian from a "Row-wise Distance 2 coloring"-based compressed representation.
int RecoverD2Row_SparseSolversFormat (BipartiteGraphPartialColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_JacobianSparsityPattern, unsigned int **ip2_RowIndex, unsigned int **ip2_ColumnIndex, double **dp2_JacobianValue)
 A routine for recovering a Jacobian from a "Row-wise Distance 2 coloring"-based compressed representation.
int RecoverD2Row_CoordinateFormat (BipartiteGraphPartialColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_JacobianSparsityPattern, unsigned int **ip2_RowIndex, unsigned int **ip2_ColumnIndex, double **dp2_JacobianValue)
 A routine for recovering a Jacobian from a "Row-wise Distance 2 coloring"-based compressed representation.
int RecoverD2Cln_RowCompressedFormat (BipartiteGraphPartialColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_JacobianSparsityPattern, double ***dp3_JacobianValue)
 A routine for recovering a Jacobian from a "Column-wise Distance 2 coloring"-based compressed representation.
int RecoverD2Cln_SparseSolversFormat (BipartiteGraphPartialColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_JacobianSparsityPattern, unsigned int **ip2_RowIndex, unsigned int **ip2_ColumnIndex, double **dp2_JacobianValue)
 A routine for recovering a Jacobian from a "Column-wise Distance 2 coloring"-based compressed representation.
int RecoverD2Cln_CoordinateFormat (BipartiteGraphPartialColoringInterface *g, double **dp2_CompressedMatrix, unsigned int **uip2_JacobianSparsityPattern, unsigned int **ip2_RowIndex, unsigned int **ip2_ColumnIndex, double **dp2_JacobianValue)
 A routine for recovering a Jacobian from a "Column-wise Distance 2 coloring"-based compressed representation.

Detailed Description

class JacobianRecovery1D in group5.

Definition at line 31 of file JacobianRecovery1D.h.


Member Function Documentation

int ColPack::JacobianRecovery1D::RecoverD2Cln_CoordinateFormat ( BipartiteGraphPartialColoringInterface g,
double **  dp2_CompressedMatrix,
unsigned int **  uip2_JacobianSparsityPattern,
unsigned int **  ip2_RowIndex,
unsigned int **  ip2_ColumnIndex,
double **  dp2_JacobianValue 
)

A routine for recovering a Jacobian from a "Column-wise Distance 2 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

  • unsigned int** ip2_RowIndex
  • unsigned int** ip2_ColumnIndex
  • double** dp2_JacobianValue // corresponding non-zero values

Definition at line 255 of file JacobianRecovery1D.cpp.

References ColPack::RecoveryCore::CF_available, ColPack::RecoveryCore::dp_CF_Value, ColPack::BipartiteGraphCore::GetEdgeCount(), ColPack::BipartiteGraphPartialColoring::GetRightVertexColors(), ColPack::BipartiteGraphCore::GetRowVertexCount(), ColPack::RecoveryCore::i_CF_rowCount, ColPack::RecoveryCore::ip_CF_ColumnIndex, ColPack::RecoveryCore::ip_CF_RowIndex, and ColPack::RecoveryCore::reset().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

int ColPack::JacobianRecovery1D::RecoverD2Cln_RowCompressedFormat ( BipartiteGraphPartialColoringInterface g,
double **  dp2_CompressedMatrix,
unsigned int **  uip2_JacobianSparsityPattern,
double ***  dp3_JacobianValue 
)

A routine for recovering a Jacobian from a "Column-wise Distance 2 coloring"-based compressed representation.

Return by recovery routine: double*** dp3_JacobianValue

Precondition:

  • Column-wise Distance 2 coloring routine has been called.
  • uip2_JacobianSparsityPattern (input) The Jacobian matrix must be stored in compressed sparse rows format
  • dp3_JacobianValue (output) is just a pointer pointing to a 2D matrix (no memory allocated yet). This matrix will be created (memory will be allocated) by DirectRecover() and the pointer will be assigned to dp3_JacobianValue

Postcondition:

  • dp3_JacobianValue points to a 2d matrix contains the numerical values of the Jacobian. Row Compressed Format is used

Return value:

  • _TRUE upon successful

About input parameters:

  • This routine doesn't take (Column-wise Distance 2) coloring result m_vi_RightVertexColors of the Jacobian as another paramenter because that information is known already (because of the 1st precondition).

Row Compressed Format for dp3_JacobianValue:

  • This is a 2D matrix of doubles.
  • The first element of each row will specify the number of non-zeros in the Jacobian => Value of the first element + 1 will be the length of that row.
  • The value of each element after the 1st element is the value of the non-zero in the Jacobian. The value of dp3_JacobianValue[col][row] is the value of element [col][uip2_JacobianSparsityPattern[col][row]] in the real (uncompressed) Jacobian

Example:

  • Uncompressed matrix: 0 0 .5 1.2 0 3 0 2.3 -.5
  • Corresponding uip2_JacobianSparsityPattern: 1 2 2 0 2 2 1 2
  • Corresponding dp3_JacobianValue: 1 .5 2 1.2 3 2 2.3 -.5

Definition at line 163 of file JacobianRecovery1D.cpp.

References ColPack::RecoveryCore::AF_available, ColPack::RecoveryCore::dp2_AF_Value, ColPack::BipartiteGraphPartialColoring::GetRightVertexColors(), ColPack::BipartiteGraphCore::GetRowVertexCount(), ColPack::RecoveryCore::i_AF_rowCount, and ColPack::RecoveryCore::reset().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

int ColPack::JacobianRecovery1D::RecoverD2Cln_SparseSolversFormat ( BipartiteGraphPartialColoringInterface g,
double **  dp2_CompressedMatrix,
unsigned int **  uip2_JacobianSparsityPattern,
unsigned int **  ip2_RowIndex,
unsigned int **  ip2_ColumnIndex,
double **  dp2_JacobianValue 
)

A routine for recovering a Jacobian from a "Column-wise Distance 2 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

  • unsigned int** ip2_RowIndex
  • unsigned int** ip2_ColumnIndex
  • double** dp2_JacobianValue // corresponding non-zero values

Definition at line 204 of file JacobianRecovery1D.cpp.

References ColPack::RecoveryCore::dp_SSF_Value, ColPack::BipartiteGraphCore::GetColumnIndices(), ColPack::BipartiteGraphPartialColoring::GetRightVertexColors(), ColPack::BipartiteGraphCore::GetRowVertexCount(), ColPack::BipartiteGraphCore::GetRowVertices(), ColPack::RecoveryCore::i_SSF_rowCount, ColPack::RecoveryCore::ip_SSF_ColumnIndex, ColPack::RecoveryCore::ip_SSF_RowIndex, ColPack::RecoveryCore::reset(), and ColPack::RecoveryCore::SSF_available.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

int ColPack::JacobianRecovery1D::RecoverD2Row_CoordinateFormat ( BipartiteGraphPartialColoringInterface g,
double **  dp2_CompressedMatrix,
unsigned int **  uip2_JacobianSparsityPattern,
unsigned int **  ip2_RowIndex,
unsigned int **  ip2_ColumnIndex,
double **  dp2_JacobianValue 
)

A routine for recovering a Jacobian from a "Row-wise Distance 2 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

  • unsigned int** ip2_RowIndex
  • unsigned int** ip2_ColumnIndex
  • double** dp2_JacobianValue // corresponding non-zero values

Definition at line 115 of file JacobianRecovery1D.cpp.

References ColPack::RecoveryCore::CF_available, ColPack::RecoveryCore::dp_CF_Value, ColPack::BipartiteGraphCore::GetEdgeCount(), ColPack::BipartiteGraphPartialColoring::GetLeftVertexColors(), ColPack::BipartiteGraphCore::GetRowVertexCount(), ColPack::RecoveryCore::i_CF_rowCount, ColPack::RecoveryCore::ip_CF_ColumnIndex, ColPack::RecoveryCore::ip_CF_RowIndex, and ColPack::RecoveryCore::reset().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

int ColPack::JacobianRecovery1D::RecoverD2Row_RowCompressedFormat ( BipartiteGraphPartialColoringInterface g,
double **  dp2_CompressedMatrix,
unsigned int **  uip2_JacobianSparsityPattern,
double ***  dp3_JacobianValue 
)

A routine for recovering a Jacobian from a "Row-wise Distance 2 coloring"-based compressed representation.

Return by recovery routine: double*** dp3_JacobianValue

Precondition:

  • Row-wise Distance 2 coloring routine has been called.
  • uip2_JacobianSparsityPattern (input) The Jacobian matrix must be stored in compressed sparse rows format
  • dp3_JacobianValue (output) is just a pointer pointing to a 2D matrix (no memory allocated yet). This matrix will be created (memory will be allocated) by DirectRecover() and the pointer will be assigned to dp3_JacobianValue

Postcondition:

  • dp3_JacobianValue points to a 2d matrix contains the numerical values of the Jacobian. Row Compressed Format is used

Return value:

  • _TRUE upon successful

About input parameters:

  • This routine doesn't take (Row-wise Distance 2) coloring result m_vi_LeftVertexColors of the Jacobian as another paramenter because that information is known already (because of the 1st precondition).

Row Compressed Format for dp3_JacobianValue:

  • This is a 2D matrix of doubles.
  • The first element of each row will specify the number of non-zeros in the Jacobian => Value of the first element + 1 will be the length of that row.
  • The value of each element after the 1st element is the value of the non-zero in the Jacobian. The value of dp3_JacobianValue[col][row] is the value of element [col][uip2_JacobianSparsityPattern[col][row]] in the real (uncompressed) Jacobian

Example:

  • Uncompressed matrix: 0 0 .5 1.2 0 3 0 2.3 -.5
  • Corresponding uip2_JacobianSparsityPattern: 1 2 2 0 2 2 1 2
  • Corresponding dp3_JacobianValue: 1 .5 2 1.2 3 2 2.3 -.5

Definition at line 28 of file JacobianRecovery1D.cpp.

References ColPack::RecoveryCore::AF_available, ColPack::RecoveryCore::dp2_AF_Value, ColPack::BipartiteGraphPartialColoring::GetLeftVertexColors(), ColPack::BipartiteGraphCore::GetRowVertexCount(), ColPack::RecoveryCore::i_AF_rowCount, and ColPack::RecoveryCore::reset().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

int ColPack::JacobianRecovery1D::RecoverD2Row_SparseSolversFormat ( BipartiteGraphPartialColoringInterface g,
double **  dp2_CompressedMatrix,
unsigned int **  uip2_JacobianSparsityPattern,
unsigned int **  ip2_RowIndex,
unsigned int **  ip2_ColumnIndex,
double **  dp2_JacobianValue 
)

A routine for recovering a Jacobian from a "Row-wise Distance 2 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

  • unsigned int** ip2_RowIndex
  • unsigned int** ip2_ColumnIndex
  • double** dp2_JacobianValue // corresponding non-zero values

Definition at line 66 of file JacobianRecovery1D.cpp.

References ColPack::RecoveryCore::dp_SSF_Value, ColPack::BipartiteGraphCore::GetColumnIndices(), ColPack::BipartiteGraphPartialColoring::GetLeftVertexColors(), ColPack::BipartiteGraphCore::GetRowVertexCount(), ColPack::BipartiteGraphCore::GetRowVertices(), ColPack::RecoveryCore::i_SSF_rowCount, ColPack::RecoveryCore::ip_SSF_ColumnIndex, ColPack::RecoveryCore::ip_SSF_RowIndex, ColPack::RecoveryCore::reset(), and ColPack::RecoveryCore::SSF_available.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function: