Boost logo

Ublas :

Subject: [ublas] Fwd: boost/numeric/bindings/lapack
From: Andreas Klöckner (lists_at_[hidden])
Date: 2008-11-12 12:59:15


Hi all,

I've received the following patch suggestion from Julius Ziegler. What he
points out does look fishy. Since I've never worked with banded matrices in
LAPACK, I hope someone on the list is better equipped to give a definitive
answer.

Thanks,
Andreas

(Message translated into English)
---------- Forwarded Message ----------

Betreff: boost/numeric/bindings/lapack
Datum: Mittwoch 05 November 2008
Von: Julius Ziegler <ziegler_at_[hidden]>
An: kloeckner_at_[hidden]

I have identified and fixed a problem in the LAPAPCK bindings, but I'm not
sure it's correct the way I did it. I'd apprecitate it if you could check the
patch:

Currently in gbsv.hpp:

// if the matrix has kl lower and ku upper diagonals, then we should have
// allocated kl lower and kl+ku upper diagonals
int const kl = traits::matrix_lower_bandwidth (a);
int const ku = traits::matrix_upper_bandwidth (a) - kl;
int const ld = traits::leading_dimension (a);

That makes no sense, and so I've changed it to read:

// if the matrix has kl lower and ku upper diagonals, then we should have
// allocated kl lower and kl+ku upper diagonals
int const kl = traits::matrix_lower_bandwidth (a);
int const ku = traits::matrix_upper_bandwidth (a);
int const ld = traits::leading_dimension (a);

Julius