Relative angles between two subspaces

9 views
Skip to first unread message

Fred

unread,
Jan 6, 2010, 1:31:01 PM1/6/10
to Geometric_Algebra

I posted the following on the math-fun newslist recently, in response
to a posting from Dan Asimov. The method extends immediately to
other "GA-able" geometries besides spherical, provided the
relationship
is not parabolic --- such as a Euclidean translation.

As an algorithm for isolating the relationship between two subspaces
--- possibly of different dimensions --- the method given earlier
faces a number of problems, the most inconvenient being that SVD
involves solving a polynomial equation. In fact, this task may be
accomplished entirely algebraically, via geometric algebra as
follows.

The m-space transcendental Clifford generators are antisymmetric
square
roots of unity z_1,...,z_m (pace Dan), where for 1 <= i < j <= m,
z_i z_i = 1 , z_j z_i = - z_i z_j .

The vector V = (a_1, ..., a_m) is identified with the linear
polynomial
V -> a_1 z_1 + ... + a_m z_m ;
the subspace L spanned by V_1, ..., V_k with the (Grassman)
exterior product
L -> < V_1 ... V_k >_k ,
found by taking the Clifford product V_1 ... V_k, then discarding
all terms but those of degree k.

Denote by L^+ the "reversion" --- essentially a pseudo-inverse ---
of L, computed as follows: if
L = <L>_0 + <L>_1 + <L>_2 + <L>_3 + <L>_4 + ...
be the decomposition of L as the sum of homogeneous sub-polynomials
<L>_j of degree j, then
L^+ = <L>_0 + <L>_1 - <L>_2 - <L>_3 + <L>_4 + ... ;
denote by ||L|| the scalar "magnitude" --- here, squared length ---
||L|| = L^+ L .

Given two subspaces L,M of dimensions k,l with k <= l, their
full Clifford product N = L^+ M represents an isometry taking
L into its reflection in M via conjugation:
N^+ L N = M^+ L M
(ignoring a scalar factor). Now set
c_i = ||<N>_(l+k-2i)|| ;
the roots of the polynomial
c_0 + c_1 S^2 + ... + c_j S^(2k)
are the squares of the tangents of the principal angles between L,M.

Of course, if we needed the angles themselves, we should have to
solve
this equation; but if we just need a unique coordinate representation
of the relative position, the equation coefficients provide it ---
even
in cases where the initial components are not themselves numerical.

Fred Lunnon [05/01/10]

ruthraa< epsivan@gmail.com >

unread,
Jan 6, 2010, 4:02:56 PM1/6/10
to Geometric_Algebra
It is wonderful that you have tried a perfect mix of polynomials
through the roots of unity between two subspaces.your rigorous
exposition did a lot for "open sesame" towards Hilbert Space which
deals angles and their couched spaces.Actually real "Banach" spaces
deal getting with the euclidean translation is not suitable for this
so called rubber geometry where we have the twist and turn of the
dimensional membrane.Compex algebraic functions and with streographic
projection of Reimann's compactification GA can be still be a more
beautiful tool.your piece of mathematical work makes a threshold with
a new look for "cosmic space geometry".
please go on and pursue towards a "theoretical mathematics" like
theoretical physics.

with regards

E.Paramasivan
<eps...@gmail.com>

Fred

unread,
Jan 7, 2010, 12:34:17 AM1/7/10
to Geometric_Algebra

On Jan 6, 9:02 pm, "ruthraa< epsi...@gmail.com >" <epsi...@gmail.com>
wrote:

> It is wonderful that you have tried a perfect mix of polynomials
> through the roots of unity between two subspaces.your rigorous
> exposition did a lot for "open sesame" towards Hilbert Space which
> deals angles and their couched spaces.Actually real "Banach" spaces
> deal getting with the euclidean translation is not suitable for this
> so called rubber geometry where we have the twist and turn of the
> dimensional membrane.Compex algebraic functions and with streographic
> projection of Reimann's compactification GA can be still be a more
> beautiful tool.your piece of mathematical work makes a threshold with
> a new look for "cosmic space geometry".
> please go on and pursue towards a "theoretical mathematics" like
> theoretical physics.
>
> with regards
>
> E.Paramasivan
> <epsi...@gmail.com>
>

