|[eigen] Sparse module updates|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: [eigen] Sparse module updates
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Fri, 18 Jun 2010 11:05:29 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:from:date :message-id:subject:to:content-type; bh=OvoKlzAsZCcoGyOo//6bAxKkPOnUaRGskux+vfdV7Vg=; b=d829afjzhN7z8ActZdhvSCM1etGLq4MqmnkY1TtsmYf1DtOTjWMNFxQqm3mlGWozGs GLoK3zGS3qczI7RKS5A5UjaFBF5mCD24WJfJyOdWn54XhUAAEy0CcLZ9QzISXm9aQdd1 X/1WQChPJ4Gnukt4DkgbfuGocT4eYqU/frGMI=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=FUL0RpEizrM6rUlCYTJM6gayarQKuiB1eihxS+qtzj+RuMHLTcL2AIpDj7v9ksJBwa nx7QEeF/wONQyNSKQDE4z4VL5dJdTMAXVtmYVmqmZE3aBq7zYF3tJjp58N5hD/B9nRYI pUy/g50uG7VPaGIhFlvXKkojU9UahzG2JeUxc=
this is a message for all users of the Sparse module of the devel
branch. As you probably noticed the Sparse module still requires some
significant effort to reach a high API quality. Instead of delaying it
for the 3.1 release, I moved all the parts which are far to be ready
to an "unsupported" SparseExtra module to then focus on polishing what
remains in Sparse/. The goal is to make crystal clear what is likely
to change in the future to what will be considered API stable from
3.0. Currently, the SparseExtra module contains:
- the RandomSetter mechanism
- the home made LLT and LDLT direct decompositions
Moreover each backend has been moved into its own module. They are
all in unsupported/ too.
In practice, if you want to closely follow the devel branch, you
simply have to add the eigen/unsupported path to your include
directories and #include some of the following files according to your
There is no preprocessor token like EIGEN_CHOLMOD_SUPPORT anymore.
This new way to enable support for a given external library is cleaner
and more scalable.
So basically, in the Sparse module it only remains the storage classes
and all the basic linear algebra features.
In the near future I still authorize ourself to do all kind of API
changes to the Sparse module until 3.0-beta2, and then do only bug
fixes between beta2 and the 3.0.0 release. If we are lucky we might
even consider to re-introduce some solvers. Let's see.
So, if your current snapshot works for you it might be safer to stick
with it until the 3.0 release.
In the future, all the direct solvers and backends are very likely to
be significantly rewritten. To ease the transition I plane to keep the
old ones for some times.