Refining
an approximate inverse, R. Bridson and W.-P. Tang,
Journal on Computational and Applied Math, 123 (2000), Numerical
Analysis 2000 vol. III: Linear Algebra, pp. 293-306.
Note: if you are interested in becoming a graduate student at UBC, check out
our prospective graduate students page.
You will have to apply to the department/university, not to me directly.
All files in this section are in the public domain unless otherwise indicated.
Many of my or my group's projects use a variety of files from a "common" directory: not
exactly a proper library, but a collection of occasionally very useful files for C++ hacking.
Some of the more stable members are available in the public domain here:
Here are some more specific projects, organized by topic:
Linear Algebra and Optimization
maxmin1.tar.gz, a very simple program for solving tiny linear max-min problems (a variant of simplex for LP).
Quern, a sparse QR library for direct and iterative solvers.
KKTDirect, a direct solver package for saddle-point matrices.
MPCG, MATLAB source for the multi-preconditioned conjugate gradient algorithm.
ainvInC.tar.bz2, a C implementation of "matrix-free" SAINV, a factored approximate inverse preconditioner which doesn't require a matrix, only a linear operator.
sainvmex.tar.bz2, a CMEX version of SAINV, callable from MATLAB (but with the speed of admittedly unoptimized C)
etree_balance.m, a MATLAB m-file for postordering a symmetric-structure sparse matrix to give a balanced (minimum height) elimination tree.
etree_unbalance.m, a MATLAB m-file for postordering a symmetric-structure sparse matrix to give an unbalanced elimination tree.
imatrix.m, a MATLAB m-file for converting a matrix into an I-matrix (all entries bounded by 1 in magnitude and with unit diagonal).
metismex.c, a MATLAB CMEX interface to the Metis graph partitioning and matrix ordering library. (Note: somewhat out of date - probably won't compile with newer versions of Metis)
Geometry
Tunicate, a library of robust computational geometry predicates in floating point.
El Topo, a robust surface tracking library that maintains an untangled high quality triangle mesh even in the face of topological changes.
Surfacing (listen to this with Otis Redding's
"Sittin' on the Dock of the Bay" playing)
Here's source code for a simple 2D fluid simulator I wrote for a course project once.
I did a hectic project involving digital sculpting, environment map acquisition from
uncalibrated photos, fast ray-tracing of micro-facet textured level sets, and compositing
(producing images like this) for the
Stanford cs348b rendering
competition.