README.txt 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. AMD, Copyright (c) 2009-2012 by Timothy A. Davis (http://www.suitesparse.com),
  2. Patrick R. Amestoy, and Iain S. Duff. All Rights Reserved. AMD is available
  3. under alternate licences; contact T. Davis for details.
  4. AMD: a set of routines for permuting sparse matrices prior to
  5. factorization. Includes a version in C, a version in Fortran, and a MATLAB
  6. mexFunction.
  7. Requires SuiteSparse_config, in the ../SuiteSparse_config directory relative to
  8. this directory.
  9. Quick start (Unix, or Windows with Cygwin):
  10. To compile, test, and install AMD, you may wish to first configure the
  11. installation by editting the ../SuiteSparse_config/SuiteSparse_config.mk
  12. file. Next, cd to this directory (AMD) and type "make" (or "make lib" if
  13. you do not have MATLAB). To compile and run a demo program for the Fortran
  14. version, type "make fortran". When done, type "make clean" to remove
  15. unused *.o files (keeps the compiled libraries and demo programs). See the
  16. User Guide (Doc/AMD_UserGuide.pdf), or
  17. ../SuiteSparse_config/SuiteSparse_config.mk for more details.
  18. Quick start (for MATLAB users);
  19. To compile, test, and install the AMD mexFunction, cd to the
  20. AMD/MATLAB directory and type amd_make at the MATLAB prompt.
  21. -------------------------------------------------------------------------------
  22. AMD License:
  23. Your use or distribution of AMD or any modified version of
  24. AMD implies that you agree to this License.
  25. This library is free software; you can redistribute it and/or
  26. modify it under the terms of the GNU Lesser General Public
  27. License as published by the Free Software Foundation; either
  28. version 2.1 of the License, or (at your option) any later version.
  29. This library is distributed in the hope that it will be useful,
  30. but WITHOUT ANY WARRANTY; without even the implied warranty of
  31. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  32. Lesser General Public License for more details.
  33. You should have received a copy of the GNU Lesser General Public
  34. License along with this library; if not, write to the Free Software
  35. Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
  36. USA
  37. Permission is hereby granted to use or copy this program under the
  38. terms of the GNU LGPL, provided that the Copyright, this License,
  39. and the Availability of the original version is retained on all copies.
  40. User documentation of any code that uses this code or any modified
  41. version of this code must cite the Copyright, this License, the
  42. Availability note, and "Used by permission." Permission to modify
  43. the code and to distribute modified code is granted, provided the
  44. Copyright, this License, and the Availability note are retained,
  45. and a notice that the code was modified is included.
  46. Availability:
  47. http://www.suitesparse.com
  48. -------------------------------------------------------------------------------
  49. This is the AMD README file. It is a terse overview of AMD.
  50. Refer to the User Guide (Doc/AMD_UserGuide.pdf) for how to install
  51. and use AMD.
  52. Description:
  53. AMD is a set of routines for pre-ordering sparse matrices prior to Cholesky
  54. or LU factorization, using the approximate minimum degree ordering
  55. algorithm. Written in ANSI/ISO C with a MATLAB interface, and in
  56. Fortran 77.
  57. Authors:
  58. Timothy A. Davis (DrTimothyAldenDavis@gmail.com)
  59. Patrick R. Amestory, ENSEEIHT, Toulouse, France.
  60. Iain S. Duff, Rutherford Appleton Laboratory, UK.
  61. Acknowledgements:
  62. This work was supported by the National Science Foundation, under
  63. grants DMS-9504974, DMS-9803599, and CCR-0203270.
  64. Portions of this work were done while on sabbatical at Stanford University
  65. and Lawrence Berkeley National Laboratory (with funding from the SciDAC
  66. program). I would like to thank Gene Golub, Esmond Ng, and Horst Simon
  67. for making this sabbatical possible.
  68. -------------------------------------------------------------------------------
  69. Files and directories in the AMD distribution:
  70. -------------------------------------------------------------------------------
  71. ---------------------------------------------------------------------------
  72. Subdirectories of the AMD directory:
  73. ---------------------------------------------------------------------------
  74. Doc documentation
  75. Source primary source code
  76. Include include file for use in your code that calls AMD
  77. Demo demo programs. also serves as test of the AMD installation.
  78. MATLAB AMD mexFunction for MATLAB, and supporting m-files
  79. Lib where the compiled C-callable and Fortran-callable
  80. AMD libraries placed.
  81. ---------------------------------------------------------------------------
  82. Files in the AMD directory:
  83. ---------------------------------------------------------------------------
  84. Makefile top-level Makefile for GNU make or original make.
  85. Windows users would require Cygwin to use "make"
  86. README.txt this file
  87. ---------------------------------------------------------------------------
  88. Doc directory: documentation
  89. ---------------------------------------------------------------------------
  90. ChangeLog change log
  91. License the AMD License
  92. Makefile for creating the documentation
  93. AMD_UserGuide.bib AMD User Guide (references)
  94. AMD_UserGuide.tex AMD User Guide (LaTeX)
  95. AMD_UserGuide.pdf AMD User Guide (PDF)
  96. lesser.txt the GNU LGPL license
  97. ---------------------------------------------------------------------------
  98. Source directory:
  99. ---------------------------------------------------------------------------
  100. amd_order.c user-callable, primary AMD ordering routine
  101. amd_control.c user-callable, prints the control parameters
  102. amd_defaults.c user-callable, sets default control parameters
  103. amd_info.c user-callable, prints the statistics from AMD
  104. amd_1.c non-user-callable, construct A+A'
  105. amd_2.c user-callable, primary ordering kernel
  106. (a C version of amd.f and amdbar.f, with
  107. post-ordering added)
  108. amd_aat.c non-user-callable, computes nnz (A+A')
  109. amd_dump.c non-user-callable, debugging routines
  110. amd_postorder.c non-user-callable, postorder
  111. amd_post_tree.c non-user-callable, postorder just one tree
  112. amd_valid.c non-user-callable, verifies a matrix
  113. amd_preprocess.c non-user-callable, computes A', removes duplic
  114. amd.f user-callable Fortran 77 version
  115. amdbar.f user-callable Fortran 77 version
  116. ---------------------------------------------------------------------------
  117. Include directory:
  118. ---------------------------------------------------------------------------
  119. amd.h include file for C programs that use AMD
  120. amd_internal.h non-user-callable, include file for AMD
  121. ---------------------------------------------------------------------------
  122. Demo directory:
  123. ---------------------------------------------------------------------------
  124. Makefile for GNU make or original make
  125. amd_demo.c C demo program for AMD
  126. amd_demo.out output of amd_demo.c
  127. amd_demo2.c C demo program for AMD, jumbled matrix
  128. amd_demo2.out output of amd_demo2.c
  129. amd_l_demo.c C demo program for AMD (long integer version)
  130. amd_l_demo.out output of amd_l_demo.c
  131. amd_simple.c simple C demo program for AMD
  132. amd_simple.out output of amd_simple.c
  133. amd_f77demo.f Fortran 77 demo program for AMD
  134. amd_f77demo.out output of amd_f77demo.f
  135. amd_f77simple.c simple Fortran 77 demo program for AMD
  136. amd_f77simple.out output of amd_f77simple.f
  137. amd_f77cross.f Fortran 77 demo, calls the C version of AMD
  138. amd_f77cross.out output of amd_f77cross.f
  139. amd_f77wrapper.c Fortran-callable wrapper for C version of AMD
  140. ---------------------------------------------------------------------------
  141. MATLAB directory:
  142. ---------------------------------------------------------------------------
  143. GNUmakefile a nice Makefile, for GNU make
  144. Makefile an ugly Unix Makefile (for older make's)
  145. Contents.m for "help amd2" listing of toolbox contents
  146. amd2.m MATLAB help file for AMD
  147. amd_make.m MATLAB m-file for compiling AMD mexFunction
  148. amd_install.m compile and install the AMD mexFunction
  149. amd_mex.c AMD mexFunction for MATLAB
  150. amd_demo.m MATLAB demo for AMD
  151. amd_demo.m.out diary output of amd_demo.m
  152. can_24.mat input file for AMD demo
  153. ---------------------------------------------------------------------------
  154. Lib directory: libamd.a and libamdf77.a libraries placed here
  155. ---------------------------------------------------------------------------
  156. GNUmakefile a nice Makefile, for GNU make
  157. Makefile an ugly Unix Makefile (for older make's)
  158. libamd.def AMD definitions for Windows