|
Ublas : |
Subject: [ublas] [bindings] Lapack solve interface
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2009-01-22 05:15:24
Dear all,
with 98% of the driver and ~80% of the computational routines passing
compiler inspection (this means a couple more changes to
http://www.terborg.net/bindings_20090120.zip), I would like to propose that
we start with defining an interfaces for lapack problems, one at a time,
starting with solve for linear equations (should this include
Please find attached a first rough draft for routine dispatching as could be
done in solve.hpp. To make this really work it will take some more time,
e.g., improving support for banded/packed matrices in the matrix_traits
classes, in the generator script, keeping track of which routines actually
need workspaces, etc..
I have started to look at the simple driver routines, considering the
following bindings with their arguments
gesv: A, B, IPIV
gbsv: A, B, IPIV
gtsv: A, B
hesv: A, B, IPIV
hpsv: A, B, IPIV
posv: A, B
ppsv: A, B
pbsv: A, B
ptsv: A, B
sysv: A, B, IPIV
spsv: A, B, IPIV
could be written as (for example)
lapack::solve( A, B ); // some default for ipiv needed
lapack::solve( A, B, ipiv );
lapack::solve( positive_definite( A ), B );
Please feel free to extend this list as exhaustive (and compact at the same
time) as possible.
Thanks,
Rutger