> Cheers,
> David
>
> On Wed, May 19, 2010 at 13:20, Andrea Cassioli
> <
cassioliandre@gmail.com>wrote:
>
>> Hi Gunter,
>> I agree with you in using the range and project machinery to get what
>> I need, and I have to say I missed (probably for my lazynesss) this
>> set of functionalities the first time I looked the documentation.
>>
>> Apart from the expressiveness, my major concern is that is not clear
>> at all that ublas vectors are not as std::vector. Indeed, from the
>> very beginning, it is stated : " The glue between containers, views
>> and expression templated operations is a mostly STL conforming
>> iterator interface.". What does it exactly mean "mostly conforming"?
>>
>> Probably It should be better to say that it is not STL conforming,
>> despite some similarity. I fancy if no iterators at all would be
>> provided and only ragne and project functions would be needed...
>>
>> In my opinion, such uncertainties are a major reason for people not to
>> choose or support ublas. I like it and it is very nice to me also
>> because my code is already boost oriented. I think that before going
>> on with new functionalities, a major revision of documentation and
>> tuorial should be started.
>>
>> Andrea
>>
>> On Wed, May 19, 2010 at 1:41 AM, Gunter Winkler <
guwi17@gmx.de> wrote:
>> > Hello Andrea,
>> >
>> > Andrea Cassioli schrieb:
>> >> I'm pretty sure I'm doing something wrong, but I would expect the
>> >> matrix_row adaptor to behave as a normal vector, that is I would like
>> >> to play with it seamlessly.
>> >>
>> >> Am I wrong or it is a bug??
>> >>
>> >
>> > I am not sure if I understand you code. However, a ublas::vector is
>> > _not_ a STL vector. The reason is that ublas' vectors and matrices
>> > represent object for linear algebra, where STL vectors are simply
>> > containers. An ublas vector is much more like a std::valarray than like
>> > any other STL container. Thus it is not possible to assign a vector of
>> > length n to a vector of length (n+1).
>> >
>> > Despite that: you can use the free functions project(), row() and
>> > column() to get more expressive code. For example:
>> >
>> > matrix<double> A(10,10);
>> > vector<double> v(5);
>> >
>> > // untested
>> > v = project( row(A, 3), range(0,5) );
>> > project( column(A, 4), range(5,10) ) = v;
>> >
>> > see also
>> >
>>
http://www.boost.org/doc/libs/1_43_0/libs/numeric/ublas/doc/operations_overview.htm#sub
>> >
>> > mfg
>> > Gunter
>> >
>> >
>> >
>> > __________ Hinweis von ESET NOD32 Antivirus, Signaturdatenbank-Version
>> 5125 (20100518) __________
>> >
>> > E-Mail wurde geprüft mit ESET NOD32 Antivirus.
>> >
>> >
http://www.eset.com
>> >
>> >
>> > _______________________________________________
>> > ublas mailing list
>> >
ublas@lists.boost.org
>> >
http://lists.boost.org/mailman/listinfo.cgi/ublas
>> > Sent to:
cassioliandre@gmail.com
>> >
>>
>>
>>
>> --
>> Andrea Cassioli
>> _______________________________________________
>> ublas mailing list
>>
ublas@lists.boost.org
>>
http://lists.boost.org/mailman/listinfo.cgi/ublas
>> Sent to:
david.bellot@gmail.com
>>
>
>
>
> --
> David Bellot, PhD
>
david.bellot@gmail.com
>
http://david.bellot.free.fr
>