README.txt 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. LDL Copyright (c) 2005-2012 by Timothy A. Davis. http://www.suitesparse.com
  2. LDL: a sparse LDL' factorization and solve package.
  3. Written in C, with both a C and MATLAB mexFunction interface.
  4. These routines are not terrifically fast (they do not use dense matrix kernels),
  5. but the code is very short and concise. The purpose is to illustrate the
  6. algorithms in a very concise and readable manner, primarily for educational
  7. purposes. Although the code is very concise, this package is slightly faster
  8. than the built-in sparse Cholesky factorization in MATLAB 6.5 (chol), when
  9. using the same input permutation.
  10. Requires SuiteSparse_config, in the ../SuiteSparse_config directory relative to
  11. this directory.
  12. Quick start (Unix, or Windows with Cygwin):
  13. To compile, test, and install LDL, you may wish to first obtain a copy of
  14. AMD v2.0 from http://www.suitesparse.com and place it in the
  15. ../AMD directory, relative to this directory. Next, type "make", which
  16. will compile the LDL library and three demo main programs (one of which
  17. requires AMD). It will also compile the LDL MATLAB mexFunction (if you
  18. have MATLAB). Typing "make clean" will remove non-essential files.
  19. AMD v2.0 or later is required. Its use is optional.
  20. Quick start (for MATLAB users);
  21. To compile, test, and install the LDL mexFunctions (ldlsparse and
  22. ldlsymbol), start MATLAB in this directory and type ldl_install.
  23. This works on any system supported by MATLAB.
  24. --------------------------------------------------------------------------------
  25. LDL License:
  26. Your use or distribution of LDL or any modified version of
  27. LDL implies that you agree to this License.
  28. This library is free software; you can redistribute it and/or
  29. modify it under the terms of the GNU Lesser General Public
  30. License as published by the Free Software Foundation; either
  31. version 2.1 of the License, or (at your option) any later version.
  32. This library is distributed in the hope that it will be useful,
  33. but WITHOUT ANY WARRANTY; without even the implied warranty of
  34. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  35. Lesser General Public License for more details.
  36. You should have received a copy of the GNU Lesser General Public
  37. License along with this library; if not, write to the Free Software
  38. Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
  39. USA
  40. Permission is hereby granted to use or copy this program under the
  41. terms of the GNU LGPL, provided that the Copyright, this License,
  42. and the Availability of the original version is retained on all copies.
  43. User documentation of any code that uses this code or any modified
  44. version of this code must cite the Copyright, this License, the
  45. Availability note, and "Used by permission." Permission to modify
  46. the code and to distribute modified code is granted, provided the
  47. Copyright, this License, and the Availability note are retained,
  48. and a notice that the code was modified is included.
  49. Availability:
  50. http://www.suitesparse.com
  51. Acknowledgements:
  52. This work was supported by the National Science Foundation, under
  53. grant CCR-0203270.
  54. Portions of this work were done while on sabbatical at Stanford University
  55. and Lawrence Berkeley National Laboratory (with funding from the SciDAC
  56. program). I would like to thank Gene Golub, Esmond Ng, and Horst Simon
  57. for making this sabbatical possible. I would like to thank Pete Stewart
  58. for his comments on a draft of this software and paper.
  59. --------------------------------------------------------------------------------
  60. Files and directories in this distribution:
  61. --------------------------------------------------------------------------------
  62. Documentation, and compiling:
  63. README.txt this file
  64. Makefile for compiling LDL
  65. ChangeLog changes since V1.0 (Dec 31, 2003)
  66. License license
  67. lesser.txt the GNU LGPL license
  68. ldl_userguide.pdf user guide in PDF
  69. ldl_userguide.ps user guide in postscript
  70. ldl_userguide.tex user guide in Latex
  71. ldl.bib bibliography for user guide
  72. The LDL library itself:
  73. ldl.c the C-callable routines
  74. ldl.h include file for any code that calls LDL
  75. A simple C main program that demonstrates how to use LDL:
  76. ldlsimple.c a stand-alone C program, uses the basic features of LDL
  77. ldlsimple.out output of ldlsimple
  78. ldllsimple.c long integer version of ldlsimple.c
  79. Demo C program, for testing LDL and providing an example of its use
  80. ldlmain.c a stand-alone C main program that uses and tests LDL
  81. Matrix a directory containing matrices used by ldlmain.c
  82. ldlmain.out output of ldlmain
  83. ldlamd.out output of ldlamd (ldlmain.c compiled with AMD)
  84. ldllamd.out output of ldllamd (ldlmain.c compiled with AMD, long)
  85. MATLAB-related, not required for use in a regular C program
  86. Contents.m a list of the MATLAB-callable routines
  87. ldl.m MATLAB help file for the LDL mexFunction
  88. ldldemo.m MATLAB demo of how to use the LDL mexFunction
  89. ldldemo.out diary output of ldldemo
  90. ldltest.m to test the LDL mexFunction
  91. ldltest.out diary output of ldltest
  92. ldlmex.c the LDL mexFunction for MATLAB
  93. ldlrow.m the numerical algorithm that LDL is based on
  94. ldlmain2.m compiles and runs ldlmain.c as a MATLAB mexFunction
  95. ldlmain2.out output of ldlmain2.m
  96. ldlsymbolmex.c symbolic factorization using LDL (see SYMBFACT, ETREE)
  97. ldlsymbol.m help file for the LDLSYMBOL mexFunction
  98. ldl_install.m compile, install, and test LDL functions
  99. ldl_make.m compile LDL (ldlsparse and ldlsymbol)
  100. ldlsparse.m help for ldlsparse
  101. See ldl.c for a description of how to use the code from a C program. Type
  102. "help ldl" in MATLAB for information on how to use LDL in a MATLAB program.