[eigen] Organization of the sparse module(s) |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: [eigen] Organization of the sparse module(s)
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Fri, 4 Nov 2011 15:30:47 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; bh=1rsE2JH7CJ4Z0uCRpgsF4E3dRIVVMYfwVB7n4juRH08=; b=wXZd5idouzx8oWEncRQmZiOwVnPDMIkPUiVbFMtpHENfQ/SqnfFQq0IxqchyVXHB8d 9UsdpfcMCV8OLBd7pT54M+wdcDyBiQVqDNOU4nf+BnRyB3CoyNAABxdpp3IhfdgftjKM cU4bgqHkEfBspXkPRqf7sEpnlRRPrXyBI81/E=
Hi,
I'm in the process of moving the few sparse solvers currently spread
in the unsupported folder into official Eigen/ folder. So the question
is about the granularity of the module I'll create for that. For
consistency reason, the Sparse module should include everything that
is related to sparse and built-in. "Support" modules have to stay into
isolated modules. Here is the list of features with a proposal for an
organization:
* SparseCore *
- representation, manipulation,
- coefficient-wise operations, products (sparse-sparse, sparse-dense,
sparse-permutation),
- triangular solvers
- ordering methods (currently AMD=approximate minimum degree only)
* SimplicialFactorizations *
- direct LLT and LDLt decompositions and solving for SPD sparse matrices,
- two classes: SimplicialLLt and SimplicialLDLt
- future: direct simplicial LU and QR factorization and solver
* IterativeLinearSolvers *
- ConjugateGradient (Iterative solver for Ax=b with A SPD)
- BiCGSTAB (Iterative solver for A square)
- Basic preconditioners:
- IdentityPreconditioner
- DiagonalPreconditioner (= Jacobi preconditioner)
- future: SSOR, ILUT
Three support modules:
* SuperLUSupport *
* CholmodSupport *
* UmfPackSupport *
future: MumpsSupport, PastixSupport, MetisSupport, ScotchSupport, etc.
Future could add some new modules:
* ConstrainedLinearSolvers *
- for both dense and sparse worlds
* <a generic word for multifrontal and supernodal>Factorizations *
- Fast direct LLt and LU factorizations based on supernodes or
multifrontal approaches (automatically make use of dense matrix
operations)
Any opinion about this granularity? Another options for the direct
solvers would be to organize them into three modules:
DirectSparseCholesky, DirectSparseLU, DirectSparseQR.
cheers,
gael