While it has certainly occurred to me that GA methods might be of use
locally in studying Riemann manifolds, I haven't pursued this
direction.
There seems to be an awful lot remaining to be done just for uniform
geometries: including spherical (physicist's "Euclidean"), Euclidean
(with translation), Moebius (mathematician's "conformal", physicist's
Poincare), Laguerre (equilong), and Lie-sphere (physicist's
"conformal").

Of course, it's easier to deal with the general-case isometries which
have
positive density; and you may be right when you suggest that a
physicist
doesn't need anything further. But I can't help noticing how often
parabolic
and isoclinic transformations rear their (unwelcome) heads during the
development of higher-level geometric algorithms.

To take just one example: a Dupin cyclide in 3-space can be
represented
by a 3-blade in Cl(4,2). Blending together smoothly two segments of
cyclide
requires another object, comprising a sphere together with a tangent
cone:
this corresponds perfectly to (the axis of) a parabolic rotation, with
(double)
eigenvector the sphere and differential along the cone, and
represented by
an isotropic 2-blade. Given such an object, to recover the circle of
contact,
the (oriented) sphere is simply everted, and rotated via this 2-blade:
it
rotates conveniently about the required circle until (say) it becomes
planar
--- and that's the plane of our circle. Neat, huh!?

As I started to say in an earlier post, it has been my ambition for
the last
few years to understand just exactly what the kinematic
transformations in
these geometries actually look like, and properly classify the various
types.
I now think I have a complete classification of the general cases in Cl
(p,q),
together with constructive algorithms for establishing congruence,
finding
isometries, etc. But the special cases are still holding out ...

And I still find it difficult to believe that nobody has tackled this
problem
before! WFL

ehitzer

unread,
Jan 8, 2010, 3:26:33 AM1/8/10
to Geometric_Algebra
Dear Fred,

I use your notation.

First I assume that you norm both blades L, M by dividing them through
there scalar magnitudes. If grades k=l, then you can take the lowest
grade part of the product N, it's magnitude is the product of the
cosines of the principal angles. Then you take the bivector part which
results from dividing N by its normed lowest grade part. You can
(usually) decompose this bivector part uniquely into its constituent
sum of 2-blades by the method of Riesz, described also in Hestenes
+Sobczyk, reprint 1999, chapter 3-4, equation (4.11a) and following.
The coefficients of these constituent bivectors are again the products
of the cosines of the principal angles, yet one cosine will be
substituted by the corresponding sine of the same angle.

Therefore in effect, you can simplify the procedure by not norming
anything and dividing N by the lowest grade part of N (both unnormed).
The result has a scalar part 1, and a bivector part, etc. This
bivector part when split up into its constituent sum of 2-blades has
as the coefficents of these 2-blades the tangens values of the
principal angles. The normed 2-blades themselves are the generators of
the rotations (if in Cl(n)). So we get in this case completely around
the use of SVD, but in effect I guess the procedure of Hestenes and
Sybczyk (chp. 3-4) is the GA equivalent of SVD.

I do think it should be straight forward to generalize this to blades
L, M of different grade and to algebras Cl(p,q).

With kind regards,
Eckhard

Lanco

unread,
Jan 21, 2010, 6:48:56 PM1/21/10
to Geometric_Algebra
Hi Fred
It seems that this elegant expression should have alternating signs:

c_0 - c_1 S^2 + ... + (-1)^k c_k S^(2k)
Lanco

Fred lunnon

unread,
Jan 22, 2010, 1:39:33 PM1/22/10
to geometri...@googlegroups.com
Ooops ... thankyou, indeed it should.

While many of my typos are due to sheer carelessness, this one does
have good reason behind it. The equation is actually valid in a much
more general context, discussed very briefly in the "lurker" file (which
is due for another update, I think). Positive roots S^2 then correspond
hyperbolic angles, negative to circular angles; and complex roots are
also possible. Of course, for Euclidean applications it is more
convenient to filter such complications out ... WFL

> --
> You received this message because you are subscribed to the Google Groups "Geometric_Algebra" group.
> To post to this group, send email to geometri...@googlegroups.com.
> To unsubscribe from this group, send email to geometric_alge...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/geometric_algebra?hl=en.
>
>

Fred

unread,
Feb 6, 2010, 11:58:37 PM2/6/10
to Geometric_Algebra

On Feb 4, 11:49 pm, Lanco <a....@c.dk> wrote
> "Another example of a result using isotropic combs is the algorithm
> for finding principal angles ..."
>
> It seems that your are testing some of your ideas on the group.
> So let us see this isotropic application about principal angles.

This is bound up with the business of factorising an even comb
(product of 2k vectors) into k orthogonal rotations (grade-2
"rotors"). There are many ways to factorise a comb into
orthogonal vectors --- only the signature (the numbers p,q,r of
vectors with norm +1,-1,0) is unique --- whereas rotor factorisation
is essentially unique (this statement will require qualification).

Finding the principal angles between two subspaces, represented
by blades A,B say, amounts to factorising the isometry X = A~ B
into rotations, discarding their axes, and halving their angles.
This is easiest to visualise if the subspaces have the same
dimension and signature: X reflects A in B giving C = B~ A B;
its square root Y, where every rotation factor angle is halved
and Y Y = X, superposes A exactly onto B.

[For example, two skew lines A,B in Euclidean 3-space are congruent
under the action of a helical (screw) isometry Y, composing
rotation around, with translation along, their common perpendicular
(note that the two commute); X = Y Y = A~ B carries A to B,
then continues on past by the same angle and distance again.]

Euclidean translation is parabolic (the axis 2-blade is isotropic):
to simplify the presentation, for now I'll ignore this possibility.
Euclidean rotation is elliptic, with axis norm positive, and
complex conjugate eigencycles: that also is a little inconvenient,
since we'd prefer to deal with real multivectors. So for now
I'll pretend that all rotations and angles involved are hyperbolic,
with axis norm negative, and real source and sink eigencycles ---
such as conformal dilation around the origin, with eigenpoints at
origin and (inversive) infinity.

Then each rotation is represented by a rotor of the form
R = s + L,
where L is a 2-blade with norm ||L|| = -1; given X of grade k,
we require to find the "extent" s_i associated with each of its
factors R_i, for i = 1,...,k.

Notice that the corresponding axes L_i are orthogonal, so that
L_i L_j is a 4-blade unless i = j; also that they commute,
R_i R_j = R_j R_i. Assuming that X has some rotor factorisation,
X = R_1 ... R_k = (s_1 + L_1) ... (s_k + L_k)
= (s_1 ... s_k) + ... + (L_1 ... L_k)
= <X>_0 + ... + <X>_2k ;
notice that for each l, the subvector <X>_2l equals the sum of
those terms of total degree k-l in the s_i.

We're finally ready to get to grips with the central result.
Consider what I'll call the "grade expansion polynomial" in
the variable S, defined by
X(S) = <X>_0 + <X>_2 S + ... + <X>_2k S^k .
Somewhat remarkably, X(S) is also a comb for every value of S;
and taking its norm gives the scalar quantity
||X(S)|| = X(S)~ X(S)
= ||<X>_0|| + ||<X>_2|| S^2 + ... + ||<X>_2k|| S^2k
= ((s_1)^2 - S^2)((s_2)^2 - S^2) ... ((s_k)^2 - S^2),
that is to say, the extents s_i are just the roots (in +/- pairs)
of the grade expansion norm ||X(S)|| . ***

[Note that at S = s_i the grade expansion polynomial becomes
isotropic --- pace Lanco!]

Now consider the grade expansion differential with respect to S,
which must also be scalar:
(d/dS) ||X(S)|| = X(S)~ (d/dS)X(S) + X(S) (d/dS)X(S)~
= Y + Y~ , say.
Even more remarkably, although (d/dS)X(S) is not a comb, when
S = s_i it turns out that Y evaluates to an isotropic grade-2
comb, with axis L_i ; that is,
R_i :=: s_i + L_i :=: (Y + Y~)s_i + (Y - Y~) . ***
This further step establishes both existence and uniqueness of
rotor factorisation, and provides a construction algorithm.

[Unfortunately, I am unaware of any convincing motivation for
this last result, which at present relies on some tedious and
unilluminating solution of literal linear equations.
I must also admit to being currently unable to see why that last
addition should not instead be subtraction ...]

In the easiest cases we have hyperbolic factors
R = s + L :=: cosh t/2 + L sinh t/2
corresponding to real roots s (positive s^2), where
||L|| = -1, and time t = 2 arctanh s;
and elliptic factors
R = s + L :=: cos t/2 + L sin t/2
corresponding to imaginary roots s (negative s^2), where
||L|| = +1, and angle t = 2 arctan s/I.

However, there are a number of other, less straightforward
situations:
parabolic axis, when s = oo, and ||X(S)|| has degree < 2k;
half-turn extent, when s = 0, and Y = 0);
isoclinic rotation, when s is l-fold mutiple, and the
eigenspace has dimension l-1 > 0;
and finally --- conceptually improbable, though statistically
dense --- complex conjugate birotation (CCBR), when s^2 occur
in complex pairs.

