~ubuntu-branches/ubuntu/oneiric/suitesparse/oneiric

« back to all changes in this revision

Viewing changes to CXSparse/README.txt

  • Committer: Bazaar Package Importer
  • Author(s): Nick Ellery
  • Date: 2009-06-14 19:15:52 UTC
  • mfrom: (7.2.2 sid)
  • Revision ID: james.westby@ubuntu.com-20090614191552-2hliya5q8n1quseu
Tags: 1:3.4.0-1ubuntu1
* Merge from debian unstable, remaining changes (LP: #387137):
  - debian/control:
    - demote libatlas-doc from recommends to suggests as it is not in main
    - drop recommends on doc-central as it is not in main

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
CXSparse: a Concise Sparse Matrix package - Extended.
2
 
Version 2.2.0, Copyright (c) 2006-2007, Timothy A. Davis.
 
2
Version 2.2.3, Copyright (c) 2006-2007, Timothy A. Davis.
3
3
Derived from CSparse.  Conversion originally by David Bateman, Motorola,
4
4
and then modified by Tim Davis.  ANSI C99 is required, with support for
5
5
the _Complex data type.
39
39
Each CXSparse function has a generic version with the same name as the CSparse
40
40
function, and four type-specific versions.  For example:
41
41
 
42
 
    cs_add      same as cs_add_di by default, but can be changed to use UF_long
43
 
                integers if user code is compiled with -DCS_LONG, and/or can
44
 
                be changed to operate on complex matrices with -DCS_COMPLEX.
 
42
    cs_add      same as cs_add_di by default, but can be changed to use UF_long
 
43
                integers if user code is compiled with -DCS_LONG, and/or can
 
44
                be changed to operate on complex matrices with -DCS_COMPLEX.
45
45
 
46
 
    cs_di_add   double/int version of cs_add
47
 
    cs_dl_add   double/UF_long version of cs_add
48
 
    cs_ci_add   complex/int version of cs_add
49
 
    cs_cl_add   complex/UF_long version of cs_add
 
46
    cs_di_add   double/int version of cs_add
 
47
    cs_dl_add   double/UF_long version of cs_add
 
48
    cs_ci_add   complex/int version of cs_add
 
49
    cs_cl_add   complex/UF_long version of cs_add
50
50
 
51
51
The sparse matrix data structures are treated in the same way:  cs, css,
52
52
csn, and csd become cs_di, cs_dis, cs_din, and cs_did for the double/int case,
58
58
Several macros are available in CXSparse (but not in CSparse) to allow user
59
59
code to be written in a type-generic manner:
60
60
 
61
 
    CS_INT      int by default, UF_long if -DCS_LONG compiler flag is used
62
 
    CS_ENTRY    double by default, double complex if -DCS_COMPLEX flag is used.
63
 
    CS_ID       "%d" or "%ld", for printf and scanf of the CS_INT type.
64
 
    CS_INT_MAX  INT_MAX or LONG_MAX, the largest possible value of CS_INT.
65
 
    CS_REAL(x)  x or creal(x)
66
 
    CS_IMAG(x)  0 or cimag(x)
67
 
    CS_CONJ(x)  x or conj(x)
68
 
    CS_ABS(x)   fabs(x) or cabs(x)
 
61
    CS_INT      int by default, UF_long if -DCS_LONG compiler flag is used
 
62
    CS_ENTRY    double by default, double complex if -DCS_COMPLEX flag is used.
 
63
    CS_ID       "%d" or "%ld", for printf and scanf of the CS_INT type.
 
64
    CS_INT_MAX  INT_MAX or LONG_MAX, the largest possible value of CS_INT.
 
65
    CS_REAL(x)  x or creal(x)
 
66
    CS_IMAG(x)  0 or cimag(x)
 
67
    CS_CONJ(x)  x or conj(x)
 
68
    CS_ABS(x)   fabs(x) or cabs(x)
69
69
 
70
70
Even the name of the include file (cs.h) is the same.  To use CXSparse instead
71
71
of CSparse, simply compile with -ICXSparse/Source instead of -ICSparse/Source,
74
74
To determine at compile time if CXSparse or CSparse is being used:
75
75
 
76
76
    #ifdef CXSPARSE
77
 
        CXSparse is in use.  The generic functions equivalent to CSparse may
78
 
        be used (cs_add, etc).  These generic functions can use different
79
 
        types, depending on the -DCS_LONG and -DCS_COMPLEX compile flags, with
80
 
        the default being double/int.  The type-specific functions and data
81
 
        types (cs_di_add, cs_di, CS_INT, etc.) can be used.
 
77
        CXSparse is in use.  The generic functions equivalent to CSparse may
 
78
        be used (cs_add, etc).  These generic functions can use different
 
79
        types, depending on the -DCS_LONG and -DCS_COMPLEX compile flags, with
 
80
        the default being double/int.  The type-specific functions and data
 
81
        types (cs_di_add, cs_di, CS_INT, etc.) can be used.
82
82
    #else
83
 
        CSparse is in use.  Only the generic functions "cs_add", etc., are
84
 
        available, and they are of type double/int.
 
83
        CSparse is in use.  Only the generic functions "cs_add", etc., are
 
84
        available, and they are of type double/int.
85
85
    #endif
86
86
 
87
87
See cs.h for the prototypes of each function, and the book "Direct Methods
102
102
Contents:
103
103
--------------------------------------------------------------------------------
104
104
 
105
 
Demo/           demo C programs that use CXSparse
106
 
Doc/            license and change log
107
 
Makefile        Makefile for the whole package
108
 
MATLAB/         MATLAB interface, demos, and tests for CXSparse
109
 
Matrix/         sample matrices (with extra complex matrices for CXSparse)
110
 
README.txt      this file
111
 
Source/         primary CXSparse source files
112
 
Tcov/           CXSparse tests
113
 
 
114
 
--------------------------------------------------------------------------------
115
 
./Doc:          license and change log
116
 
--------------------------------------------------------------------------------
117
 
 
118
 
ChangeLog       changes in CSparse since first release
119
 
lesser.txt      the GNU LGPL
120
 
License.txt     license (GNU LGPL)
121
 
 
122
 
--------------------------------------------------------------------------------
123
 
./Source:       Primary source code for CXSparse
124
 
--------------------------------------------------------------------------------
125
 
 
126
 
cs_add.c        add sparse matrices
127
 
cs_amd.c        approximate minimum degree
128
 
cs_chol.c       sparse Cholesky
129
 
cs_cholsol.c    x=A\b using sparse Cholesky
130
 
cs_compress.c   convert a compress form to compressed-column form
131
 
cs_counts.c     column counts for Cholesky and QR
132
 
cs_convert.c    convert real to complex and complex to real (not in CSparse)
133
 
cs_cumsum.c     cumulative sum
134
 
cs_dfs.c        depth-first-search
135
 
cs_dmperm.c     Dulmage-Mendelsohn permutation
136
 
cs_droptol.c    drop small entries from a sparse matrix
137
 
cs_dropzeros.c  drop zeros from a sparse matrix
138
 
cs_dupl.c       remove (and sum) duplicates
139
 
cs_entry.c      add an entry to a triplet matrix
140
 
cs_ereach.c     nonzero pattern of Cholesky L(k,:) from etree and triu(A(:,k))
141
 
cs_etree.c      find elimination tree
142
 
cs_fkeep.c      drop entries from a sparse matrix
143
 
cs_gaxpy.c      sparse matrix times dense matrix
144
 
cs.h            include file for CXSparse
145
 
cs_happly.c     apply Householder reflection
146
 
cs_house.c      Householder reflection (*** NOTE: different algo. from CSparse)
147
 
cs_ipvec.c      x(p)=b
148
 
cs_leaf.c       determine if j is a leaf of the skeleton matrix and find lca
149
 
cs_load.c       load a sparse matrix from a file
150
 
cs_lsolve.c     x=L\b
151
 
cs_ltsolve.c    x=L'\b
152
 
cs_lu.c         sparse LU factorization
153
 
cs_lusol.c      x=A\b using sparse LU factorization
154
 
cs_malloc.c     memory manager
155
 
cs_maxtrans.c   maximum transveral (permutation for zero-free diagonal)
156
 
cs_multiply.c   sparse matrix multiply
157
 
cs_norm.c       sparse matrix norm
158
 
cs_permute.c    permute a sparse matrix
159
 
cs_pinv.c       invert a permutation vector
160
 
cs_post.c       postorder an elimination tree
161
 
cs_print.c      print a sparse matrix
162
 
cs_pvec.c       x=b(p)
163
 
cs_qr.c         sparse QR
164
 
cs_qrsol.c      solve a least-squares problem
165
 
cs_randperm.c   random permutation
166
 
cs_reach.c      find nonzero pattern of x=L\b for sparse L and b
167
 
cs_scatter.c    scatter a sparse vector
168
 
cs_scc.c        strongly-connected components
169
 
cs_schol.c      symbolic Cholesky
170
 
cs_spsolve.c    x=Z\b where Z, x, and b are sparse, and Z upper/lower triangular
171
 
cs_sqr.c        symbolic QR (also can be used for LU)
172
 
cs_symperm.c    symmetric permutation of a sparse matrix
173
 
cs_tdfs.c       depth-first-search of a tree
174
 
cs_transpose.c  transpose a sparse matrix
175
 
cs_updown.c     sparse rank-1 Cholesky update/downate
176
 
cs_usolve.c     x=U\b
177
 
cs_util.c       various utilities (allocate/free matrices, workspace, etc)
178
 
cs_utsolve.c    x=U'\b
179
 
Makefile        Makefile for CXSparse
180
 
README.txt      README file for CXSparse
181
 
 
182
 
--------------------------------------------------------------------------------
183
 
./Demo:         C program demos
184
 
--------------------------------------------------------------------------------
185
 
 
186
 
cs_ci_demo1.c   complex/int version of cs_demo1.c
187
 
cs_ci_demo2.c   complex/int version of cs_demo2.c
188
 
cs_ci_demo3.c   complex/int version of cs_demo3.c
189
 
cs_ci_demo.c    complex/int version of cs_demo.c
190
 
cs_ci_demo.h    complex/int version of cs_demo.h
191
 
 
192
 
cs_cl_demo1.c   complex/UF_long version of cs_demo1.c
193
 
cs_cl_demo2.c   complex/UF_long version of cs_demo2.c
194
 
cs_cl_demo3.c   complex/UF_long version of cs_demo3.c
195
 
cs_cl_demo.c    complex/UF_long version of cs_demo.c
196
 
cs_cl_demo.h    complex/UF_long version of cs_demo.h
197
 
 
198
 
cs_demo1.c      read a matrix from a file and perform basic matrix operations
199
 
cs_demo2.c      read a matrix from a file and solve a linear system
200
 
cs_demo3.c      read a matrix, solve a linear system, update/downdate
201
 
cs_demo.c       support routines for cs_demo*.c
202
 
cs_demo.h       include file for demo programs
203
 
 
204
 
cs_demo.out     output of "make", which runs the demos on some matrices
205
 
 
206
 
cs_di_demo1.c   double/int version of cs_demo1.c
207
 
cs_di_demo2.c   double/int version of cs_demo2.c
208
 
cs_di_demo3.c   double/int version of cs_demo3.c
209
 
cs_di_demo.c    double/int version of cs_demo.c
210
 
cs_di_demo.h    double/int version of cs_demo.h
211
 
 
212
 
cs_dl_demo1.c   double/UF_long version of cs_demo1.c
213
 
cs_dl_demo2.c   double/UF_long version of cs_demo2.c
214
 
cs_dl_demo3.c   double/UF_long version of cs_demo3.c
215
 
cs_dl_demo.c    double/UF_long version of cs_demo.c
216
 
cs_dl_demo.h    double/UF_long version of cs_demo.h
217
 
 
218
 
cs_idemo.c      convert real matrices to/from complex (int version)
219
 
cs_ldemo.c      convert real matrices to/from complex (UF_long version)
220
 
 
221
 
Makefile        Makefile for Demo programs
222
 
readhb.f        read a Rutherford-Boeing matrix (real matrices only)
223
 
README.txt      Demo README file
224
 
 
225
 
--------------------------------------------------------------------------------
226
 
./MATLAB:       MATLAB interface, demos, and tests
227
 
--------------------------------------------------------------------------------
228
 
 
229
 
cs_install.m    MATLAB function for compiling and installing CSparse for MATLAB
230
 
CSparse/        MATLAB interface for CSparse
231
 
Demo/           MATLAB demos for CSparse
232
 
Makefile        MATLAB interface Makefile
233
 
README.txt      MATLAB README file
234
 
Test/           MATLAB test for CSparse, and "textbook" routines
235
 
UFget/          MATLAB interface to UF Sparse Matrix Collection
 
105
Demo/           demo C programs that use CXSparse
 
106
Doc/            license and change log
 
107
Makefile        Makefile for the whole package
 
108
MATLAB/         MATLAB interface, demos, and tests for CXSparse
 
109
Matrix/         sample matrices (with extra complex matrices for CXSparse)
 
110
README.txt      this file
 
111
Source/         primary CXSparse source files
 
112
Tcov/           CXSparse tests
 
113
 
 
114
--------------------------------------------------------------------------------
 
115
./Doc:          license and change log
 
116
--------------------------------------------------------------------------------
 
117
 
 
118
ChangeLog       changes in CSparse since first release
 
119
lesser.txt      the GNU LGPL
 
120
License.txt     license (GNU LGPL)
 
121
 
 
122
--------------------------------------------------------------------------------
 
123
./Source:       Primary source code for CXSparse
 
124
--------------------------------------------------------------------------------
 
125
 
 
126
cs_add.c        add sparse matrices
 
127
cs_amd.c        approximate minimum degree
 
128
cs_chol.c       sparse Cholesky
 
129
cs_cholsol.c    x=A\b using sparse Cholesky
 
130
cs_compress.c   convert a compress form to compressed-column form
 
131
cs_counts.c     column counts for Cholesky and QR
 
132
cs_convert.c    convert real to complex and complex to real (not in CSparse)
 
133
cs_cumsum.c     cumulative sum
 
134
cs_dfs.c        depth-first-search
 
135
cs_dmperm.c     Dulmage-Mendelsohn permutation
 
136
cs_droptol.c    drop small entries from a sparse matrix
 
137
cs_dropzeros.c  drop zeros from a sparse matrix
 
138
cs_dupl.c       remove (and sum) duplicates
 
139
cs_entry.c      add an entry to a triplet matrix
 
140
cs_ereach.c     nonzero pattern of Cholesky L(k,:) from etree and triu(A(:,k))
 
141
cs_etree.c      find elimination tree
 
142
cs_fkeep.c      drop entries from a sparse matrix
 
143
cs_gaxpy.c      sparse matrix times dense matrix
 
144
cs.h            include file for CXSparse
 
145
cs_happly.c     apply Householder reflection
 
146
cs_house.c      Householder reflection (*** NOTE: different algo. from CSparse)
 
147
cs_ipvec.c      x(p)=b
 
148
cs_leaf.c       determine if j is a leaf of the skeleton matrix and find lca
 
149
cs_load.c       load a sparse matrix from a file
 
150
cs_lsolve.c     x=L\b
 
151
cs_ltsolve.c    x=L'\b
 
152
cs_lu.c         sparse LU factorization
 
153
cs_lusol.c      x=A\b using sparse LU factorization
 
154
cs_malloc.c     memory manager
 
155
cs_maxtrans.c   maximum transveral (permutation for zero-free diagonal)
 
156
cs_multiply.c   sparse matrix multiply
 
157
cs_norm.c       sparse matrix norm
 
158
cs_permute.c    permute a sparse matrix
 
159
cs_pinv.c       invert a permutation vector
 
160
cs_post.c       postorder an elimination tree
 
161
cs_print.c      print a sparse matrix
 
162
cs_pvec.c       x=b(p)
 
163
cs_qr.c         sparse QR
 
164
cs_qrsol.c      solve a least-squares problem
 
165
cs_randperm.c   random permutation
 
166
cs_reach.c      find nonzero pattern of x=L\b for sparse L and b
 
167
cs_scatter.c    scatter a sparse vector
 
168
cs_scc.c        strongly-connected components
 
169
cs_schol.c      symbolic Cholesky
 
170
cs_spsolve.c    x=Z\b where Z, x, and b are sparse, and Z upper/lower triangular
 
171
cs_sqr.c        symbolic QR (also can be used for LU)
 
172
cs_symperm.c    symmetric permutation of a sparse matrix
 
173
cs_tdfs.c       depth-first-search of a tree
 
174
cs_transpose.c  transpose a sparse matrix
 
175
cs_updown.c     sparse rank-1 Cholesky update/downate
 
176
cs_usolve.c     x=U\b
 
177
cs_util.c       various utilities (allocate/free matrices, workspace, etc)
 
178
cs_utsolve.c    x=U'\b
 
179
Makefile        Makefile for CXSparse
 
180
README.txt      README file for CXSparse
 
181
 
 
182
--------------------------------------------------------------------------------
 
183
./Demo:         C program demos
 
184
--------------------------------------------------------------------------------
 
185
 
 
186
cs_ci_demo1.c   complex/int version of cs_demo1.c
 
187
cs_ci_demo2.c   complex/int version of cs_demo2.c
 
188
cs_ci_demo3.c   complex/int version of cs_demo3.c
 
189
cs_ci_demo.c    complex/int version of cs_demo.c
 
190
cs_ci_demo.h    complex/int version of cs_demo.h
 
191
 
 
192
cs_cl_demo1.c   complex/UF_long version of cs_demo1.c
 
193
cs_cl_demo2.c   complex/UF_long version of cs_demo2.c
 
194
cs_cl_demo3.c   complex/UF_long version of cs_demo3.c
 
195
cs_cl_demo.c    complex/UF_long version of cs_demo.c
 
196
cs_cl_demo.h    complex/UF_long version of cs_demo.h
 
197
 
 
198
cs_demo1.c      read a matrix from a file and perform basic matrix operations
 
199
cs_demo2.c      read a matrix from a file and solve a linear system
 
200
cs_demo3.c      read a matrix, solve a linear system, update/downdate
 
201
cs_demo.c       support routines for cs_demo*.c
 
202
cs_demo.h       include file for demo programs
 
203
 
 
204
cs_demo.out     output of "make", which runs the demos on some matrices
 
205
 
 
206
cs_di_demo1.c   double/int version of cs_demo1.c
 
207
cs_di_demo2.c   double/int version of cs_demo2.c
 
208
cs_di_demo3.c   double/int version of cs_demo3.c
 
209
cs_di_demo.c    double/int version of cs_demo.c
 
210
cs_di_demo.h    double/int version of cs_demo.h
 
211
 
 
212
cs_dl_demo1.c   double/UF_long version of cs_demo1.c
 
213
cs_dl_demo2.c   double/UF_long version of cs_demo2.c
 
214
cs_dl_demo3.c   double/UF_long version of cs_demo3.c
 
215
cs_dl_demo.c    double/UF_long version of cs_demo.c
 
216
cs_dl_demo.h    double/UF_long version of cs_demo.h
 
217
 
 
218
cs_idemo.c      convert real matrices to/from complex (int version)
 
219
cs_ldemo.c      convert real matrices to/from complex (UF_long version)
 
220
 
 
221
Makefile        Makefile for Demo programs
 
222
readhb.f        read a Rutherford-Boeing matrix (real matrices only)
 
223
README.txt      Demo README file
 
224
 
 
225
--------------------------------------------------------------------------------
 
226
./MATLAB:       MATLAB interface, demos, and tests
 
227
--------------------------------------------------------------------------------
 
228
 
 
229
cs_install.m    MATLAB function for compiling and installing CSparse for MATLAB
 
230
CSparse/        MATLAB interface for CSparse
 
231
Demo/           MATLAB demos for CSparse
 
232
Makefile        MATLAB interface Makefile
 
233
README.txt      MATLAB README file
 
234
Test/           MATLAB test for CSparse, and "textbook" routines
 
235
UFget/          MATLAB interface to UF Sparse Matrix Collection
236
236
 
237
237
 
238
238
--------------------------------------------------------------------------------
239
239
./MATLAB/CSparse:   MATLAB interface for CSparse
240
240
--------------------------------------------------------------------------------
241
241
 
242
 
Contents.m          Contents of MATLAB interface to CSparse
243
 
cs_add.m            add two sparse matrices
 
242
Contents.m          Contents of MATLAB interface to CSparse
 
243
cs_add.m            add two sparse matrices
244
244
cs_add_mex.c
245
 
cs_amd.m            approximate minimum degree
 
245
cs_amd.m            approximate minimum degree
246
246
cs_amd_mex.c
247
 
cs_chol.m           sparse Cholesky
 
247
cs_chol.m           sparse Cholesky
248
248
cs_chol_mex.c
249
 
cs_cholsol.m        x=A\b using a sparse Cholesky
 
249
cs_cholsol.m        x=A\b using a sparse Cholesky
250
250
cs_cholsol_mex.c
251
 
cs_counts.m         column counts for Cholesky or QR (like "symbfact" in MATLAB)
 
251
cs_counts.m         column counts for Cholesky or QR (like "symbfact" in MATLAB)
252
252
cs_counts_mex.c
253
 
cs_dmperm.m         Dulmage-Mendelsohn permutation
 
253
cs_dmperm.m         Dulmage-Mendelsohn permutation
254
254
cs_dmperm_mex.c
255
 
cs_dmsol.m          x=A\b using dmperm
256
 
cs_dmspy.m          plot a picture of a dmperm-permuted matrix
257
 
cs_droptol.m        drop small entries
 
255
cs_dmsol.m          x=A\b using dmperm
 
256
cs_dmspy.m          plot a picture of a dmperm-permuted matrix
 
257
cs_droptol.m        drop small entries
258
258
cs_droptol_mex.c
259
 
cs_esep.m           find edge separator
260
 
cs_etree.m          compute elimination tree
 
259
cs_esep.m           find edge separator
 
260
cs_etree.m          compute elimination tree
261
261
cs_etree_mex.c
262
 
cs_gaxpy.m          sparse matrix times dense vector
 
262
cs_gaxpy.m          sparse matrix times dense vector
263
263
cs_gaxpy_mex.c
264
 
cs_lsolve.m         x=L\b where L is lower triangular
 
264
cs_lsolve.m         x=L\b where L is lower triangular
265
265
cs_lsolve_mex.c
266
 
cs_ltsolve.m        x=L'\b where L is lower triangular
 
266
cs_ltsolve.m        x=L'\b where L is lower triangular
267
267
cs_ltsolve_mex.c
268
 
cs_lu.m             sparse LU factorization
 
268
cs_lu.m             sparse LU factorization
269
269
cs_lu_mex.c
270
 
cs_lusol.m          x=A\b using sparse LU factorization
 
270
cs_lusol.m          x=A\b using sparse LU factorization
271
271
cs_lusol_mex.c
272
 
cs_make.m           compiles CSparse for use in MATLAB
273
 
cs_mex.c            support routines for CSparse mexFunctions
 
272
cs_make.m           compiles CSparse for use in MATLAB
 
273
cs_mex.c            support routines for CSparse mexFunctions
274
274
cs_mex.h
275
 
cs_multiply.m       sparse matrix multiply
 
275
cs_multiply.m       sparse matrix multiply
276
276
cs_multiply_mex.c
277
277
cs_must_compile.m   determine if a source file needs to be compiled with mex
278
 
cs_nd.m             nested dissection
279
 
cs_nsep.m           find node separator
280
 
cs_permute.m        permute a sparse matrix
 
278
cs_nd.m             nested dissection
 
279
cs_nsep.m           find node separator
 
280
cs_permute.m        permute a sparse matrix
281
281
cs_permute_mex.c
282
 
cs_print.m          print a sparse matrix
 
282
cs_print.m          print a sparse matrix
283
283
cs_print_mex.c
284
 
cs_qleft.m          apply Householder vectors to the left
285
 
cs_qright.m         apply Householder vectors to the right
286
 
cs_qr.m             sparse QR factorization
 
284
cs_qleft.m          apply Householder vectors to the left
 
285
cs_qright.m         apply Householder vectors to the right
 
286
cs_qr.m             sparse QR factorization
287
287
cs_qr_mex.c
288
 
cs_qrsol.m          solve a sparse least squares problem
 
288
cs_qrsol.m          solve a sparse least squares problem
289
289
cs_qrsol_mex.c
290
 
cs_randperm.m       randdom permutation
 
290
cs_randperm.m       randdom permutation
291
291
cs_randperm_mex.c
292
 
cs_scc.m            strongly-connected components
 
292
cs_scc.m            strongly-connected components
293
293
cs_scc_mex.c
294
 
cs_sep.m            convert an edge separator into a node separator
295
 
cs_sparse.m         convert a triplet form matrix to a compress-column form
 
294
cs_sep.m            convert an edge separator into a node separator
 
295
cs_sparse.m         convert a triplet form matrix to a compress-column form
296
296
cs_sparse_mex.c
297
 
cs_symperm.m        symmetric permutation of a sparse matrix
 
297
cs_symperm.m        symmetric permutation of a sparse matrix
298
298
cs_symperm_mex.c
299
 
cs_sqr.m            symbolic QR ordering and analysis
 
299
cs_sqr.m            symbolic QR ordering and analysis
300
300
cs_sqr_mex.c
301
 
cs_thumb_mex.c      compute small "thumbnail" of a sparse matrix (for cspy).
302
 
cs_transpose.m      transpose a sparse matrix
 
301
cs_thumb_mex.c      compute small "thumbnail" of a sparse matrix (for cspy).
 
302
cs_transpose.m      transpose a sparse matrix
303
303
cs_transpose_mex.c
304
 
cs_updown.m         sparse Cholesky update/downdate
 
304
cs_updown.m         sparse Cholesky update/downdate
305
305
cs_updown_mex.c
306
 
cs_usolve.m         x=U\b where U is upper triangular 
 
306
cs_usolve.m         x=U\b where U is upper triangular 
307
307
cs_usolve_mex.c
308
 
cs_utsolve.m        x=U'\b where U is upper triangular 
 
308
cs_utsolve.m        x=U'\b where U is upper triangular 
309
309
cs_utsolve_mex.c
310
 
cspy.m              a color "spy"
311
 
Makefile            Makefile for CSparse MATLAB interface
312
 
README.txt          README file for CSparse MATLAB interface
313
 
 
314
 
 
315
 
--------------------------------------------------------------------------------
316
 
./MATLAB/Demo:      MATLAB demos for CSparse
317
 
--------------------------------------------------------------------------------
318
 
 
319
 
Contents.m          Contents of MATLAB demo for CSparse
320
 
cs_demo.m           run all MATLAB demos for CSparse
321
 
cs_demo1.m          MATLAB version of Demo/cs_demo1.c
322
 
cs_demo2.m          MATLAB version of Demo/cs_demo2.c
323
 
cs_demo3.m          MATLAB version of Demo/cs_demo3.c
324
 
private/            private functions for MATLAB demos
325
 
README.txt          README file for CSparse MATLAB demo
 
310
cspy.m              a color "spy"
 
311
Makefile            Makefile for CSparse MATLAB interface
 
312
README.txt          README file for CSparse MATLAB interface
 
313
 
 
314
 
 
315
--------------------------------------------------------------------------------
 
316
./MATLAB/Demo:      MATLAB demos for CSparse
 
317
--------------------------------------------------------------------------------
 
318
 
 
319
Contents.m          Contents of MATLAB demo for CSparse
 
320
cs_demo.m           run all MATLAB demos for CSparse
 
321
cs_demo1.m          MATLAB version of Demo/cs_demo1.c
 
322
cs_demo2.m          MATLAB version of Demo/cs_demo2.c
 
323
cs_demo3.m          MATLAB version of Demo/cs_demo3.c
 
324
private/            private functions for MATLAB demos
 
325
README.txt          README file for CSparse MATLAB demo
326
326
 
327
327
 
328
328
--------------------------------------------------------------------------------
329
329
./MATLAB/Demo/private: private functions for MATLAB demos
330
330
--------------------------------------------------------------------------------
331
331
 
332
 
demo2.m             demo 2
333
 
demo3.m             demo 3
334
 
ex_1.m              example 1
335
 
ex2.m               example 2
336
 
ex3.m               example 3
337
 
frand.m             generate a random finite-element matrix
338
 
get_problem.m       get a matrix
339
 
is_sym.m            determine if a matrix is symmetric
340
 
mesh2d1.m           construct a 2D mesh (method 1)
341
 
mesh2d2.m           construct a 2D mesh (method 2)
342
 
mesh3d1.m           construct a 3D mesh (method 1)
343
 
mesh3d2.m           construct a 3D mesh (method 2)
344
 
print_order.m       print the ordering method used
345
 
resid.m             compute residual
346
 
rhs.m               create right-hand-side
347
 
 
348
 
 
349
 
--------------------------------------------------------------------------------
350
 
./MATLAB/Test:      Extensive test of CSparse, in MATLAB
351
 
--------------------------------------------------------------------------------
352
 
 
353
 
Makefile            Makefile for MATLAB Test directory
354
 
README.txt          README file for MATLAB/Test
355
 
Contents.m          Contents of MATLAB/Test, "textbook" files only
 
332
demo2.m             demo 2
 
333
demo3.m             demo 3
 
334
ex_1.m              example 1
 
335
ex2.m               example 2
 
336
ex3.m               example 3
 
337
frand.m             generate a random finite-element matrix
 
338
get_problem.m       get a matrix
 
339
is_sym.m            determine if a matrix is symmetric
 
340
mesh2d1.m           construct a 2D mesh (method 1)
 
341
mesh2d2.m           construct a 2D mesh (method 2)
 
342
mesh3d1.m           construct a 3D mesh (method 1)
 
343
mesh3d2.m           construct a 3D mesh (method 2)
 
344
print_order.m       print the ordering method used
 
345
resid.m             compute residual
 
346
rhs.m               create right-hand-side
 
347
 
 
348
 
 
349
--------------------------------------------------------------------------------
 
350
./MATLAB/Test:      Extensive test of CSparse, in MATLAB
 
351
--------------------------------------------------------------------------------
 
352
 
 
353
Makefile            Makefile for MATLAB Test directory
 
354
README.txt          README file for MATLAB/Test
 
355
Contents.m          Contents of MATLAB/Test, "textbook" files only
356
356
 
357
357
chol_downdate.m     downdate a Cholesky factorization.
358
358
chol_left.m         left-looking Cholesky factorization.
376
376
qr_givens_full.m    Givens-rotation QR factorization, for full matrices.
377
377
qr_left.m           left-looking Householder QR factorization.
378
378
qr_right.m          right-looking Householder QR factorization.
379
 
cs_fiedler.m        Fiedler vector
 
379
cs_fiedler.m        Fiedler vector
380
380
 
381
381
cs_frand.m          generate a random finite-element matrix
382
382
cs_frand_mex.c
385
385
cs_maxtransr.m      recursive maximum matching algorithm
386
386
cs_maxtransr_mex.c
387
387
cs_pvec.m           x=b(p)
388
 
cs_pvec_mex.c       interface for cs_pvec
 
388
cs_pvec_mex.c       interface for cs_pvec
389
389
cs_reach.m          non-recursive reach (interface to CSparse cs_reach)
390
 
cs_reach_mex.c      non-recursive x=spones(L\sparse(b))
 
390
cs_reach_mex.c      non-recursive x=spones(L\sparse(b))
391
391
cs_reachr.m         recursive reach (interface to CSparse cs_reachr)
392
392
cs_reachr_mex.c
393
393
cs_rowcnt.m         row counts for sparse Cholesky
394
 
cs_rowcnt_mex.c     row counts for sparse Cholesky
 
394
cs_rowcnt_mex.c     row counts for sparse Cholesky
395
395
cs_sparse2.m        same as cs_sparse, to test cs_entry function
396
396
cs_sparse2_mex.c    like cs_sparse, but for testing cs_entry
397
397
 
398
 
cs_test_make.m      compiles MATLAB tests
 
398
cs_test_make.m      compiles MATLAB tests
399
399
 
400
400
check_if_same.m     check if two inputs are identical or not
401
401
choldn.m            Cholesky downdate
456
456
 
457
457
 
458
458
--------------------------------------------------------------------------------
459
 
./MATLAB/UFget:     MATLAB interface for the UF Sparse Matrix Collection
 
459
./MATLAB/UFget:     MATLAB interface for the UF Sparse Matrix Collection
460
460
--------------------------------------------------------------------------------
461
461
 
462
 
Contents.m          Contents of UFget
463
 
mat/                default directory where downloaded matrices will be put
464
 
README.txt          README file for UFget
 
462
Contents.m          Contents of UFget
 
463
mat/                default directory where downloaded matrices will be put
 
464
README.txt          README file for UFget
465
465
UFget_defaults.m    default parameter settings
466
 
UFget_example.m     example of use
467
 
UFget_install.m     installs UFget temporarily (for current session)
 
466
UFget_example.m     example of use
 
467
UFget_install.m     installs UFget temporarily (for current session)
468
468
UFget_java.class    read a url and load it in into MATLAB (compiled Java code)
469
 
UFget_java.java     read a url and load it in into MATLAB (Java source code)
470
 
UFget_lookup.m      look up a matrix in the index
471
 
UFget.m             UFget itself (primary user interface)
472
 
UFweb.m             open url for a matrix or collection
 
469
UFget_java.java     read a url and load it in into MATLAB (Java source code)
 
470
UFget_lookup.m      look up a matrix in the index
 
471
UFget.m             UFget itself (primary user interface)
 
472
UFweb.m             open url for a matrix or collection
473
473
mat/UF_Index.mat    index of matrices in UF Sparse Matrix Collection
474
474
 
475
475
 
476
476
--------------------------------------------------------------------------------
477
 
./Matrix:           Sample matrices, most from Rutherford/Boeing collection
478
 
--------------------------------------------------------------------------------
479
 
 
480
 
ash219              overdetermined pattern of Holland survey.  Ashkenazi, 1974.
481
 
bcsstk01            stiffness matrix for small generalized eigenvalue problem
482
 
bcsstk16            stiffness matrix, Corp of Engineers dam
483
 
fs_183_1            unsymmetric facsimile convergence matrix
484
 
lp_afiro            NETLIB afiro linear programming problem
485
 
mbeacxc             US economy, 1972.  Dan Szyld, while at NYU
486
 
t1                  small example used in Chapter 2
487
 
west0067            Cavett problem with 5 components (chemical eng., Westerberg)
488
 
 
489
 
c_mbeacxc           complex version of mbeacxc
490
 
c_west0067          complex version of west0067
491
 
mhd1280b            Alfven spectra in magnetohydrodynamics (complex)
492
 
neumann             complex matrix
493
 
qc324               model of H+ in an electromagnetic field (complex)
494
 
t2                  small complex matrix
495
 
t3                  small complex matrix
496
 
t4                  small complex matrix
497
 
c4                  small complex matrix
498
 
young1c             aeronautical problem (complex matrix)
499
 
 
500
 
--------------------------------------------------------------------------------
501
 
./Tcov:             Exhaustive test coverage of CXSparse
502
 
--------------------------------------------------------------------------------
503
 
 
504
 
covall              same as covall.linux
505
 
covall.linux        find coverage (Linux)
506
 
covall.sol          find coverage (Solaris)
507
 
cov.awk             coverage summary
508
 
cover               print uncovered lines
509
 
covs                print uncovered lines
 
477
./Matrix:           Sample matrices, most from Rutherford/Boeing collection
 
478
--------------------------------------------------------------------------------
 
479
 
 
480
ash219              overdetermined pattern of Holland survey.  Ashkenazi, 1974.
 
481
bcsstk01            stiffness matrix for small generalized eigenvalue problem
 
482
bcsstk16            stiffness matrix, Corp of Engineers dam
 
483
fs_183_1            unsymmetric facsimile convergence matrix
 
484
lp_afiro            NETLIB afiro linear programming problem
 
485
mbeacxc             US economy, 1972.  Dan Szyld, while at NYU
 
486
t1                  small example used in Chapter 2
 
487
west0067            Cavett problem with 5 components (chemical eng., Westerberg)
 
488
 
 
489
c_mbeacxc           complex version of mbeacxc
 
490
c_west0067          complex version of west0067
 
491
mhd1280b            Alfven spectra in magnetohydrodynamics (complex)
 
492
neumann             complex matrix
 
493
qc324               model of H+ in an electromagnetic field (complex)
 
494
t2                  small complex matrix
 
495
t3                  small complex matrix
 
496
t4                  small complex matrix
 
497
c4                  small complex matrix
 
498
young1c             aeronautical problem (complex matrix)
 
499
 
 
500
--------------------------------------------------------------------------------
 
501
./Tcov:             Exhaustive test coverage of CXSparse
 
502
--------------------------------------------------------------------------------
 
503
 
 
504
covall              same as covall.linux
 
505
covall.linux        find coverage (Linux)
 
506
covall.sol          find coverage (Solaris)
 
507
cov.awk             coverage summary
 
508
cover               print uncovered lines
 
509
covs                print uncovered lines
510
510
cstcov_malloc_test.c    malloc test
511
511
cstcov_malloc_test.h
512
 
cstcov_test.c       main program for Tcov tests
513
 
gcovs               run gcov (Linux)
514
 
Makefile            Makefile for Tcov tests
515
 
nil                 an empty matrix
516
 
zero                a 1-by-1 zero matrix
517
 
czero               a 1-by-1 complex zero matrix
518
 
README.txt          README file for Tcov directory
 
512
cstcov_test.c       main program for Tcov tests
 
513
gcovs               run gcov (Linux)
 
514
Makefile            Makefile for Tcov tests
 
515
nil                 an empty matrix
 
516
zero                a 1-by-1 zero matrix
 
517
czero               a 1-by-1 complex zero matrix
 
518
README.txt          README file for Tcov directory
519
519
 
520
520
 
521
521
--------------------------------------------------------------------------------
535
535
    * back-port to MATLAB 7.2 and earlier (which does not have mwIndex).
536
536
 
537
537
    * more graceful failure in cs_make when attempting complex matrix support
538
 
        (Windows, in particular)
 
538
        (Windows, in particular)
539
539
 
540
540
    * correction to CXSparse/Demo/Makefile
541
541
 
546
546
    * MATLAB interface added for CXSparse.
547
547
 
548
548
    * cs_complex_t type added (a #define for "double _Complex", which is the
549
 
        complex type used in CXSparse 2.0.x).  When compiling with a C++ 
550
 
        compiler, the std::compex<double> type is used for the complex case.
 
549
        complex type used in CXSparse 2.0.x).  When compiling with a C++ 
 
