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@mrt.uka.de>
An: kloeckner@dam.brown.edu
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