I do not imagine anybody will complain if these have to wait
until another day ... Fred Lunnon

Fred

unread,
Feb 19, 2010, 12:24:27 AM2/19/10
to Geometric_Algebra

I hope to have finally marshalled a convincing argument
to motivate the construction given earlier for unique
factorisation into orthogonal rotations (over the
complex numbers). Note this is valid in general only,
failing in special cases noted earlier: blade s_i = 0,
parabolic s_i = oo, isoclinic s_i multiple.

Assume that there exists some (commutative) factorisation
of comb X into rotations with orthogonal axes, of the form


X = R_1 ... R_k = (s_1 + L_1) ... (s_k + L_k)

with ||L_i|| = -1 for all i; then
X(S) = (s_1 + S L_1) ... (s_k + S L_k)
showing that X(S) is also a comb for every value of S; and
as earlier noted, the extents s_i are roots of the equation
||X(S)|| = X(S)~ X(S) = 0.

Writing f'() for (d/dS) f(), the "split differential" part
of ||X(S)||' --- earlier (Y - Y~)/2 --- is
X(S)~ X'(S)
= X(S)~ X(S) \sum_i (s_k + S L_k)^{-1} (s_k + S L_k)'
= ||X(S)|| \sum_i (s_i - S L_i) L_i / ((s_i)^2 - S^2)
= \sum_i (S + s_i L_i) / \prod_{j /= i} ((s_i)^2 - (s_j)^2),
which is grade-2 for all S. Now setting S = s_i,
X~(s_i) X'(s_i) :=: (s_i + s_i L_i) :=: 1 + L_i
is an isotropic rotation with the same axis as R_i --- QED.

