class GraphColoringInterface in group1. More...
#include <GraphColoringInterface.h>
Inherits ColPack::GraphColoring.
Public Member Functions | |
GraphColoringInterface (int i_type,...) | |
Read graph structure and color the adjacency graph. | |
int | Coloring (string s_OrderingVariant="NATURAL", string s_ColoringVariant="DISTANCE_ONE") |
Color the adjacency graph based on the requested s_ColoringVariant and s_OrderingVariant. | |
void | GenerateSeedHessian (double ***dp3_seed, int *ip1_SeedRowCount, int *ip1_SeedColumnCount, string s_OrderingVariant="NATURAL", string s_ColoringVariant="STAR") |
Generate and return the seed matrix. | |
void | GenerateSeedHessian_unmanaged (double ***dp3_seed, int *ip1_SeedRowCount, int *ip1_SeedColumnCount, string s_OrderingVariant="NATURAL", string s_ColoringVariant="STAR") |
Same as GenerateSeedHessian(), except that this Seed matrix is NOT managed by ColPack. | |
double ** | GetSeedMatrix (int *ip1_SeedRowCount, int *ip1_SeedColumnCount) |
Return the Seed matrix based on existing coloring. This Seed matrix is managed and freed by ColPack. | |
void | GetOrderedVertices (vector< int > &output) |
int | CalculateVertexColorClasses () |
~GraphColoringInterface () | |
virtual void | Clear () |
int | DistanceOneColoring (string s_OrderingVariant) |
int | DistanceTwoColoring (string s_OrderingVariant) |
int | NaiveStarColoring (string s_OrderingVariant) |
int | RestrictedStarColoring (string s_OrderingVariant) |
int | StarColoring (string s_OrderingVariant) |
int | AcyclicColoring (string s_OrderingVariant) |
int | AcyclicColoring_ForIndirectRecovery (string s_OrderingVariant) |
int | TriangularColoring (string s_OrderingVariant) |
Static Public Member Functions | |
static void | PrintInducedVertexDegrees (int SetID, int i_HighestInducedVertexDegree, vector< list< int > > &vli_GroupedInducedVertexDegrees) |
static void | PrintVertexEdgeMap (vector< int > &vi_Vertices, vector< int > &vi_Edges, map< int, map< int, int > > &mimi2_VertexEdgeMap) |
Private Attributes | |
Timer | m_T_Timer |
class GraphColoringInterface in group1.
Definition at line 31 of file GraphColoringInterface.h.
ColPack::GraphColoringInterface::GraphColoringInterface | ( | int | i_type, | |
... | ||||
) |
Read graph structure and color the adjacency graph.
This function will:
Structure of this variadic function's parameters: GraphColoringInterface(int i_type, [2 or more parameters for input source depending on the value of i_type], [char* s_OrderingVariant], [char* s_ColoringVariant]). Here are some examples:
About input parameters:
!! add interface function that takes input from ADIC
Definition at line 28 of file GraphColoringInterface.cpp.
References ColPack::GraphInputOutput::BuildGraphFromRowCompressedFormat(), Clear(), ColPack::GraphInputOutput::ReadAdjacencyGraph(), SRC_FILE, SRC_MEM_ADIC, SRC_MEM_ADOLC, and SRC_WAIT.
ColPack::GraphColoringInterface::~GraphColoringInterface | ( | ) |
Definition at line 138 of file GraphColoringInterface.cpp.
References Clear(), and ColPack::GraphColoring::Seed_reset().
int ColPack::GraphColoringInterface::AcyclicColoring | ( | string | s_OrderingVariant | ) |
Definition at line 340 of file GraphColoringInterface.cpp.
References _TRUE, ColPack::GraphColoring::AcyclicColoring(), ColPack::Timer::GetWallTime(), ColPack::GraphColoring::m_d_ColoringTime, ColPack::GraphOrdering::m_d_OrderingTime, m_T_Timer, ColPack::GraphOrdering::OrderVertices(), ColPack::Timer::Start(), and ColPack::Timer::Stop().
int ColPack::GraphColoringInterface::AcyclicColoring_ForIndirectRecovery | ( | string | s_OrderingVariant | ) |
Definition at line 309 of file GraphColoringInterface.cpp.
References _TRUE, ColPack::GraphColoring::AcyclicColoring_ForIndirectRecovery(), ColPack::Timer::GetWallTime(), ColPack::GraphColoring::m_d_ColoringTime, ColPack::GraphOrdering::m_d_OrderingTime, m_T_Timer, ColPack::GraphOrdering::OrderVertices(), ColPack::Timer::Start(), and ColPack::Timer::Stop().
int ColPack::GraphColoringInterface::CalculateVertexColorClasses | ( | ) |
Reimplemented from ColPack::GraphColoring.
Definition at line 125 of file GraphColoringInterface.cpp.
void ColPack::GraphColoringInterface::Clear | ( | ) | [virtual] |
Reimplemented from ColPack::GraphColoring.
Definition at line 146 of file GraphColoringInterface.cpp.
Referenced by GraphColoringInterface(), and ~GraphColoringInterface().
int ColPack::GraphColoringInterface::Coloring | ( | string | s_OrderingVariant = "NATURAL" , |
|
string | s_ColoringVariant = "DISTANCE_ONE" | |||
) |
Color the adjacency graph based on the requested s_ColoringVariant and s_OrderingVariant.
This function will
About input parameters:
Postcondition:
Definition at line 525 of file GraphColoringInterface.cpp.
References _FALSE, _TRUE, ColPack::GraphColoring::AcyclicColoring(), ColPack::GraphColoring::AcyclicColoring_ForIndirectRecovery(), ColPack::GraphColoring::DistanceOneColoring(), ColPack::GraphColoring::DistanceTwoColoring(), ColPack::GraphColoring::RestrictedStarColoring(), and ColPack::GraphColoring::StarColoring().
Referenced by GenerateSeedHessian(), GenerateSeedHessian_unmanaged(), main(), toFileC(), and toFileC_forColoringBasedOrdering().
int ColPack::GraphColoringInterface::DistanceOneColoring | ( | string | s_OrderingVariant | ) |
Definition at line 154 of file GraphColoringInterface.cpp.
References _TRUE, ColPack::GraphColoring::DistanceOneColoring(), ColPack::Timer::GetWallTime(), ColPack::GraphColoring::m_d_ColoringTime, ColPack::GraphOrdering::m_d_OrderingTime, m_T_Timer, ColPack::GraphOrdering::OrderVertices(), ColPack::Timer::Start(), and ColPack::Timer::Stop().
int ColPack::GraphColoringInterface::DistanceTwoColoring | ( | string | s_OrderingVariant | ) |
Definition at line 185 of file GraphColoringInterface.cpp.
References _TRUE, ColPack::GraphColoring::DistanceTwoColoring(), ColPack::Timer::GetWallTime(), ColPack::GraphColoring::m_d_ColoringTime, ColPack::GraphOrdering::m_d_OrderingTime, m_T_Timer, ColPack::GraphOrdering::OrderVertices(), ColPack::Timer::Start(), and ColPack::Timer::Stop().
void ColPack::GraphColoringInterface::GenerateSeedHessian | ( | double *** | dp3_seed, | |
int * | ip1_SeedRowCount, | |||
int * | ip1_SeedColumnCount, | |||
string | s_OrderingVariant = "NATURAL" , |
|||
string | s_ColoringVariant = "STAR" | |||
) |
Generate and return the seed matrix.
This function will
About input parameters:
Postcondition:
Definition at line 403 of file GraphColoringInterface.cpp.
References Coloring(), and GetSeedMatrix().
void ColPack::GraphColoringInterface::GenerateSeedHessian_unmanaged | ( | double *** | dp3_seed, | |
int * | ip1_SeedRowCount, | |||
int * | ip1_SeedColumnCount, | |||
string | s_OrderingVariant = "NATURAL" , |
|||
string | s_ColoringVariant = "STAR" | |||
) |
Same as GenerateSeedHessian(), except that this Seed matrix is NOT managed by ColPack.
Notes:
Definition at line 444 of file GraphColoringInterface.cpp.
References Coloring(), and ColPack::GraphColoring::GetSeedMatrix_unmanaged().
void ColPack::GraphColoringInterface::GetOrderedVertices | ( | vector< int > & | output | ) |
Reimplemented from ColPack::GraphOrdering.
Definition at line 129 of file GraphColoringInterface.cpp.
double ** ColPack::GraphColoringInterface::GetSeedMatrix | ( | int * | ip1_SeedRowCount, | |
int * | ip1_SeedColumnCount | |||
) |
Return the Seed matrix based on existing coloring. This Seed matrix is managed and freed by ColPack.
Precondition:
Postcondition:
Notes:
Reimplemented from ColPack::GraphColoring.
Definition at line 133 of file GraphColoringInterface.cpp.
Referenced by GenerateSeedHessian(), and main().
int ColPack::GraphColoringInterface::NaiveStarColoring | ( | string | s_OrderingVariant | ) |
Definition at line 216 of file GraphColoringInterface.cpp.
References _TRUE, ColPack::Timer::GetWallTime(), ColPack::GraphColoring::m_d_ColoringTime, ColPack::GraphOrdering::m_d_OrderingTime, m_T_Timer, ColPack::GraphColoring::NaiveStarColoring(), ColPack::GraphOrdering::OrderVertices(), ColPack::Timer::Start(), and ColPack::Timer::Stop().
void ColPack::GraphColoringInterface::PrintInducedVertexDegrees | ( | int | SetID, | |
int | i_HighestInducedVertexDegree, | |||
vector< list< int > > & | vli_GroupedInducedVertexDegrees | |||
) | [static] |
Definition at line 485 of file GraphColoringInterface.cpp.
void ColPack::GraphColoringInterface::PrintVertexEdgeMap | ( | vector< int > & | vi_Vertices, | |
vector< int > & | vi_Edges, | |||
map< int, map< int, int > > & | mimi2_VertexEdgeMap | |||
) | [static] |
Definition at line 463 of file GraphColoringInterface.cpp.
References STEP_UP.
int ColPack::GraphColoringInterface::RestrictedStarColoring | ( | string | s_OrderingVariant | ) |
Definition at line 247 of file GraphColoringInterface.cpp.
References _TRUE, ColPack::Timer::GetWallTime(), ColPack::GraphColoring::m_d_ColoringTime, ColPack::GraphOrdering::m_d_OrderingTime, m_T_Timer, ColPack::GraphOrdering::OrderVertices(), ColPack::GraphColoring::RestrictedStarColoring(), ColPack::Timer::Start(), and ColPack::Timer::Stop().
int ColPack::GraphColoringInterface::StarColoring | ( | string | s_OrderingVariant | ) |
Definition at line 278 of file GraphColoringInterface.cpp.
References _TRUE, ColPack::Timer::GetWallTime(), ColPack::GraphColoring::m_d_ColoringTime, ColPack::GraphOrdering::m_d_OrderingTime, m_T_Timer, ColPack::GraphOrdering::OrderVertices(), ColPack::GraphColoring::StarColoring(), ColPack::Timer::Start(), and ColPack::Timer::Stop().
int ColPack::GraphColoringInterface::TriangularColoring | ( | string | s_OrderingVariant | ) |
Definition at line 371 of file GraphColoringInterface.cpp.
References _TRUE, ColPack::Timer::GetWallTime(), ColPack::GraphColoring::m_d_ColoringTime, ColPack::GraphOrdering::m_d_OrderingTime, m_T_Timer, ColPack::GraphOrdering::OrderVertices(), ColPack::Timer::Start(), ColPack::Timer::Stop(), and ColPack::GraphColoring::TriangularColoring().
Definition at line 178 of file GraphColoringInterface.h.
Referenced by AcyclicColoring(), AcyclicColoring_ForIndirectRecovery(), DistanceOneColoring(), DistanceTwoColoring(), NaiveStarColoring(), RestrictedStarColoring(), StarColoring(), and TriangularColoring().