Boost logo

Boost :

Subject: Re: [boost] Boost.Test updates in trunk: need for (mini) review?
From: Jan Hudec (bulb_at_[hidden])
Date: 2012-10-28 12:36:55


On Sat, Oct 27, 2012 at 19:22:23 -0400, Dave Abrahams wrote:
> on Fri Oct 26 2012, Rob Stewart <robertstewart-AT-comcast.net> wrote:
> > On Oct 26, 2012, at 8:41 AM, Ian Emmons <iemmons_at_[hidden]> wrote:
> >> On Oct 19, 2012, at 11:03 PM, Gennadiy Rozenal wrote:
> >>> f) grid - dataset constructed by "multiplying" 2 datasets of the same different
> >>> sizes and types type
> >>>
> >>> This dataset has an arity which is sum of argument dataset arities.
> >>>
> >>> int a[] = {1,2,3};
> >>> char* b[] = {"qwe", "asd"};
> >>> double c[] = {1.1, 2.2};
> >>>
> >>> data::make(a) * data::make(b) * data::make(c)
> >>> dataset with 12 samples which are tuples of int and char* and double.
> >>
> >> For people with a database background, "cross product" is the
> >> obvious name for this. Calling it anything else is silly.
> >
> > Not only is "cross product" wrong, but you should not call the OP for
> > having a different idea than you.
>
> From what's written here, it's hard to know whether "cross product" is
> wrong or not, but given the number of samples cited, I'm inclined to
> believe it's probably right. What result other than the cross product
> do you think that means?

Any operation that is written with × is called cross product. However
that symbol is used for different operations in different contexts. Best
known are two meanings, the "vector product" used in physics and "cartesian
product" used in set theory and relational algebra.

The kind of product we have here, set of tuples where first member is member
of first operand and second member is member of second operand, is
unambiguously called "cartesian product".

So I would probably call it "cartesian product", but "cross product" would
not be incorrect.

-- 
						 Jan 'Bulb' Hudec <bulb_at_[hidden]>

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk