# comp.graphics.algorithms

## Subject: Re: General flat-flat intersection

On Mon, 24 Apr 2006 15:48:09 +0300, Kaba wrote:
>1) What is "Geometric algebra" and how it relates to Clifford algebra
>and Grassmann algebra?

A Clifford algebra is like a group, a diverse class of algebraic
structures. Vector spaces come equipped with scalar multiplication,
but only vector addition. A real inner product space is a real vector
space with an inner product, like the dot product, for which the
product of two vectors is a scalar. A quadratic space is almost the
same as an inner product space, but is equipped with a quadratic form,
like the squared length of a vector, instead of an inner product. We
can always make an inner product from a positive definite quadratic
form (signature all positive). Given a quadratic space, we can make a
Clifford algebra by extending the quadratic form (of any signature) to
define a linear and associative (but not commutative) product that
encompasses scalars and vectors and higher grade elements such as
bivectors.

This doesn't read much like geometry does it? As with matrices or real
numbers, the geometry comes in how we use the algebraic technology. So
Geometric Algebra, as discussed in computer graphics, is an assortment
of ways to use Clifford algebras to represent and manipulate geometric
objects and operations. As with matrices and homogeneity, we can add
extra dimensions to incorporate extra abilities.

Grassmann algebra is, on its face, an algebra of linear subspaces of a
vector space. It, too, is a graded algebra with a product, the famous
wedge product. We can find Grassmann algebra within Clifford algebra,
if we like. Of course, we can Clifford algebras with matrices, if we
like; or vice versa.

>2) I am also reading on tensors at the moment. I have a feeling tensors
>are somehow connected to the Clifford algebra. Is there a connection and
>if there is, what is it?

A real tensor (for a mathematician) is merely a multilinear function.
The inputs are taken from either a fixed vector space or its dual. It
has a rank, which is the number of inputs. (Be careful, the rank of a
matrix is something different.) We can represent a rank 2 tensor for
an N-dimensional vector space (and dual) as an NxN matrix. Don't get
too excited; by hook or crook, we can represent almost anything as a
matrix.

Maybe a helpful view is that with enough linear maps, a high enough
dimension, and a little ingenuity we can represent any of these things
within any of the others. There's no general hierarchy or superiority,
despite the claims of proponents. One application may be easy to think
about and efficient to represent with matrices or tensors, another may
have an elegant and compact form in geometric algebra.