This is the mail archive of the gsl-discuss@sourceware.org mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gsl_quaternion proposition


On Thu, 11 May 2006, picca@synchrotron-soleil.fr wrote:

basically have to be able to e.g. do \epsilon_{ijk} sums to create the cross
products out of the ijk components, since quaternions are basically a mix of
the Gibbs scalar product and Gibbs cross product in a single kind of number,
for all that Hamilton thought them up first and better.

Can you explaine a little bit more please.

Sorry, given a quaternion represented as (s,v) where s is a scalar part and v is a three vector of numbers, each multiplied by i,j,k, when multiplying two quaternions via e.g. the Grassman product you get e.g.

(s3,v3) = s1 s2 - v1 \cdot v2 + s1 v2 + s2 v1 + v1 \times v2

Gibbs came along and took Hamilton's quaternions and Grassman's exterior
product and isolated from them the "dot product" and the "cross product"
as independent entities.  The cross product, of course, is:

v3_k = \sum_{ij} v1_i v2_j \epsilon_{ijk}

where \epsilon_{ijk} is the completely antisymmetric unit tensor and
perfectly encapsulates Hamilton's rules, e.g. ij = k, ji = -k etc.
Since the cross product is associated with pretty much all axial
transformations -- rotation, the curl, etc -- people found it more
convenient to work with it directly as a part of Gibbs "vector analysis"
and gradually stopped using Hamilton's quaternionic formulation,
although folks like Clifford continued on the mathematical front and
generalized Grassman algebras so that they could manage other
dimensions/grades besides 1 (scalar), 2 (complex) and 4 (quaternion).

This may have been very unfortunate.  Vector analysis tends to treat the
vector components as "spatial" vectors, where algebra treats them as
numbers.  Geometric algebra (generalized Clifford algebras with a
geometric interpretation of the operations) splits the difference.
Thinking about things differently can lead to new insights -- few
physicists today are ever even taught that Maxwell originally worked
with a quaternionic formulation of electrodynamics and thought for a
while that there might have been deep meaning there, but eventually
conceded that its Gibbs formulation was easier to work with
computationally, whereby it took over the world.  IF "the unified field"
turns out to be an obvious extension of the geometric algebra
formulation of E&M to much higher grade -- a way of thinking of it that
is related to but not necessarily the same as looking for a covering
group and broken symmetry -- then this will turn out to have been a
truly horrible mistake.

But this is getting a bit OT, sorry.  This does answer Linas's question,
at least to some extent.  Although one certainly can do any actual
computations associated with quaternions by means of the various already
supported operations in the Grassman product (and by making up one's own
quaternion struct as needed) or via complex matrices or with 4x
matrices, all within the GSL, the process might be easier and more
portable if they were consistently supported within the library as named
entities.  Second, it is possible that 3-vector rotations are more
efficient when done by multiplying quaternions, although I'd want to see
it proven by actual code; other S3/SO(3R)/SU(2) operations can fairly
naturally be done in quaternionic form (and sometimes encapsulate
physics algebraically expressed in that form.  A third less obvious
reason is that having them in the GSL per se encourages students and
numerical workers to learn about them and use them, and this might
encourage them to learn in turn about geometric algebra in general which
might one day potentiate a breakthrough discovery in physics.

A lot of this is also true indeed if support for lie algebras and groups
were added to the GSL (although exactly how to add it -- once again it
is "there" insofar as one can select matrix representations already, so
this is largely a matter of specifying the data objects and methods e.g.
group members, the associated group product rules, the generators.  The
rotation group is obviously useful.  The Lorentz group is also, although
one starts to hit on the problem talked about a year or two ago about
the difficulty of specifying tensors higher than second rank in the GSL.
Getting up to the higher U(n) or SU(n) or SO() (etc) groups, though --
you hit an ever smaller list of possible numerical applications, do you
not?  So that once again having it is partly to encourage new work in it
and understanding of it.

The final issue being that in some sense it would be really lovely to
have matching support in the GSL AND in a symbolic/algebraic
manipulation language e.g. maxima (GPL) or mathematica or maple
(proprietary) for either GA objects or lie algebra/group objects or
both.  A lot of applying non-commutative products in physics involves
untangling products in exponentials via e.g.  Baker-Campbell-Hausdorff
type manipulations, which in the cases that haven't already been worked
out involves horrendous amounts of symbolic algebra.  I don't know that
these could be reduced to "just" arithmetic without working out the
algebra first... but here we're getting out at the edge of what I have
ever worked on and that bit is twenty-odd years old (and involved things
like FORMAC and macsyma, some of which no longer exist:-).  Maybe it
could be a joint maxima/GSL effort?

rgb

--
Robert G. Brown	                       http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567  Fax: 919-660-2525     email:rgb@phy.duke.edu



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]