Skip to content

Commit

Permalink
v2.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
DrTimothyAldenDavis committed Oct 19, 2019
1 parent 0f9c331 commit 88fb6ae
Show file tree
Hide file tree
Showing 525 changed files with 43,281 additions and 27,018 deletions.
4 changes: 2 additions & 2 deletions AMD/Demo/amd_demo.out
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AMD version 2.0, date: May 5, 2006
AMD version 2.0, date: Nov 29, 2006
AMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:

amd version 2.0, May 5, 2006: approximate minimum degree ordering:
amd version 2.0, Nov 29, 2006: approximate minimum degree ordering:
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
Expand Down
2 changes: 1 addition & 1 deletion AMD/Demo/amd_demo2.out
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AMD demo, with a jumbled version of the 24-by-24
Harwell/Boeing matrix, can_24:

amd version 2.0, May 5, 2006: approximate minimum degree ordering:
amd version 2.0, Nov 29, 2006: approximate minimum degree ordering:
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
Expand Down
4 changes: 2 additions & 2 deletions AMD/Demo/amd_l_demo.out
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AMD version 2.0, date: May 5, 2006
AMD version 2.0, date: Nov 29, 2006
AMD demo, with the 24-by-24 Harwell/Boeing matrix, can_24:

amd version 2.0, May 5, 2006: approximate minimum degree ordering:
amd version 2.0, Nov 29, 2006: approximate minimum degree ordering:
dense row parameter: 10
(rows with more than max (10 * sqrt (n), 16) entries are
considered "dense", and placed last in output permutation)
Expand Down
Binary file modified AMD/Doc/AMD_UserGuide.pdf
Binary file not shown.
24 changes: 18 additions & 6 deletions AMD/Doc/AMD_UserGuide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
This work was supported by the EPSRC under grant GR/R46441.
}}

\date{May 5, 2006}
\date{Nov 29, 2006}
\maketitle

%------------------------------------------------------------------------------
Expand Down Expand Up @@ -182,8 +182,17 @@ \section{Availability}
\section{Using AMD in MATLAB}
%------------------------------------------------------------------------------

To use AMD in MATLAB, you must first compile the AMD mexFunction.
Just type {\tt make} in the Unix system shell, while in the {\tt AMD}
The MATLAB function {\tt amd} is now a built-in function in MATLAB 7.3
(R2006b). Compiling the AMD mexFunction, here, causes a name conflict
(it is MATLAB that is conflict with AMD, not the other way around ...).

To avoid this issue, either use the built-in {\tt amd}, or use the
{\tt amd2} function provided here. {\tt amd}
and {\tt amd2} differ in how the optional parameters are passed
(the 2nd input parameter).

To use AMD2 in MATLAB, you must first compile the AMD2 mexFunction.
Just type {\tt make} in the Unix system shell, while in the {\tt AMD/MATLAB}
directory. You can also type {\tt amd\_make} in MATLAB, while in the
{\tt AMD/MATLAB} directory. Place the {\tt AMD/MATLAB} directory in your
MATLAB path. This can be done on any system with MATLAB, including Windows.
Expand Down Expand Up @@ -719,11 +728,12 @@ \section{Installation}
you need to add the {\tt AMD/Lib/libamdf77.a} library.
See {\tt AMD/Demo/Makefile} for an example.

If all you want to use is the AMD mexFunction in MATLAB, you can skip
If all you want to use is the AMD2 mexFunction in MATLAB, you can skip
the use of the {\tt make} command entirely. Simply type
{\tt amd\_make} in MATLAB while in the {\tt AMD/MATLAB} directory.
This works on any system with MATLAB, including Windows.
Alternately, type {\tt make} in the {\tt AMD/MATLAB} directory.
Alternately, type {\tt make} in the {\tt AMD/MATLAB} directory,
or just use the built-in {\tt amd} in MATLAB 7.3 or later.

If you are including AMD as a subset of a larger library and do not want
to link the C standard I/O library, or if you simply do not need to use
Expand Down Expand Up @@ -1166,10 +1176,11 @@ \section{The AMD routines}
* Versions 1.1 and earlier of AMD do not include a #define'd version number.
*/
#define AMD_DATE "May 5, 2006"
#define AMD_DATE "Nov 29, 2006"
#define AMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define AMD_MAIN_VERSION 2
#define AMD_SUB_VERSION 0
#define AMD_SUBSUB_VERSION 3
#define AMD_VERSION AMD_VERSION_CODE(AMD_MAIN_VERSION,AMD_SUB_VERSION)
#ifdef __cplusplus
Expand All @@ -1180,6 +1191,7 @@ \section{The AMD routines}
\end{verbatim}
}


