ColPack
BipartiteGraphBicoloring/BipartiteGraphBicoloringInterface.h
Go to the documentation of this file.
00001 /************************************************************************************
00002     Copyright (C) 2005-2008 Assefaw H. Gebremedhin, Arijit Tarafdar, Duc Nguyen,
00003     Alex Pothen
00004 
00005     This file is part of ColPack.
00006 
00007     ColPack is free software: you can redistribute it and/or modify
00008     it under the terms of the GNU Lesser General Public License as published
00009     by the Free Software Foundation, either version 3 of the License, or
00010     (at your option) any later version.
00011 
00012     ColPack is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015     GNU Lesser General Public License for more details.
00016 
00017     You should have received a copy of the GNU Lesser General Public License
00018     along with ColPack.  If not, see <http://www.gnu.org/licenses/>.
00019 ************************************************************************************/
00020 
00021 using namespace std;
00022 
00023 #ifndef BIPARTITEGRAPHBICOLORINGINTERFACE_H
00024 #define BIPARTITEGRAPHBICOLORINGINTERFACE_H
00025 
00026 namespace ColPack
00027 {
00033         class BipartiteGraphBicoloringInterface : public BipartiteGraphBicoloring
00034         {
00035 
00036         public: //DOCUMENTED
00037 
00039 
00077                 BipartiteGraphBicoloringInterface(int i_type, ...);
00078 
00079 
00081 
00107                 void GenerateSeedJacobian(double*** dp3_LeftSeed, int *ip1_LeftSeedRowCount, int *ip1_LeftSeedColumnCount, double*** dp3_RightSeed, int *ip1_RightSeedRowCount, int *ip1_RightSeedColumnCount, string s_OrderingVariant="NATURAL", string s_BicoloringVariant = "IMPLICIT_COVERING__STAR_BICOLORING");
00108 
00109 
00111 
00114                 void GenerateSeedJacobian_unmanaged(double*** dp3_LeftSeed, int *ip1_LeftSeedRowCount, int *ip1_LeftSeedColumnCount, double*** dp3_RightSeed, int *ip1_RightSeedRowCount, int *ip1_RightSeedColumnCount, string s_OrderingVariant="NATURAL", string s_BicoloringVariant = "IMPLICIT_COVERING__STAR_BICOLORING");
00115 
00116 
00118 
00141                 int Bicoloring(string s_OrderingVariant = "NATURAL", string s_BicoloringVariant = "IMPLICIT_COVERING__STAR_BICOLORING");
00142 
00144                 double** GetLeftSeedMatrix(int* ip1_LeftSeedRowCount, int* ip1_LeftSeedColumnCount);
00145 
00147                 double** GetRightSeedMatrix(int* ip1_RightSeedRowCount, int* ip1_RightSeedColumnCount);
00148 
00149                 void GetOrderedVertices(vector<int> &output);
00150         private:
00151 
00152                 Timer m_T_Timer;
00153 
00154         public:
00155                 //Public Destructor 3702
00156                 ~BipartiteGraphBicoloringInterface();
00157 
00158                 //Virtual Function 3703
00159                 virtual void Clear();
00160 
00161                 //Virtual Function 3704
00162                 virtual void Reset();
00163 
00164 
00165         };
00166 }
00167 #endif
00168 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines