[SciPy-dev] Tri-diagonal LAPACK Routines - Shall I interface them?

Simon Clift ssclift at gmail.com
Fri Dec 4 19:52:37 EST 2009


On Wednesday 02 December 2009 15:48:53 David Warde-Farley wrote:
> On 2-Dec-09, at 3:43 AM, Benny Malengier wrote:
> > would be a type of sparse matrix one can manipulate. T
> Note that converting to CSR and then adding elements would probably be
> an inefficient way to do it.  

Yes, a tridiagonal matrix usually arises from 1D problems and finite 
differences for advection diffusion problems (which I need to solve).  Usually 
those kind of Newtonian problems are positive definite so you can LU factorize 
without pivoting.  My problem is particularly well conditioned, so I'm 
interested in that, done at top speed.

Banded usually arises from 2D,3D finite differences on regular grids.  That 
structure lends itself to multiplying out bands using vector routines.  That 
can be particularly efficient when you are building linear systems where the 
coefficients are changing or non-linear.

CSR is most useful on irregular grids, as already noted.

Each has got its use and changing formats, especially if the problems are 
large and time is of the essence, is usually a bad idea.

-- 
1129 Ibbetson Lane
Mississauga, Ontario
L5C 1K9       Canada



More information about the SciPy-Dev mailing list