Boost logo

Ublas :

From: Georg Baum (Georg.Baum_at_[hidden])
Date: 2007-03-17 15:07:21

Am Samstag, 17. März 2007 19:41 schrieb Hugo Duncan:
> Hello Karl,
> >>> Any chance of getting the leading dimension fixed in the bindings
> >>> traits?
> >>>
> >>>
> >>>
> >>> .html
> > In my opinion, there is no error in the bindings traits classes.
> > To be sure, can someone tell me what the difference is between size_m
> > and size_M? The leading dimension is the number of rows of
> > for column_major matrices.

Yes. Therefore it needs to return size_m (Hugo explained what size_m is).

> The nearest I can find to a canonical description of leading dimension
> (LDA):
> Although this is more informative.
> As I am sure you are all too aware, and you state above, these all show
> the leading dimension as the number of rows. So far I think we agree.
> I find the use of m and M non-intuitive, but believe:
> size_m = minor size
> size_M = major size
> For a column major matrix, I believe the major size is the number of
> columns, so the leading dimension should be the minor size. The debugger
> leads me to confirm these beliefs. But I get thoroughly confused by
> and minor sizes, so I would not be too categoric in stating this.

It is correct. See the implementation in boost/numeric/ublas/functional.hpp

I agree with Hugo that there is a bug. The attached patch fixes it (and has
the advantage that it also works with 1.33). Note that functor_t::size2
returns the minor size in 1.33, i.e. the number of rows for column major

Karl, it would be nice if you could put it in.