diff options
Diffstat (limited to 'extern/colamd/README.txt')
-rw-r--r-- | extern/colamd/README.txt | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/extern/colamd/README.txt b/extern/colamd/README.txt new file mode 100644 index 00000000000..5ed81c71d02 --- /dev/null +++ b/extern/colamd/README.txt @@ -0,0 +1,127 @@ +The COLAMD ordering method - Version 2.7 +------------------------------------------------------------------------------- + +The COLAMD column approximate minimum degree ordering algorithm computes +a permutation vector P such that the LU factorization of A (:,P) +tends to be sparser than that of A. The Cholesky factorization of +(A (:,P))'*(A (:,P)) will also tend to be sparser than that of A'*A. +SYMAMD is a symmetric minimum degree ordering method based on COLAMD, +available as a MATLAB-callable function. It constructs a matrix M such +that M'*M has the same pattern as A, and then uses COLAMD to compute a column +ordering of M. Colamd and symamd tend to be faster and generate better +orderings than their MATLAB counterparts, colmmd and symmmd. + +To compile and test the colamd m-files and mexFunctions, just unpack the +COLAMD/ directory from the COLAMD.tar.gz file, and run MATLAB from +within that directory. Next, type colamd_test to compile and test colamd +and symamd. This will work on any computer with MATLAB (Unix, PC, or Mac). +Alternatively, type "make" (in Unix) to compile and run a simple example C +code, without using MATLAB. + +To compile and install the colamd m-files and mexFunctions, just cd to +COLAMD/MATLAB and type colamd_install in the MATLAB command window. +A short demo will run. Optionally, type colamd_test to run an extensive tests. +Type "make" in Unix in the COLAMD directory to compile the C-callable +library and to run a short demo. + +If you have MATLAB 7.2 or earlier, you must first edit UFconfig/UFconfig.h to +remove the "-largeArrayDims" option from the MEX command (or just use +colamd_make.m inside MATLAB). + +Colamd is a built-in routine in MATLAB, available from The +Mathworks, Inc. Under most cases, the compiled COLAMD from Versions 2.0 to the +current version do not differ. Colamd Versions 2.2 and 2.3 differ only in their +mexFunction interaces to MATLAB. v2.4 fixes a bug in the symamd routine in +v2.3. The bug (in v2.3 and earlier) has no effect on the MATLAB symamd +mexFunction. v2.5 adds additional checks for integer overflow, so that +the "int" version can be safely used with 64-bit pointers. Refer to the +ChangeLog for more details. + +To use colamd and symamd within an application written in C, all you need are +colamd.c, colamd_global.c, and colamd.h, which are the C-callable +colamd/symamd codes. See colamd.c for more information on how to call +colamd from a C program. + +Requires UFconfig, in the ../UFconfig directory relative to this directory. + + Copyright (c) 1998-2007, Timothy A. Davis, All Rights Reserved. + + See http://www.cise.ufl.edu/research/sparse/colamd (the colamd.c + file) for the License. + + +Related papers: + + T. A. Davis, J. R. Gilbert, S. Larimore, E. Ng, An approximate column + minimum degree ordering algorithm, ACM Transactions on Mathematical + Software, vol. 30, no. 3., pp. 353-376, 2004. + + T. A. Davis, J. R. Gilbert, S. Larimore, E. Ng, Algorithm 836: COLAMD, + an approximate column minimum degree ordering algorithm, ACM + Transactions on Mathematical Software, vol. 30, no. 3., pp. 377-380, + 2004. + + "An approximate minimum degree column ordering algorithm", + S. I. Larimore, MS Thesis, Dept. of Computer and Information + Science and Engineering, University of Florida, Gainesville, FL, + 1998. CISE Tech Report TR-98-016. Available at + ftp://ftp.cise.ufl.edu/cis/tech-reports/tr98/tr98-016.ps + via anonymous ftp. + + Approximate Deficiency for Ordering the Columns of a Matrix, + J. L. Kern, Senior Thesis, Dept. of Computer and Information + Science and Engineering, University of Florida, Gainesville, FL, + 1999. Available at http://www.cise.ufl.edu/~davis/Kern/kern.ps + + +Authors: Stefan I. Larimore and Timothy A. Davis, University of Florida, +in collaboration with John Gilbert, Xerox PARC (now at UC Santa Barbara), +and Esmong Ng, Lawrence Berkeley National Laboratory (much of this work +he did while at Oak Ridge National Laboratory). + +COLAMD files: + + Demo simple demo + Doc additional documentation (see colamd.c for more) + Include include file + Lib compiled C-callable library + Makefile primary Unix Makefile + MATLAB MATLAB functions + README.txt this file + Source C source code + + ./Demo: + colamd_example.c simple example + colamd_example.out output of colamd_example.c + colamd_l_example.c simple example, long integers + colamd_l_example.out output of colamd_l_example.c + Makefile Makefile for C demos + + ./Doc: + ChangeLog change log + lesser.txt license + + ./Include: + colamd.h include file + + ./Lib: + Makefile Makefile for C-callable library + + ./MATLAB: + colamd2.m MATLAB interface for colamd2 + colamd_demo.m simple demo + colamd_install.m compile and install colamd2 and symamd2 + colamd_make.m compile colamd2 and symamd2 + colamdmex.ca MATLAB mexFunction for colamd2 + colamd_test.m extensive test + colamdtestmex.c test function for colamd + Contents.m contents of the MATLAB directory + luflops.m test code + Makefile Makefile for MATLAB functions + symamd2.m MATLAB interface for symamd2 + symamdmex.c MATLAB mexFunction for symamd2 + symamdtestmex.c test function for symamd + + ./Source: + colamd.c primary source code + colamd_global.c globally defined function pointers (malloc, free, ...) |