[Shootout-list] Science-related benchmarks

Sebastien Loisel Sebastien Loisel <sloisel@gmail.com>
Wed, 27 Apr 2005 11:03:25 +0200


> > something multi-dimensional involving either LU, sparse LU or GMRES
> > and other algorithms.
>=20
> Excellent. Where can I find more details on these?

LU http://mathworld.wolfram.com/LUDecomposition.html
They don't describe how to get the L and the U on that page, the
method is derived from
http://mathworld.wolfram.com/GaussianElimination.html. Sparse matrix:
http://www.nist.gov/dads/HTML/sparsematrix.html. Sparse LU is a
version of LU that tries to avoid "desparsification" (aka fill-up.)

GMRES: http://mathworld.wolfram.com/GeneralizedMinimalResidualMethod.html
is the same as CG:
http://mathworld.wolfram.com/ConjugateGradientMethod.html if the
matrix is symmetric positive definite.

These methods are typically used inside of implicit integrators
http://www.xmds.org/documentation/html/node71.html for PDEs
http://mathworld.wolfram.com/PartialDifferentialEquation.html. If the
PDE is linear, the LU/CG/GMRES linear solve takes care of the
implicitness. If the PDE is nonlinear, a fixed point iteration or
newton iteration is used; each step if the iteration requires a linear
solve. The matrix of a PDE is often sparse.

Such linear solvers are also needed for certain large differential
algebraic equations that occur, for instance, in simulating rigid body
dynamics (http://ode.org/). A DAE in this context is a differential
equation of the form M(t,u)u'=3Df(t,u) where M(t,u) is some matrix. The
matrix of an ODE is sometimes full (as opposed to sparse.)

So I'd like to write either an implicit PDE solver or a simplified
rigid body simulator.

> In addition to polymorphism, I'd like to see implementations of solutions
> which naturally use higher-order functions (e.g. Newton-Raphson). This is

My intended tests (including implicitode) use that kind of stuff.

> > I don't think they'd be faster, but the algorithm would be more
> > representative of a real algorithm.
>=20
> We'll have to disagree here. In my work, my optimisations are almost alwa=
ys

Hey? I was saying it was unlikely for people to render the snowball
flake, and more likely for them to render some grassy knoll, for which
you'd use hierarchical bounding volumes.

Sebastien Loisel