glpqmd.h 2.2 KB

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