%------------------------------------------------------------------------------
\newpage
% References
Expand Down
10 changes: 10 additions & 0 deletions AMD/Doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
Nov 29, 2006, version 2.0.3

* changed MATLAB function name to amd2, so as not to conflict with
the now built-in version of AMD in MATLAB (which is the same thing
as the AMD here...).

Sept 28, 2006, version 2.0.2

* #define SIZE_T_MAX not done if already defined (Mac OSX).

Aug 31, 2006:

* trivial change to comments in amd.m
Expand Down
3 changes: 2 additions & 1 deletion AMD/Include/amd.h
Original file line number Diff line number Diff line change
Expand Up @@ -398,10 +398,11 @@ void amd_l_info (double Info [ ]) ;
* Versions 1.1 and earlier of AMD do not include a #define'd version number.
*/

#define AMD_DATE "May 5, 2006"
#define AMD_DATE "Nov 29, 2006"
#define AMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define AMD_MAIN_VERSION 2
#define AMD_SUB_VERSION 0
#define AMD_SUBSUB_VERSION 3
#define AMD_VERSION AMD_VERSION_CODE(AMD_MAIN_VERSION,AMD_SUB_VERSION)

#ifdef __cplusplus
Expand Down
2 changes: 2 additions & 0 deletions AMD/Include/amd_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,9 @@
#define NULL 0

/* largest value of size_t */
#ifndef SIZE_T_MAX
#define SIZE_T_MAX ((size_t) (-1))
#endif

/* ------------------------------------------------------------------------- */
/* integer type for AMD: int or UF_long */
Expand Down
13 changes: 8 additions & 5 deletions AMD/MATLAB/Contents.m
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
%Contents of the AMD sparse matrix ordering package:
%
% amd p = amd (A), the approximate minimum degree ordering of A
% amd_demo a demo of amd, using the can_24 matrix
% amd_make to compile amd for use in MATLAB
% can_24.mat a sample sparse matrix from the Harwell/Boeing collection
% amd2 p = amd2 (A), the approximate minimum degree ordering of A
% amd_demo a demo of amd2, using the can_24 matrix
% amd_make to compile amd2 for use in MATLAB
% can_24.mat a sample sparse matrix from the Harwell/Boeing collection
%
% See also: amd, colamd, symamd, colmmd, symmmd, umfpack
% See also: amd, amd2, colamd, symamd, colmmd, symmmd, umfpack
%
% Note that amd2 and the built-in amd function in MATLAB 7.3 and later are one
% and the same.
%
% --------------------------------------------------------------------------
% AMD Version 2.0, Copyright (c) 2006 by Timothy A. Davis,
Expand Down
8 changes: 4 additions & 4 deletions AMD/MATLAB/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
# Makefile for the AMD MATLAB mexFunction
#------------------------------------------------------------------------------

default: amd
default: amd2

include ../../UFconfig/UFconfig.mk

AMD = ../Lib/libamd.a

INC = -I../Include -I../../UFconfig

amd: amd_mex.c
amd2: amd_mex.c
( cd ../Source ; $(MAKE) )
$(MEX) $(INC) -output amd amd_mex.c $(AMD)
$(MEX) $(INC) -output amd2 amd_mex.c $(AMD)

#------------------------------------------------------------------------------
# Remove all but the files in the original distribution
Expand All @@ -24,4 +24,4 @@ clean:
purge: distclean

