103
103
--------------------------------------------------------------------------------
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)
111
Source/ primary CXSparse source files
114
--------------------------------------------------------------------------------
115
./Doc: license and change log
116
--------------------------------------------------------------------------------
118
ChangeLog changes in CSparse since first release
119
lesser.txt the GNU LGPL
120
License.txt license (GNU LGPL)
122
--------------------------------------------------------------------------------
123
./Source: Primary source code for CXSparse
124
--------------------------------------------------------------------------------
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)
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
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
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
177
cs_util.c various utilities (allocate/free matrices, workspace, etc)
179
Makefile Makefile for CXSparse
180
README.txt README file for CXSparse
182
--------------------------------------------------------------------------------
183
./Demo: C program demos
184
--------------------------------------------------------------------------------
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
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
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
204
cs_demo.out output of "make", which runs the demos on some matrices
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
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
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)
221
Makefile Makefile for Demo programs
222
readhb.f read a Rutherford-Boeing matrix (real matrices only)
223
README.txt Demo README file
225
--------------------------------------------------------------------------------
226
./MATLAB: MATLAB interface, demos, and tests
227
--------------------------------------------------------------------------------
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)
111
Source/ primary CXSparse source files
114
--------------------------------------------------------------------------------
115
./Doc: license and change log
116
--------------------------------------------------------------------------------
118
ChangeLog changes in CSparse since first release
119
lesser.txt the GNU LGPL
120
License.txt license (GNU LGPL)
122
--------------------------------------------------------------------------------
123
./Source: Primary source code for CXSparse
124
--------------------------------------------------------------------------------
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)
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
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
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
177
cs_util.c various utilities (allocate/free matrices, workspace, etc)
179
Makefile Makefile for CXSparse
180
README.txt README file for CXSparse
182
--------------------------------------------------------------------------------
183
./Demo: C program demos
184
--------------------------------------------------------------------------------
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
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
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
204
cs_demo.out output of "make", which runs the demos on some matrices
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
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
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)
221
Makefile Makefile for Demo programs
222
readhb.f read a Rutherford-Boeing matrix (real matrices only)
223
README.txt Demo README file
225
--------------------------------------------------------------------------------
226
./MATLAB: MATLAB interface, demos, and tests
227
--------------------------------------------------------------------------------
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
238
238
--------------------------------------------------------------------------------
239
239
./MATLAB/CSparse: MATLAB interface for CSparse
240
240
--------------------------------------------------------------------------------
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
245
cs_amd.m approximate minimum degree
245
cs_amd.m approximate minimum degree
247
cs_chol.m sparse Cholesky
247
cs_chol.m sparse Cholesky
249
cs_cholsol.m x=A\b using a sparse Cholesky
249
cs_cholsol.m x=A\b using a sparse Cholesky
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)
253
cs_dmperm.m Dulmage-Mendelsohn permutation
253
cs_dmperm.m Dulmage-Mendelsohn permutation
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
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
262
cs_gaxpy.m sparse matrix times dense vector
262
cs_gaxpy.m sparse matrix times dense vector
264
cs_lsolve.m x=L\b where L is lower triangular
264
cs_lsolve.m x=L\b where L is lower triangular
266
cs_ltsolve.m x=L'\b where L is lower triangular
266
cs_ltsolve.m x=L'\b where L is lower triangular
268
cs_lu.m sparse LU factorization
268
cs_lu.m sparse LU factorization
270
cs_lusol.m x=A\b using sparse LU factorization
270
cs_lusol.m x=A\b using sparse LU factorization
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
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
282
cs_print.m print a sparse matrix
282
cs_print.m print a sparse matrix
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
288
cs_qrsol.m solve a sparse least squares problem
288
cs_qrsol.m solve a sparse least squares problem
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
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
297
cs_symperm.m symmetric permutation of a sparse matrix
297
cs_symperm.m symmetric permutation of a sparse matrix
299
cs_sqr.m symbolic QR ordering and analysis
299
cs_sqr.m symbolic QR ordering and analysis
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
306
cs_usolve.m x=U\b where U is upper triangular
306
cs_usolve.m x=U\b where U is upper triangular
308
cs_utsolve.m x=U'\b where U is upper triangular
308
cs_utsolve.m x=U'\b where U is upper triangular
311
Makefile Makefile for CSparse MATLAB interface
312
README.txt README file for CSparse MATLAB interface
315
--------------------------------------------------------------------------------
316
./MATLAB/Demo: MATLAB demos for CSparse
317
--------------------------------------------------------------------------------
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
311
Makefile Makefile for CSparse MATLAB interface
312
README.txt README file for CSparse MATLAB interface
315
--------------------------------------------------------------------------------
316
./MATLAB/Demo: MATLAB demos for CSparse
317
--------------------------------------------------------------------------------
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
328
328
--------------------------------------------------------------------------------
329
329
./MATLAB/Demo/private: private functions for MATLAB demos
330
330
--------------------------------------------------------------------------------
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
349
--------------------------------------------------------------------------------
350
./MATLAB/Test: Extensive test of CSparse, in MATLAB
351
--------------------------------------------------------------------------------
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
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
349
--------------------------------------------------------------------------------
350
./MATLAB/Test: Extensive test of CSparse, in MATLAB
351
--------------------------------------------------------------------------------
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
357
357
chol_downdate.m downdate a Cholesky factorization.
358
358
chol_left.m left-looking Cholesky factorization.
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
--------------------------------------------------------------------------------
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
476
476
--------------------------------------------------------------------------------
477
./Matrix: Sample matrices, most from Rutherford/Boeing collection
478
--------------------------------------------------------------------------------
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)
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)
500
--------------------------------------------------------------------------------
501
./Tcov: Exhaustive test coverage of CXSparse
502
--------------------------------------------------------------------------------
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
--------------------------------------------------------------------------------
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)
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)
500
--------------------------------------------------------------------------------
501
./Tcov: Exhaustive test coverage of CXSparse
502
--------------------------------------------------------------------------------
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
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
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
521
521
--------------------------------------------------------------------------------