Boost logo

Ublas :

From: Karl Meerbergen (Karl.Meerbergen_at_[hidden])
Date: 2007-02-06 03:00:15


John,

I have the impression you are passing a matrix for the argument W, which
should be a vector.

I hope this is helpful,

Karl

John Woods wrote:

>Hello, everyone. This is my first time here, so apologies if I provide
>[too much|not enough|the wrong set of] information--or if this isn't the
>right place.
>
>I'm trying to get the boost-sandbox BLAS and LAPACK bindings to work,
>specifically so I can use syev().
>
>I was getting the same error as another poster (found on Google) with
>size_M and size1 in matrices. I corrected that by simply changing the
>call from one to the other.
>
>Now I'm getting a similar error in vector_traits.hpp:
>
>$ g++ rotate.cpp -llapack
>/usr/include/boost/numeric/bindings/traits/vector_traits.hpp: In static
>member function 'static int
>boost::numeric::bindings::traits::default_vector_traits<V, T>::size(V&)
>[with V = boost::numeric::ublas::matrix<double,
>boost::numeric::ublas::basic_column_major<unsigned int, int>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double> >
>
>
>>, T = double]':
>>
>>
>/usr/include/boost/numeric/bindings/traits/vector_traits.hpp:82:
>instantiated from 'int boost::numeric::bindings::traits::vector_size(V&)
>[with V = boost::numeric::ublas::matrix<double,
>boost::numeric::ublas::basic_column_major<unsigned int, int>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >]'
>/usr/include/boost/numeric/bindings/lapack/syev.hpp:94: instantiated
>from 'int boost::numeric::bindings::lapack::detail::syev(char, char, A&,
>W&, Work&) [with A = boost::numeric::ublas::matrix<double,
>boost::numeric::ublas::basic_column_major<unsigned int, int>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double> >
>
>
>>, W = boost::numeric::ublas::matrix<double,
>>
>>
>boost::numeric::ublas::basic_column_major<unsigned int, int>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double> >
>
>
>>, Work = boost::numeric::bindings::traits::detail::array<double>]'
>>
>>
>/usr/include/boost/numeric/bindings/lapack/syev.hpp:134: instantiated
>from 'int boost::numeric::bindings::lapack::syev(char, char, A&, W&,
>boost::numeric::bindings::lapack::minimal_workspace) [with A = dmat, W =
>dmat]'
>rotate.cpp:27: instantiated from here
>/usr/include/boost/numeric/bindings/traits/vector_traits.hpp:45: error:
>'class boost::numeric::ublas::matrix<double,
>boost::numeric::ublas::basic_column_major<unsigned int, int>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double> >
>
>
>>' has no member named 'size'
>>
>>
>/usr/include/boost/numeric/bindings/traits/vector_traits.hpp: In static
>member function 'static typename
>boost::numeric::bindings::traits::detail::generate_const<V, X>::type*
>boost::numeric::bindings::traits::default_vector_traits<V,
>T>::storage(V&) [with V = boost::numeric::ublas::matrix<double,
>boost::numeric::ublas::basic_column_major<unsigned int, int>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double> >
>
>
>>, T = double]':
>>
>>
>/usr/include/boost/numeric/bindings/traits/vector_traits.hpp:76:
>instantiated from 'typename
>boost::numeric::bindings::traits::vector_traits<V>::pointer
>boost::numeric::bindings::traits::vector_storage(V&) [with V =
>boost::numeric::ublas::matrix<double,
>boost::numeric::ublas::basic_column_major<unsigned int, int>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >]'
>/usr/include/boost/numeric/bindings/lapack/syev.hpp:100: instantiated
>from 'int boost::numeric::bindings::lapack::detail::syev(char, char, A&,
>W&, Work&) [with A = boost::numeric::ublas::matrix<double,
>boost::numeric::ublas::basic_column_major<unsigned int, int>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double> >
>
>
>>, W = boost::numeric::ublas::matrix<double,
>>
>>
>boost::numeric::ublas::basic_column_major<unsigned int, int>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double> >
>
>
>>, Work = boost::numeric::bindings::traits::detail::array<double>]'
>>
>>
>/usr/include/boost/numeric/bindings/lapack/syev.hpp:134: instantiated
>from 'int boost::numeric::bindings::lapack::syev(char, char, A&, W&,
>boost::numeric::bindings::lapack::minimal_workspace) [with A = dmat, W =
>dmat]'
>rotate.cpp:27: instantiated from here
>/usr/include/boost/numeric/bindings/traits/vector_traits.hpp:44: error:
>'class boost::numeric::ublas::matrix<double,
>boost::numeric::ublas::basic_column_major<unsigned int, int>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double> >
>
>
>>' has no member named 'begin'
>>
>>
>distcc[4763] ERROR: compile (null) on localhost failed
>distcc[4762] ERROR: compile rotate.cpp on localhost failed
>$
>
>Note especially that I'm using matrix<double, column_major>, and it's
>trying to get &v[0] when v is actually such a matrix.
>
>Is there some easy work-around, or a downgrade that will work for me?
>
>Thanks in advance.
>
>Cheers,
>John Woods
>
>_______________________________________________
>ublas mailing list
>ublas_at_[hidden]
>http://lists.boost.org/mailman/listinfo.cgi/ublas
>
>

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm