Boost logo

Ublas :

Subject: Re: [ublas] Testing getri
From: Jesse Perla (jesseperla_at_[hidden])
Date: 2009-03-21 14:31:12


On Thu, Mar 19, 2009 at 12:52 PM, Rutger ter Borg <rutger_at_[hidden]>wrote:

> Didn't know that as well; default template argument types are not allowed
> for function templates, and types of template arguments are not to be
> deduced from a default argument type. Added an extra function signature
> which fixes this, and committed it.
>
Didn't know that about C++. But it would explain a lot of headscratching
about template deduction I have had in the past. Are they making any
changes in C++0X to make overloaded templated functions more comprehensible
or is it too hard to do without breaking everything.
I deleted my old bindings, did an update and tried to build my older code
(with a few changes to match interfaces where possible).
1) The new overload for optimal workspace works
2) gesv, getf, and getri still work
3) I cannot figure out how to get the trtri to work now:
 a) The old code just using a normal dense matrix doesn't work, because it
is looking for the uplo tag on a dense storage and doesn't allow the 'U',
'L' tag anymore
     It would be nice if there was an overload for functions expecting dense
triangular matrices that didn't force you to use the triangular adaptor.
 b) I did the following as suggested but as far as I can tell, both
triangular matrices and triangular_adaptor don't have traits yet:
ublas::matrix<double, ublas::column_major> A(2,2);
ublas::triangular_adaptor<ublas::matrix<double,ublas::column_major>,
ublas::lower> tal (A);
lapack::trtri('N', tal);
 c) same thing with tptri
4) Not that I am using it right now, but when I compiled with solve.hpp I
received the following error:
1>C:\working\libraries\boost\boost/numeric/bindings/lapack/solve.hpp(27):
catastrophic error: could not open source file
"boost/numeric/bindings/lapack/detail/null_vector.hpp"
1> #include <boost/numeric/bindings/lapack/detail/null_vector.hpp>
This file is not in the /detail on svn:
https://svn.boost.org/svn/boost/sandbox/numeric_bindings/boost/numeric/bindings/lapack/detail/

Please tell me if I am missing out on the triangular traits classes and when
I should test these two functions otherwise
Also: Do you expect the interfaces for the trtri and trtrp to change much?
 For example, should I expect the 'N' vs. 'D' parameter to disappear as we
detect the ublas::lower vs. ublas::unit_lower?

Thanks guys,
Jesse