Boost logo

Ublas :

Subject: Re: [ublas] [bindings] [lapack] geev and the type of the input matrix
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2010-07-15 11:44:29


Marco Guazzone wrote:

>
boost::numeric::bindings::detail::trans_wrapper<boost::numeric::ublas::matrix<double,
> boost::numeric::ublas::basic_column_major<long unsigned int, long int>,
> boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >,
> mpl_::void_>, VectorWR = main()::out_vector_type, VectorWI =
> main()::out_vector_type, MatrixVL = main()::out_matrix_type, MatrixVR =
> main()::out_matrix_type]’
> lapack_geev.cpp:50: instantiated from here
> /home/marco/tmp/boost-
numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp:146:
> error: invalid application of ‘sizeof’ to incomplete type
> ‘boost::STATIC_ASSERTION_FAILURE<false>’
> /home/marco/tmp/boost-
numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp:146:
> error: invalid application of ‘sizeof’ to incomplete type
> ‘boost::STATIC_ASSERTION_FAILURE<false>’
> --- [/error] ---
>
>
> Cheers,
>
> -- Marco

Geev actually doesn't have support for transposing matrices. So when you
pass trans(A), with A being column major, geev will be presented a matrix
that is row_major. Please check if you really need to pass it transposed,
and/or change A to be row_major and use trans.

Cheers,

Rutger