There remains one niggling weakness in this argument: it
relies on the initial assumption that the factorisation exists.
If X is assumed to be invertible (versor) in Cl(p,q,0),
the procedure above in general constructs an alleged factorisation;
multiplying those factors together yields a versor Y, such that
Y~ X is equivalent to 1. Hence X is proportional either to Y or
to its dual Y* = J Y, where J is the unit pseudoscalar; in either
case, the assumption that X has a factorisation is justified.

For isotropic X, justification looks trickier. It may be possible
to vary the roots s_i by a small increment, or a ratio near unity,
perturbing X to a blade; then proceed to the limit.

With a small amount of extra effort, this machinery can be used to
show that the Spin-up versor group (even grade, positive norm) is
kinematic --- that is, connected continuously to the identity,
so capable of partaking in continuous isometric motion. Provided
that there are no real (hyperbolic) roots with 0 < (s_i)^2 < 1,
the continuity is provided immediately via X(S), since X(0) = 1
and X(1) = X; or if we're fussy about getting the velocities right,
we can insert trig functions into the rotations instead.

Otherwise, there are an even number of hyperbolic rotation factors
R_1,...,R_j say, operating in the region beyond their singularities,
and individually having negative norms (over the reals now). Set
Z = L_1 L_2 ... L_j;
where each axis L_i has eigenvectors with one + and one - norm.
By re-pairing the eigencycles into (++) and (--) pairs, the blade
Z may be re-factored into elliptic rotations, hence connected to
the identity (with half-turns). Now X = Z (Z~ X), where the former
roots with 0 < (s_i)^2 < 1 have become their reciprocals.

For example, consider Cl(2,2,0) with generators
x^2 = y^2 = -v^2 = -w^2 = 1.
Suppose X = (1/2 + x w)(1/2 + y v);
via Z = (cos t/2 + sin t/2 x y)(cos t/2 + sin t/2 v w)
with 0 <= t <= pi, we get from 1 to
(x y)(v w) :=: x y v w = (x w)(y v);
then via Z~ X
= (x y v w)~ (1/2 + x w)(1/2 + y v)
:=: (2 - x w)(2 - y v)
we get continuously from there to X.

Fred Lunnon

Reply all
Reply to author
Forward
0 new messages