550
        compiler, the std::compex<double> type is used for the complex case.
551
551
 
552
552
    * bug fix in complex sparse Cholesky (cs_chol.c).
553
553
 
556
556
    * bug fix in cs_symperm for the complex case.
557
557
 
558
558
    * "beta" changed from complex to real, in sparse QR (cs_house.c,
559
 
        cs_happly.c, cs_qr.c), (a performance/memory improvement, not a
560
 
        bug fix).  Similar change to "nz2" in cs_cumsum.c.
 
559
        cs_happly.c, cs_qr.c), (a performance/memory improvement, not a
 
560
        bug fix).  Similar change to "nz2" in cs_cumsum.c.
561
561
 
562
562
May 5, 2006.  Version 2.0.1 released.
563
563
 
564
564
    * long changed to UF_long, dependency in ../UFconfig/UFconfig.h added.
565
 
        "UF_long" is a #define'd term in UFconfig.h.  It is normally defined
566
 
        as "long", but can be redefined as something else if desired.
567
 
        On Windows-64, it becomes __int64.
 
565
        "UF_long" is a #define'd term in UFconfig.h.  It is normally defined
 
566
        as "long", but can be redefined as something else if desired.
 
567
        On Windows-64, it becomes __int64.
568
568
 
569
569
Mar 6, 2006
570
570