distclean: clean
- $(RM) amd.mex* amd.dll
- $(RM) amd2.mex* amd2.dll
30 changes: 17 additions & 13 deletions AMD/MATLAB/amd.m → AMD/MATLAB/amd2.m
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
function [p, Info] = amd (A, Control)
%AMD Approximate minimum degree permutation.
% P = AMD (S) returns the approximate minimum degree permutation vector for
function [p, Info] = amd2 (A, Control) %#ok
%AMD2 Approximate minimum degree permutation.
% P = AMD2 (S) returns the approximate minimum degree permutation vector for
% the sparse matrix C = S+S'. The Cholesky factorization of C (P,P), or
% S (P,P), tends to be sparser than that of C or S. AMD tends to be faster
% than SYMMMD and SYMAMD, and tends to return better orderings than SYMMMD.
% S must be square. If S is full, amd(S) is equivalent to amd(sparse(S)).
%
% Usage: P = amd (S) ; % finds the ordering
% [P, Info] = amd (S, Control) ; % optional parameters & statistics
% Control = amd ; % returns default parameters
% amd ; % prints default parameters.
% Note that the built-in AMD routine in MATLAB is identical to AMD2,
% except that AMD in MATLAB allows for a struct input to set the parameters.
%
% Usage: P = amd2 (S) ; % finds the ordering
% [P, Info] = amd2 (S, Control) ; % optional parameters & statistics
% Control = amd2 ; % returns default parameters
% amd2 ; % prints default parameters.
%
% Control (1); If S is n-by-n, then rows/columns with more than
% max (16, (Control (1))* sqrt(n)) entries in S+S' are considered
Expand Down Expand Up @@ -49,13 +52,17 @@
% of the approximate degree update used, and because "dense" rows/columns
% do not take part in the post-order. It well-suited for a subsequent
% "chol", however. If you require a precise elimination tree post-ordering,
% then do:
% then see the example below:
%
% Example:
%
% P = amd (S) ;
% P = amd2 (S) ;
% C = spones (S) + spones (S') ; % skip this if S already symmetric
% [ignore, Q] = etree (C (P,P)) ;
% P = P (Q) ;
%
% See also AMD, COLMMD, COLAMD, COLPERM, SYMAMD, SYMMMD, SYMRCM.

% --------------------------------------------------------------------------
% AMD Version 2.0, Copyright (c) 2006 by Timothy A. Davis,
% Patrick R. Amestoy, and Iain S. Duff. See ../README.txt for License.
Expand All @@ -65,8 +72,5 @@
%
% Acknowledgements: This work was supported by the National Science
% Foundation, under grants ASC-9111263, DMS-9223088, and CCR-0203270.
%
% See also COLMMD, COLAMD, COLPERM, SYMAMD, SYMMMD, SYMRCM.

help amd
error ('amd mexFunction not found! Type "amd_make" in MATLAB to compile amd');
error ('amd2 mexFunction not found') ;
8 changes: 4 additions & 4 deletions AMD/MATLAB/amd_demo.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
% web: http://www.cise.ufl.edu/research/sparse/amd
% --------------------------------------------------------------------------
%
% See also: amd, amd_make
% See also: amd, amd2, amd_make

% This orders the same matrix as the ANSI C demo, amd_demo.c. It includes an
% additional analysis of the matrix via MATLAB's symbfact routine.

% First, print the help information for AMD
help amd
help amd2

% Get the Harwell/Boeing can_24 matrix.

Expand All @@ -38,10 +38,10 @@
% order the matrix. Note that the Info argument is optional.
fprintf ('\nIf the next step fails, then you have\n') ;
fprintf ('not yet compiled the AMD mexFunction.\n') ;
[p, Info] = amd (A) ;
[p, Info] = amd2 (A) ;

% order again, but this time print some statistics
[p, Info] = amd (A, [10 1 1]) ;
[p, Info] = amd2 (A, [10 1 1]) ;

fprintf ('Permutation vector:\n') ;
fprintf (' %2d', p) ;
Expand Down
6 changes: 5 additions & 1 deletion AMD/MATLAB/amd_make.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,12 @@
% web: http://www.cise.ufl.edu/research/sparse/amd
% --------------------------------------------------------------------------

if (~isempty (strfind (computer, '64')))
error ('64-bit version not yet supported') ;
end

i = sprintf ('-I..%sInclude -I..%s..%sUFconfig', filesep, filesep, filesep) ;
cmd = sprintf ('mex -inline -O -output amd %s amd_mex.c', i) ;
cmd = sprintf ('mex -inline -O -output amd2 %s amd_mex.c', i) ;
files = {'amd_order', 'amd_dump', 'amd_postorder', 'amd_post_tree', ...
'amd_aat', 'amd_2', 'amd_1', 'amd_defaults', 'amd_control', ...
'amd_info', 'amd_valid', 'amd_global', 'amd_preprocess' } ;
Expand Down
8 changes: 5 additions & 3 deletions AMD/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ Quick start (for MATLAB users);

To compile, test, and install the AMD mexFunction, cd to the
AMD/MATLAB directory and type amd_make at the MATLAB prompt.
This works on any system supported by MATLAB.

NOTE: DO NOT ATTEMPT TO USE THIS CODE IN 64-BIT MATLAB (v7.3).
It is not yet ported to that version of MATLAB.

-------------------------------------------------------------------------------

Expand Down Expand Up @@ -194,9 +196,9 @@ Files and directories in the AMD distribution:
GNUmakefile a nice Makefile, for GNU make
Makefile an ugly Unix Makefile (for older make's)

Contents.m for "help amd" listing of toolbox contents
Contents.m for "help amd2" listing of toolbox contents

amd.m MATLAB help file for AMD
amd2.m MATLAB help file for AMD
amd_make.m MATLAB m-file for compiling AMD mexFunction

amd_mex.c AMD mexFunction for MATLAB
Expand Down
4 changes: 4 additions & 0 deletions CAMD/Doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Sept 28, 2006, v2.1.2

* #define SIZE_T_MAX not done if already defined (Mac OSX).

Aug 31, 2006: v2.1.1

* trivial change to comments in camd.m
Expand Down
3 changes: 2 additions & 1 deletion CAMD/Include/camd.h
Original file line number Diff line number Diff line change
Expand Up @@ -405,10 +405,11 @@ void camd_l_info (double Info [ ]) ;
* #endif
*/

#define CAMD_DATE "June 27, 2006"
#define CAMD_DATE "Sept 28, 2006"
#define CAMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
#define CAMD_MAIN_VERSION 2
#define CAMD_SUB_VERSION 1
#define CAMD_SUBSUB_VERSION 2
#define CAMD_VERSION CAMD_VERSION_CODE(CAMD_MAIN_VERSION,CAMD_SUB_VERSION)

#ifdef __cplusplus
Expand Down
2 changes: 2 additions & 0 deletions CAMD/Include/camd_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,9 @@
#define NULL 0

/* largest value of size_t */
#ifndef SIZE_T_MAX
#define SIZE_T_MAX ((size_t) (-1))
#endif

/* ------------------------------------------------------------------------- */
/* integer type for CAMD: int or UF_long */
Expand Down
4 changes: 4 additions & 0 deletions CAMD/MATLAB/camd_make.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
% web: http://www.cise.ufl.edu/research/sparse/camd
% --------------------------------------------------------------------------

if (~isempty (strfind (computer, '64')))
error ('64-bit version not yet supported') ;
end

i = sprintf ('-I..%sInclude -I..%s..%sUFconfig', filesep, filesep, filesep) ;
cmd = sprintf ('mex -inline -O -output camd %s camd_mex.c', i) ;
files = {'camd_order', 'camd_dump', 'camd_postorder', ...
Expand Down
4 changes: 3 additions & 1 deletion CAMD/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ Quick start (for MATLAB users);

To compile, test, and install the CAMD mexFunction, cd to the
CAMD/MATLAB directory and type camd_make at the MATLAB prompt.
This works on any system supported by MATLAB.

NOTE: DO NOT ATTEMPT TO USE THIS CODE IN 64-BIT MATLAB (v7.3).
It is not yet ported to that version of MATLAB.

-------------------------------------------------------------------------------

Expand Down
3 changes: 3 additions & 0 deletions CCOLAMD/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ Other "make" targets:
libccolamd.a
make distclean removes all files not in the distribution

NOTE: DO NOT ATTEMPT TO USE THIS CODE IN 64-BIT MATLAB (v7.3).
It is not yet ported to that version of MATLAB.

To use ccolamd and csymamd within an application written in C, all you need are
colamd.c and colamd.h, which are the C-callable ccolamd/csymamd codes.
See ccolamd.c for more information on how to call ccolamd from a C program.
Expand Down
2 changes: 1 addition & 1 deletion CHOLMOD/Check/cholmod_check.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/* ========================================================================== */

/* -----------------------------------------------------------------------------
* CHOLMOD/Check Module. Version 1.2. Copyright (C) 2005-2006, Timothy A. Davis
* CHOLMOD/Check Module. Version 1.3. Copyright (C) 2005-2006, Timothy A. Davis
* The CHOLMOD/Check Module is licensed under Version 2.1 of the GNU
* Lesser General Public License. See lesser.txt for a text of the license.
* CHOLMOD is also available under other licenses; contact authors for details.
Expand Down
Loading

0 comments on commit 88fb6ae

Please sign in to comment.