Boost logo

Boost :

Subject: Re: [boost] different matrix library?
From: Edward Grace (ej.grace_at_[hidden])
Date: 2009-08-14 18:36:22


On 14 Aug 2009, at 22:53, dherring_at_[hidden] wrote:

> On Fri, 14 Aug 2009, Edward Grace wrote:
>> On 14 Aug 2009, at 18:43, DE wrote:
>>>>> w = wedge(u,v);
>>>
>>> w = cross_product(u,v) please :p
>>
>> Err, that's only true in 3D (vectors of length 3). There's no such
>> thing as a cross product between (say) vectors of length 2,4 or
>> indeed anything else. The cross product is, in effect, a restricted
>> version of the exterior (wedge) product which exists for higher
>> dimensions.
>
> Actually, it was developed the other way; the exterior product is one
> possible generalization of the cross product to higher dimensions.

Mea culpa - you're right of course. Maths history often seems to get
'renormalised' like this. Like the unit vectors being i,j,k when
these characters originally (Hamilton) referred to the imaginary
numbers of the quaternion. Then quaternions fell out of fashion and
vector calculus took over so now everyone thinks i,j,k are and were
always just the unit vectors of R3. Talk to an algebraist and they'll
say - "oh, quaternions <insert dismissive sneer here> just a type of
Clifford Algebra" - so the competition continues!

> The cross product is unique in R3, but other generalizations are
> possible.
> IMO, cross_product(u,v) should still be provided for R3, even if it is
> simply an inline call to exterior_product(u,v).

Once one has gone and made things more complicated they can be
simplified again and one can pretend it was always that way! That's
how the game works no? ;-)

-ed


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