Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Looking for a sparse-matrix template-based C++ library

Path: g2news2.google.com!news4.google.com!news.glorb.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: "Jugoslav Dujic" <jdu...@yahoo.com>
Newsgroups: sci.math.num-analysis
Subject: Looking for a sparse-matrix template-based C++ library
Date: Tue, 3 Oct 2006 18:06:13 +0200
Lines: 44
Message-ID: <4ofg4dFeephvU1@individual.net>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Trace: individual.net /xn9TtZAowAYNstxF5mUVAmM2Dj9hyrHIWSFzpa5eiY6bzhvZH
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180

Apologies if this is off-topic, but it's certainly off-topic in
comp.lang.c++ (you know...), so...

I'm looking for a C++ library for solving sparse linear equations
systems with the following properties:

1) Ideally, it would be template (and/or STL)-based so that the
   interfaces are easy to write, read and debug
2) having a free license
3) reasonably fast and stable
4) containing a symmetric linear LU or QR solver (iterative ones 
   are also fine, but they might be an overkill for the use)

I'd really like to hear some recommendations before I proceed
(I can kind of glue some of the ones below, but I'd rather not
reinvent the wheel).

So far, I've found:

http://math.nist.gov/spblas/ - NIST sparse BLAS. Powerful, fast, a bit 
 ugly interface (heck, 5 arguments for a matrix/vector multiplication,
 and reuse of input storage for output, but that is wrappable). However,
 it doesn't contain symmetric solvers, only triangular ones.

http://math.nist.gov/sparselib++ - Older SparseLib++ package (not maintained).
  Arcane to build and difficult to port; has a LU solver based on a 
  "home-grown BLAS" routines (quote from the source). The ugliest thing 
  about it is really awkward filling of matrices; it doesn't do any dynamic
  storage (std::vector or like) within, so to add an element to the matrix
  after the painful construction is a pain++.
 
http://math.nist.gov/iml++/ - Didn't look at it in detail, but iterative
  methods kind of scared me, plus SparseLib++ is a requirement.

http://www.cise.ufl.edu/research/sparse/umfpack/ - unsymmetric, non-template,
  difficult to build. Didn't really look at it.

-- 
 Jugoslav
___________
www.xeffort.com

Please reply to the newsgroup.
You can find my real e-mail on my home page above.