Rev 1820 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
LDL Version 1.2: a sparse LDL' factorization and solve package.Written in C, with both a C and MATLAB mexFunction interface.These routines are not terrifically fast (they do not use dense matrix kernels),but the code is very short and concise. The purpose is to illustrate thealgorithms in a very concise and readable manner, primarily for educationalpurposes. Although the code is very concise, this package is slightly fasterthan the built-in sparse Cholesky factorization in MATLAB 6.5 (chol), whenusing the same input permutation.Quick start (Unix, or Windows with Cygwin):To compile, test, and install LDL, you may wish to first obtain a copy ofAMD from http://www.cise.ufl.edu/research/sparse, and place it in the../AMD directory, relative to this directory. Next, type "make", whichwill compile the LDL library and three demo main programs (one of whichrequires AMD). It will also compile the LDL MATLAB mexFunction (if youhave MATLAB). Typing "make clean" will remove non-essential files.Quick start (for MATLAB users);To compile, test, and install the LDL mexFunction, start MATLAB in thisdirectory and type ldldemo and/or ldltest. This works on any systemsupported by MATLAB.--------------------------------------------------------------------------------LDL Version 1.2 (Aug. 30, 2005), Copyright (c) 2005 by Timothy A. Davis.All Rights Reserved.LDL License:Your use or distribution of LDL or any modified version ofLDL implies that you agree to this License.This library is free software; you can redistribute it and/ormodify it under the terms of the GNU Lesser General PublicLicense as published by the Free Software Foundation; eitherversion 2.1 of the License, or (at your option) any later version.This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNULesser General Public License for more details.You should have received a copy of the GNU Lesser General PublicLicense along with this library; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301USAPermission is hereby granted to use or copy this program under theterms of the GNU LGPL, provided that the Copyright, this License,and the Availability of the original version is retained on all copies.User documentation of any code that uses this code or any modifiedversion of this code must cite the Copyright, this License, theAvailability note, and "Used by permission." Permission to modifythe code and to distribute modified code is granted, provided theCopyright, this License, and the Availability note are retained,and a notice that the code was modified is included.Availability:http://www.cise.ufl.edu/research/sparse/ldlAcknowledgements:This work was supported by the National Science Foundation, undergrant CCR-0203270.Portions of this work were done while on sabbatical at Stanford Universityand Lawrence Berkeley National Laboratory (with funding from the SciDACprogram). I would like to thank Gene Golub, Esmond Ng, and Horst Simonfor making this sabbatical possible. I would like to thank Pete Stewartfor his comments on a draft of this software and paper.--------------------------------------------------------------------------------Files and directories in this distribution:--------------------------------------------------------------------------------Documentation, and compiling:README this fileMakefile for compiling LDLChangeLog changes since V1.0 (Dec 31, 2003)lesser.txt the GNU LGPL licenseldl_userguide.pdf user guide in PDFldl_userguide.ps user guide in postscriptldl_userguide.tex user guide in Latexldl.bib bibliography for user guideThe LDL library itself:ldl.c the C-callable routinesldl.h include file for any code that calls LDLA simple C main program that demonstrates how to use LDL:ldlsimple.c a stand-alone C program, uses the basic features of LDLldlsimple.out output of ldlsimpleDemo C program, for testing LDL and providing an example of its useldlmain.c a stand-alone C main program that uses and tests LDLMatrix a directory containing 12 matrices used by ldlmain.cldlmain.out output of ldlmainldlamd.out output of ldlamd (ldlmain.c compiled with AMD v1.2)MATLAB-related, not required for use in a regular C programContents.m a list of the MATLAB-callable routinesldl.m MATLAB help file for the LDL mexFunctionldldemo.m MATLAB demo of how to use the LDL mexFunctionldldemo.out diary output of ldldemoldltest.m to test the LDL mexFunctionldltest.out diary output of ldltestldlmex.c the LDL mexFunction for MATLABldlrow.m the numerical algorithm that LDL is based onldlmain2.m compiles and runs ldlmain.c as a MATLAB mexFunctionldlmain2.out output of ldlmain2.mldlsymbolmex.c symbolic factorization using LDL (see SYMBFACT, ETREE)ldlsymbol.m help file for the LDLSYMBOL mexFunctionSee ldl.c for a description of how to use the code from a C program. Type"help ldl" in MATLAB for information on how to use LDL in a MATLAB program.