178 lines
6.4 KiB
Plaintext
Raw Normal View History

2025-01-12 00:52:51 +08:00
CAMD, Copyright (c) 2007-2022, Timothy A. Davis, Yanqing Chen, Patrick R.
Amestoy, and Iain S. Duff. All Rights Reserved.
SPDX-License-Identifier: BSD-3-clause
CAMD: a set of routines for permuting sparse matrices prior to
factorization. Includes a version in C, a version in Fortran, and a MATLAB
mexFunction.
Requires SuiteSparse_config, in the ../SuiteSparse_config directory relative to
this directory.
Quick start (Linux or MacOSX):
To compile and install the library for system-wide usage:
make
sudo make install
To compile/install for local usage (SuiteSparse/lib and SuiteSparse/include)
make local
make install
To run the demos
make demos
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.
-------------------------------------------------------------------------------
CAMD License: refer to CAMD/Doc/License.txt
Availability:
http://www.suitesparse.com
-------------------------------------------------------------------------------
This is the CAMD README file. It is a terse overview of CAMD.
Refer to the User Guide (Doc/CAMD_UserGuide.pdf) for how to install
and use CAMD.
Description:
CAMD is a set of routines for pre-ordering sparse matrices prior to Cholesky
or LU factorization, using the approximate minimum degree ordering
algorithm with optional ordering constraints. Written in ANSI/ISO C with
a MATLAB interface.
Authors:
Timothy A. Davis (DrTimothyAldenDavis@gmail.com)
Patrick R. Amestory, ENSEEIHT, Toulouse, France.
Iain S. Duff, Rutherford Appleton Laboratory, UK.
Acknowledgements:
This work was supported by the National Science Foundation, under
grants DMS-9504974, DMS-9803599, and CCR-0203270.
Portions of this work were done while on sabbatical at Stanford University
and Lawrence Berkeley National Laboratory (with funding from the SciDAC
program). I would like to thank Gene Golub, Esmond Ng, and Horst Simon
for making this sabbatical possible.
-------------------------------------------------------------------------------
Files and directories in the CAMD distribution:
-------------------------------------------------------------------------------
---------------------------------------------------------------------------
Subdirectories of the CAMD directory:
---------------------------------------------------------------------------
Doc documentation
Source primary source code
Include include file for use in your code that calls CAMD
Demo demo programs. also serves as test of the CAMD installation.
MATLAB CAMD mexFunction for MATLAB, and supporting m-files
build where the compiled libraries and demos are placed
Config source file to construct camd.h
---------------------------------------------------------------------------
Files in the CAMD directory:
---------------------------------------------------------------------------
Makefile a very simple Makefile (optional); just for simplifying cmake
CMakeLists.txt cmake script for building CAMD
README.txt this file
---------------------------------------------------------------------------
Doc directory: documentation
---------------------------------------------------------------------------
ChangeLog change log
License.txt the CAMD License
Makefile for creating the documentation
CAMD_UserGuide.bib CAMD User Guide (references)
CAMD_UserGuide.tex CAMD User Guide (LaTeX)
CAMD_UserGuide.pdf CAMD User Guide (PDF)
docdiff tools for comparing CAMD with AMD
cdiff
camd.sed
---------------------------------------------------------------------------
Source directory:
---------------------------------------------------------------------------
camd_order.c user-callable, primary CAMD ordering routine
camd_control.c user-callable, prints the control parameters
camd_defaults.c user-callable, sets default control parameters
camd_info.c user-callable, prints the statistics from CAMD
camd_1.c non-user-callable, construct A+A'
camd_2.c user-callable, primary ordering kernel
(a C version of camd.f and camdbar.f, with
post-ordering added)
camd_aat.c non-user-callable, computes nnz (A+A')
camd_dump.c non-user-callable, debugging routines
camd_postorder.c non-user-callable, postorder
camd_valid.c non-user-callable, verifies a matrix
camd_preprocess.c non-user-callable, computes A', removes duplic
camd_l* same as above, but with int64_t integers
---------------------------------------------------------------------------
Include directory:
---------------------------------------------------------------------------
camd.h include file for C programs that use CAMD
camd_internal.h non-user-callable, include file for CAMD
---------------------------------------------------------------------------
Demo directory:
---------------------------------------------------------------------------
Makefile to compile the demos
camd_demo.c C demo program for CAMD
camd_demo.out output of camd_demo.c
camd_demo2.c C demo program for CAMD, jumbled matrix
camd_demo2.out output of camd_demo2.c
camd_l_demo.c C demo program for CAMD (int64_t version)
camd_l_demo.out output of camd_l_demo.c
camd_simple.c simple C demo program for CAMD
camd_simple.out output of camd_simple.c
---------------------------------------------------------------------------
MATLAB directory:
---------------------------------------------------------------------------
Contents.m for "help camd" listing of toolbox contents
camd.m MATLAB help file for CAMD
camd_make.m MATLAB m-file for compiling CAMD mexFunction
camd_install.m compile and install CAMD mexFunctions
camd_mex.c CAMD mexFunction for MATLAB
camd_demo.m MATLAB demo for CAMD
camd_demo.m.out diary output of camd_demo.m
can_24.mat input file for CAMD demo
---------------------------------------------------------------------------
build directory: libcamd.a and libcamd.so library placed here
---------------------------------------------------------------------------
.gitignore only file in the original distribution