rev |
line source |
alpar@9
|
1 /* glpqmd.h (quotient minimum degree algorithm) */
|
alpar@9
|
2
|
alpar@9
|
3 /***********************************************************************
|
alpar@9
|
4 * This code is part of GLPK (GNU Linear Programming Kit).
|
alpar@9
|
5 *
|
alpar@9
|
6 * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
|
alpar@9
|
7 * 2009, 2010, 2011 Andrew Makhorin, Department for Applied Informatics,
|
alpar@9
|
8 * Moscow Aviation Institute, Moscow, Russia. All rights reserved.
|
alpar@9
|
9 * E-mail: <mao@gnu.org>.
|
alpar@9
|
10 *
|
alpar@9
|
11 * GLPK is free software: you can redistribute it and/or modify it
|
alpar@9
|
12 * under the terms of the GNU General Public License as published by
|
alpar@9
|
13 * the Free Software Foundation, either version 3 of the License, or
|
alpar@9
|
14 * (at your option) any later version.
|
alpar@9
|
15 *
|
alpar@9
|
16 * GLPK is distributed in the hope that it will be useful, but WITHOUT
|
alpar@9
|
17 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
alpar@9
|
18 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
alpar@9
|
19 * License for more details.
|
alpar@9
|
20 *
|
alpar@9
|
21 * You should have received a copy of the GNU General Public License
|
alpar@9
|
22 * along with GLPK. If not, see <http://www.gnu.org/licenses/>.
|
alpar@9
|
23 ***********************************************************************/
|
alpar@9
|
24
|
alpar@9
|
25 #ifndef GLPQMD_H
|
alpar@9
|
26 #define GLPQMD_H
|
alpar@9
|
27
|
alpar@9
|
28 #define genqmd _glp_qmd_genqmd
|
alpar@9
|
29 void genqmd(int *neqns, int xadj[], int adjncy[], int perm[],
|
alpar@9
|
30 int invp[], int deg[], int marker[], int rchset[], int nbrhd[],
|
alpar@9
|
31 int qsize[], int qlink[], int *nofsub);
|
alpar@9
|
32 /* GENeral Quotient Minimum Degree algorithm */
|
alpar@9
|
33
|
alpar@9
|
34 #define qmdrch _glp_qmd_qmdrch
|
alpar@9
|
35 void qmdrch(int *root, int xadj[], int adjncy[], int deg[],
|
alpar@9
|
36 int marker[], int *rchsze, int rchset[], int *nhdsze,
|
alpar@9
|
37 int nbrhd[]);
|
alpar@9
|
38 /* Quotient MD ReaCHable set */
|
alpar@9
|
39
|
alpar@9
|
40 #define qmdqt _glp_qmd_qmdqt
|
alpar@9
|
41 void qmdqt(int *root, int xadj[], int adjncy[], int marker[],
|
alpar@9
|
42 int *rchsze, int rchset[], int nbrhd[]);
|
alpar@9
|
43 /* Quotient MD Quotient graph Transformation */
|
alpar@9
|
44
|
alpar@9
|
45 #define qmdupd _glp_qmd_qmdupd
|
alpar@9
|
46 void qmdupd(int xadj[], int adjncy[], int *nlist, int list[],
|
alpar@9
|
47 int deg[], int qsize[], int qlink[], int marker[], int rchset[],
|
alpar@9
|
48 int nbrhd[]);
|
alpar@9
|
49 /* Quotient MD UPDate */
|
alpar@9
|
50
|
alpar@9
|
51 #define qmdmrg _glp_qmd_qmdmrg
|
alpar@9
|
52 void qmdmrg(int xadj[], int adjncy[], int deg[], int qsize[],
|
alpar@9
|
53 int qlink[], int marker[], int *deg0, int *nhdsze, int nbrhd[],
|
alpar@9
|
54 int rchset[], int ovrlp[]);
|
alpar@9
|
55 /* Quotient MD MeRGe */
|
alpar@9
|
56
|
alpar@9
|
57 #endif
|
alpar@9
|
58
|
alpar@9
|
59 /* eof */
|