Sierpinski (<1K) Multivector Shapes


    Our formal discussion of paths, surfaces, and other M-curves must await consideration of   multivector calculus since we require notions of smoothness and continuity, but we can nontheless describe and manipulate a wide variety of closed "blobby shapes" of interest to programmers as k-blade trajectories through UN%.  A toroidal surface may be constructed by sweeping a circle around a circle , for example, or a cylinder by translating a cirle along a line. More generally, we can define a k-tube as a union ÈlÎ[a,bak+1(l) of multiple (k-1)-spheres , with an implied intersection with the UN% horosophere. Note that this is not the cummulative join (which is likely to be i) but a set of hyperphere duals (restricted to a point set). If we intersect ÈlÎ[a,bak+1(l) with the UN% horosphere and disembedd we recover the set of UN points which lie in at least one ak+1(l).    

    A k-tube is thus the k-curve formed by sweeping a (k-1)-sphere through UN , varying its radius, centre, and orientation. Setting ak+1(a)=ak+1(b) or r(a)=r(b)=0 ensures a closed k-curve.         Thus:
    A 0-tube is a 1-curve, ie. a path through UN pointspace.
    A 1-tube is the twin trajectories formed by sweeping a bipoint through UN , varying its radius, centre, and orientation.
    A 2-tube is the tubelike surface formed by sweeping a circle through UN , varying its radius, centre, and orientation according to taste. If ak+1(b)=ak+1(a) we have a closed surface such as a torus, otherwise we have "open ends" such as for an uncapped cyclinder. 2-tubes are useful as "enclosing surfaces" for more complicated objects.
    A 3-tube is the filled tubelike volume formed by sweeping a 2-sphere through UN , varying its radius, centre, and orientation. 3-tubes are closed irresepective of whetere the 2-sphere tarverses a closed path and like 2-tubes that have been "filled in" and the ends.

    If we vary l discretely rather than smoothly from a to b the k-tube becomes a union of (k-1)-spheres, with gradient discontinuites in the enclosing (k-1)-curve which may fragment into seperate sections. We might have K hyperspheres defining a "collision envelope" for a more complicated object, for example.

    b Ç ÈlÎ[a,bak+1(l)   =   ÈlÎ[a,b (bÇak+1(l)) .
    For the sake of definiteless, let us take k=1 and suppose  {ak+1(l)} representes a deformed k-curve while b is a 3-blade representing a line or a circle. Each ak+1(l) is an undeformed 1-sphere that can intersect in the horosphere with b at most twice. From a programming standpoint, calculating the intersection of b with the 2-tube ammounts to seeking all the l solving (bÇak+1(l))2=0 and even this is insufficient to pick up the exceptional double intersections when b lies along a diameter of ak+1(l) . Even though the meet bÇak+1(l) for a nonintersective l provides useful measures and directions for seeking a solution, the problem of construting such tubular meets  is potentially computationally intensive. The discreteness of the geometric interpretation (the ray either intersects a circle or it doesn;t) means that we have to find the exact solving l, and (depending on how wobbly the k-tube is) there might be a large integer number of solution l within [a,b]. If {ak+1(l)} is closed there will be an even number of intersection points which we can think of as arising in "entry and exit" bipoints, but we might only be actually interested in one (the closest to a ray source, for example).
    If ak+1(l) = ¦l(ak+10) for some invertible outtermorphic tranform ¦l   we have

    bÇ ÈlÎ[a,b¦l(ak+10)   =   ÈlÎ[a,b(¦l( ¦l-1(b)Çak+10) ) which replaces "tracing" a straight 1-curve past a k-tube by tracing a "wobbly" 1-curve past a k-sphere.

    More generally we might intersect l-sphere bl+1  with k-tube {ak+1(l)} to obtain a collection of (k-(N-l))-curvea which we can reformulate as intersecting an l-tube with a single k-sphere. More generally still, we can intersect a k-tube with an l-tube
    ÈlÎ[a,b¦l(ak+10) Ç ÈmÎ[c,dgm(bl+10)   =   Èl,m ¦l(ak+10) Ç gm(bl+10)     taking the union accross all possible combinations of l and m   . This is an intensive computation but we can generalise still further, constructing M-curves by sweeping (M-1)-tubes or more complicated (M-1)-curves through UN%.

    The problem is of course that while the k-tube   ÈlÎ[a,bak+1(l) is well defined symbolically and may be algebraically manipulated as above,   the representation and manipulation of k-tubes requires linked lists and parameterisations of multivectors rather than simple multivectors. We might for example store K+1 "spotvalue" (k+1)-blades for l = jK-1 .

    Clearly k-tubes can intersect themselves. The l parameter is not interpreted as a "time", all the ak+1(l) are considered to "exist together" and a given UN point can lie within more than one of them. A d-extruded k-tube is a k-tube whose centre c(l) satisfuies d-1¿c'(l) > 0 and b(l) Î d* . The k-sphere is thus travelling "along" d and aligned perpendicular to it so that all points in a particular ak+1(l) have shared d coordinate unique to that l. Typically we might have d=e4 and regard ak+1(l) as representing the position and orientation of a spacial k-sphere at time t=l.


    [ Under Construction ]     Consider 1-vector
    A= ò0L dl a+ld +e0 + ½(a+ld)2e¥   =   L(aLd + e0 + ½(a2+(a¿d)L+1/3L2d2)e¥ with
    A2   =   ½L2(a2 + 6-1L2d2 + La¿d ) formed by superposing (adding) multiple embedded points .
    Dividing by L for unit e0 coordinate gives dualed hypersphere L-1A as the "average" of the line segment, and taking scalar product p¿L-1A gives the averaged distance of p from the line segment. .
    Consider a (k+1)-vector òabak+1(l) dl formed by summing multiple (k-1)-spheres such as 3-vector ò01 dl( (c+ld+re1 + e0 + ½(c+le3+re1)2e¥) Ù(c+ld-re1 + e0 + ½(c+le3-re1)2e¥) Ù(c+ld+re2 + e0 + ½(c+le3+re2)2e¥)   =   ò01 dl( (c+ld+re1 + e0 + ½(c+le3+re1)2e¥) Ù(-2re1 + e0 + ½(c+le3-re1)2- (c+le3+re1)2)e¥ Ù(r(e2-e1) + ½ ((c+le3+re2)2) -(c+le3+re1)2)e¥) representing sweeping a ring of radius r, axis direction e3 centre c to c+d with itslef  centre  cylinder at c with axis e3 .

Transforming k-blades
    Suppose a1 and a2 are distinct k-blades in UN. We seek to construct a "rotation" ¦l(a1) taking a1 at l=0 to a2 at l=1 that takes (½d)-blade (a2Da1)Ça1 into (½d)-blade (a2Da1)Ça2 but does not effect directions in (a1Da2)* and during which ¦l(a1) remains within the join a1Èa2.
    We thus seek a transformation of the form ¦l(x) = flxf-l for some even multivector f within a1Da2 . Insisiting f be even ensures that it commutes with everything in (a1Èa2)* and in a1Ça2 so that fxf-1 = x for x Î (a1Da2)* . Thus our "rotation" will preserve the meet a1Ça2 as well as everything entirely outside the join.

    Note first that as pure blades, a1 and a2 have scalar square and so (since a12 commutes with a2 and a22 commutes with a1) both a1 and a2 anticommute with a1×a2.
    Recall that a2Èa1 = a2'(a2Ça1)a1' where even d-blade a2'a1' is spanned by the delta product a2Da1 of signature (a1Da2)2 and commutes with 1-vectors in the meet or outside the join while anticommuting with 1-vectors in the disjoint.
    Thus if (a2Da1) has negative square (¼p(a2Da1)~)-1 preserves (a1Ça2) and (a1Èa2)* while taking xÎa1Da2 to (½p(a2Da1)~)x = (a2Da1)~x and so takes a1' to a real multiple of a2' while preserving a1Ça2 and so takes a1 to a real multiple of a2 as required.
    Thus if the delta product has minus square we can use it as an even rotor blade  

    If a1Da2 has positive square it may still provide a decentralisation blade provided a suitable i exists, allowing analytic computation of a particular (a2a1) .
    We have a2a1=a2*a1 + b + a2Da1 where b is is <2;4;..;d-2>-vector whose square has grade <0;4;8;..;d> with the d-grade component a multiple of a2Da1.  

      d=0 arises when a1=aa2 . No rotation is necessary.

      d=2 arises when k=1, and when m=k-2 . We have only grades <0;2> in the geometric product corresponding to a2a1 = a2*a1 + a2×a1. Since a2×a1 anticommutes with a1 and a2 it provides a rotor blade if it has negative square.

    When d=4 the delta product commutes with a1 and a2 and may provide a suitable decentralisation blade. Now a2×a1 has grade <2;6;10;...;d-2> while (a2×a1)2 = a2a1a2a1 + a1a2a1a2 - 2a12a22 has (a2×a1)2§ = (a2×a1)2 and so must have grade <0;4;8;...d> and the d-blade component must be a multiple of a2Da1. For N£7 we thus have (a2×a1)2 = a + ba2Da1 when d=4, enabling us to decentralise on a2Da1 and form a logarithm though if (a2Da1)2 ³ 0 we may require an i.

    d=6 requires N³6, k³3 so we already have a constructive approach for rotating one k-blade into another for N£5.   For d=6 we have
    a2a1 = a0 + a2A2 + a4A4 + a6A6 with a2×a1 = a2A2 + a6A6 and a2~a1 = a0 + a4A4 and a6A6=a2Da1 a pure 6-blade. Note that A42 and A22 are <0;4>-vectors rather han scalars.
    When k=3 so that A6=(a2Ùa1)~ spans A2 and A4 and so commutes with them, then (since a2×a1 commutes with a2~a2) A2 commutes with A4.
    Though the 4-grade componet of A22 is a multiple of A4, the 4-grade component of A42 is not. We have only (A42-A4*A4)2 = b4,0+b4,1A4 .

Transforming k-spheres
      Since (aÙb)2 = ¼(a-b)4 2-blade aÙb always has positive square so we cannot naturally "rotate" point a to point b without either imposing an arbitary centre codistant from a and b or "translating" from a to b which can be regarded as rotation about e¥. This "problem" persists for nonintersecting hyperspheres s1* and s2*.

    Suppose we have two distinct k-spheres represented by two unit (k+2)-blades a1 =  Qb1,s1 and a2 =  Qb2,s2 in (N+2)-dimensional space UN% for 1 £ k<N . In a typical application we might have a1 = p1Ùp1Ù...Ùpk+2 ; a2 = q1Ùq1Ù...Ùqk+2 for particular 2(k+2) points p1,..,pk+2,q1,..,qk+2 specifying the "portions" of the k-spheres we are most interested in. We might represent a1 and a2 in such "factored form" rather than as an expanded k-vector with regard to a particular extended basis; we might have have s1,b1 and s2,b2 explicitly; or we might have a1 and a2 in extended basis coordinate form.

    For k=1, we might regard the 1-sphere as passing through the points in the particular order p1,p2,p3 and regard p1 and p3 as "endpoints" of a "region" of interest. More generally we regard the (k+2) control points as specifying a "spotsampling" of a particular "region" of the (k-1)-sphere in which we are particularly interested.
    In an intrinsically distinct class of problems, we merely seek to "rotate" or "transform" unit k-blade a1 to unit k-blade a2 in as "natural" a manner as possible (which may or may not involve staying within the join or preserving the meet) independant of any choice of control points and in such cases the use or imposition of particular control points may be regarded as undesirable. It is this class of problem that we address first.

    Transformations mapping a k-sphere to another k-sphere can embody aribitary rotations or "twist" within the k-sphere or indeed any "stretching" or "remapping" of the target k-sphere to itself. Even if we insist on retaining a uniform "spread" of points, we still have an arbitary twists (a single angle in the case of k=1 or a rotation in SOk more generally).

The Slide
    The simplest way to "morph" a1 to a2 is to simulataneously and independantly "translate" c1 to c2, "ramp" r1 to r2, and "rotate" b1 to b2. but this may be unsatisfactory if a1 and a2 lie in a common (j-2)-sphere a1Èa2 because the intermediary k-spheres will not in general remain within the join. We will refer to this "directmost" morphing of a1 to a2 as the slide from a1 to a2. We interpolate r,c, and b seperately on l and recombine them to form ¦l(a1).
    The splitting of a1 into c, r and b is determined by e0 and e¥. Regarding a1 as a blade in Âp+1,q+1 we can pick any e+ and e- to conduct a "general homegenised disembedding" into Âp,q. In fact, we can pick any null e0 and e¥ with e0¿e¥=-1 The slide is always available, but risks traversing potentially forbidden subspaces.

    Rather than ramp r1 to r2 with r(l)=r1+l(r2-r1) we can ramp on r2 with r(l) = (r12+l(r22-r12))½ which has r'(l)=½(r22-r12)r(l)-1 rather than r'(l)=r2-r1.

    We also have s(l)=s1+l(s2-s1) with squared radius r(l)2 = l(l-1)(c1+c2)2 + lr12+(1-l)r22.

The Inside Slide
    If a1 and a2 intersect it will be in a (m-2)-sphere for some m£k+2 equal to the grade of the meet a1Ça2. The delta product a1Da2 has even grade d = 2(k+2-m) and the join is either a (2k+4-m)-blade rpresenting an encompassing (2k+2-m)-sphere having a particular centre c , or the (N+2)-blade pseudoscalar e¥0i when m £ 2k+2-N .    [  Previous webposted drafts of this document falsely asserted join e-* ]

    For N£3 the extended space has dimension N+2£5 so we can use a2Da1 as a decentralisation blade as described above.

      d=2 arises when k=1, and when m=k (eg. if pj = qj for all but one j) corresponding to k-spheres a1 and a2 having k common points and intersecting in a (k-2)-sphere. Then we have the particularly simple case d= 2, the geometric product a2a1 has grades <0;2> only, corresponding to a2a1 = a2*a1 + a2×a1 with a2×a1 anticommuting with a1 and a2 providing a rotor blade.

    If d=4 then the delta product commutes with a1 and a2 and may provide a suitable decentralisation blade. We can have two nonintersecting (m=0) bipoints (k=0) residing in a common 2-sphere (j=4) when N³3. For N ³ 4 we can have two 1-spheres (k=1) meeting in a point (m=1)  and residing in a common 3-sphere (j=5); or two 2-spheres (k=2) meeting in a bipoint (m=2) and residing in a common 4-sphere (j=6) if N³ 5. For N³7 we can have two 2-spheres (k=2) meeting in a 1-sphere (m=3) and residing in a common 3-sphere.

    Any tranformation ¦ taking a k-sphere a1 to a2 also defines a transformation F taking (N-1)-sphere s1* to s2* where s1 = a1¿(e¥Ùa1) and s2=a2¿(e¥Ùa2). We can see F as an "enclosing transformation" that is "refined"to ¦ by being forced to map a particular k-plane slice of s1* to a particular k-plane slice of s2*.
    We can expect particular behaviour of ¦ (such as radii r passing through ¥) to also arise in F. If we can keep the radii encountered in moving from s1* to s2* , the radii of ¦ will also be so limited.

    Suppose for now that (s1Ùs2)2 < 0 so that enclosing hyperspheres s1* and s2* intersect in a (k-1)-sphere m =  Qb,s of centre c, radius r £ Min(r1,r2), tangency (k-1)-blade b.
    This means that s1*·Ès2*·  has one, rather than two seperate, "interiors"   and we are interested in transformations of a1 to a2 that remain either always inside, always outside, or always within   s1*·Ès2*· .

    The natural grade-preserving transformation taking s1 to s2 is Fl(x) = (l½p(s1Ùs2)~)§(x) º (l½p(s1Ùs2)~) x((l½p(s1Ùs2)~))§ . As we take l from 0 to 4, c(l) goes from c1 at l=0 through c2 at l=1 back to c1 (aquiring an irrelevant sign flip of s) at l=2, then back to c2 at l=3, returning to c1 again at l=4.
    In one of the intervals [0,1] and [2,3] (equivalent to taking l from 0 to -1) , the sphere s(l)* reamins insidie s1*· È s2*· and s(l) coincides with the meet encloser s, for some l. We can think of s(l) as "sweeping the interior" of s1*· È s2*· . For the other interval, r(l) increases from r1 to ¥ (s(l) instantaneusly   the hyperplane through c of tangent b) and then drops back r2. We think of s(l)* as "sweeping the exterior". As with many rotations, we have a choice of a "short way" and a "long way" round, and it is the half of the lÎ[-1,1]  transformational "circuit" that attains minimal r(l) rather than the one taking r through ¥ that principly interests us, since it provides a smooth bounded and continuous distortion, and this is determined by whether r(l)2 = s(l)2 is falling or rising with l at l=0.
    We will henceforth assume that the "inside" (r minmising) of the two (±lw(s1Ùs2)~)§ rotors (where w = sin-1(r1-1r2-1 |(s1Ùs2)2|½) is chosen and denote it by Rls1®s2 .

    We can meaningfully write
    s1*· È s2*·   =   ÈlÎ[0,1] Rls1*®s2* (s1*) because the s(l)* hyperspheres sweep through the interiors of both hyperspheres.
    Also s1*·   =   ÈlÎ[0,1] Rlc1*®s1* (c1*) .

    Given an inside transform Fl taking s1* to s2* with For r¹0 we have ak+2 = s= ak+2¿(e¥Ùak+2) and bk+1 = e¥0¿(sak+2) so an obvious s1®a2 transformation is provided by
    ¦l(a1) =  Q Rlb1®b2 , Rls1*®s2* in which we transfrom s1 to s2 and b1 to b2 independantly.
    Though b1 and b2 are in UN rather than _Udn% there may still remain a lot of freedom in choosing Rlb1®b2 . The intermediate r(l) are independant of this choice, however, dependant purely on Fl.
    If a1 and a2 lie in a common (j+2)-sphere, this transformation is not in general confined to that join. Rather, the centre travels directly from c1 to c2; r adjusts to keep m within s(l); while the tangency efficiently realigns to the target orientation. There is no attempt to remain within a higher sphere so we will refer to such a transformation as an inside slide.   The k-sphere centre does not take a direct route, but rather a curve passing near the meet centre c.

The Inside Swing
    A natural restriction to impose on ¦ is to insist that k-sphere ¦l(a1) either contains or lies within the meet (N-2)-sphere m=s1*Çs2* for some intermediary l Î [0,1]. If k=m=N-2 (such as when transforming circles in 3D) then we can split ¦ into two transformations a1®m®a2   . We are still sliding the centre directly, but now the orientation is aligned to "orthogonal to travel" on passing through the meet. We can regard this as an inside slide but making a "token effort" to keep the orientaion orthogonal to the direction of travel of the k-sphere centre. We will call this transform (for k=N-2) the inside swing .

    If a1 and a2 are 2-blades representing bipoints then in general they will have scalar meet and 4-blade 2-sphere join j with a1a2 decomposing as a2*a1 + a2×a1 + a2Ùa1 into the sum of a scalar , a 2-vector, and a minussquare 4-blade.
    The 4-blade commutes with a1 and a2 and because (a2×a1)2 is scalar provides a decentralisation blade and so a logarithm (a1a2). 5-blade cjÙj where cj is the embedded centre of the join 2-sphere providing a suitable i.

    If a1 and a2 are 3-blades representing 1-spheres , then for N=3 we again have a1a2 decomposing <0;2;4> as a2*a1 + a2×a1 + a2Da1 but this time both a2Da1 and a2×a1 are minussquare blades. If a1 and a2  lie in a common 2-sphere we are dual to the bipoints case, and can form a roatation taking a1 to a2 within a1Èa2 but more generally the join is 5-blade e¥0e123 . So a1 and a2 must meet in at least a 1-blade m which for non-intersecting a1 and a2 will represent an "imaginary" (m-2)-antisphere with negative r2 but a particular centre c.

    Thus for N=3 we can construct rotors to transform k-spheres .

    Moving to N=4 means that unless two 1-spheres intersect or lie in a common 2-sphere, we lose the scalar squaredness of a1a2 - a1da2 - a1Da2 .

    As a degenerate example, let a2 = -4.25e¥e12 - 2e0e12 - 4e123 representing the 1-sphere of radius ½, centre 2e3 parallel to the e12 plane; and a1 = -4.25e¥e12 - 2e0e12 + 4e123 representing the similar 1-sphere centred on -4e3. Their join is the 2-sphere centre 0 of radius 2.06155, and the product a2a1 = 33 + 34e¥e3  + 16e0e3 = 33 + 32.984895h where h=1.3077e¥e3+0.48507e0e3 has h2=1, yielding (a1a2) = 4.31836e¥e3 + 2.03217e0e3 . This provides appropriate fractional powers of a2a1 for the transformation   x ® (a2a1)½lx(a2a1)l that for l=1 maps a1 to a2 and for l=½ maps a1 to the "join equator" 1-sphere having centre 0 and radius 2.01625 parallel to e12.
    Thus is typical of transforms obtainied by logging the product. The k-sphere remains in the join but its radius can expand and contract considerably.

Mutating k-spheres
    So far we have "rotated" k-spheres into k-spheres, the the logaithm based method described generalises immediately to "transmogifying" a (k+2)-sphere ak into an (l+2)-sphere bl.  We now explicitly do not want a grade preserving transformation and this coincides with a failure of (blak) to undergo reversion when commuted across ak. Our transformation is x ® (l(blak)) x rather than (½l(blak)) xl(blak))§ x . The former preserves everything wholly outside the join akÈbl but the latter does not. However, if we are only interested in morphing a particular (k+2)-sphere ak into a particluar (l+2)-sphere bl then we are essntially only intersted in <k;l>-grade multivector (l(blak)) ak which we can regard as a "union" or "superposition" of a (k+2)-sphere and a (l+2)-sphere.

Transforming using control points
    Returning to our degenerate example above, we also have the more "direct" translation by d=4e3 of a1 to a2. Letting a1=p1Ùp2Ùp3 where p1, p2 and p3 are any three distinct points in a1 we can express the translation as ¦l(a1) = ((-½le¥d)p1(-½le¥d)) Ù((-½le¥d)p2(-½le¥d)) Ù((-½le¥d)p3(-½le¥d)) with l=1 giving a2 .   The intermediary 1-spheres now all have a common radius rather than lieing in a common 2-sphere.

    More generally, if we know that particular control points pi map to particular target points qi then we can construct operations that translate all the control points simultaneously in this way, but there is a danger that control trajectories will cross eachother, making the intermediary (k+1)-blade vanish for particular l Î (0,1).

    Each of the d ei comprising the maximal absolute coordinate d-blade in a particlar extended frame representation of a1Da2 can be projected into a1 and a2. Chosing the one which minimises ¯a1(ei)2 + ^a1(ei)2 ensures that distinct 1-vectors p=¯a1(ei) and q=¯a2(ei) are both non small. The rotation ((1-g(l))½ cos-1(q¿p)(qÙp)~)§ will then rotate a1 into a (k-1)-sphere a1' contaning q instead of p. (g is a dropoff function of choice). We can then rotate a1' into a2 by recursion, because the dimension of the meet will have risen by one, and d fallen by two.

    Thus we have the basis for an algorithm that rotates a1 to a2 in ½d distinct "stages", one "control point" at a time; implicitly chosing particular frame-dependant but generally appropriate control points.  At the ith stage, the algorith will typically pick a point pi within a1 (i) that has the "furthest" to rotate to its destination qi in a2 and then "bend it out" towards qi. Once qi is reached it is "locked" into the (k-1)-sphere and preserved within it by subsequent elemental rotations. The composite "rotation" (½q½d-1(p½d-1Ùq½d-1~)§... (½q0(p1Ùq1)~)§ rotates a1 into a2 through d intermediary (k-1)-spheres a1 (1) with a1 (0) = a1 and a1 (d) = a2. The control point pi lies within a1 (i) rather than a1 but we can always "backrotate" it by (½qi-1(pi-1Ùqi-1)~)§... (½q0(p0Ùq0)~)§... into a control point p' within a1 that is rotated to qi by the final composite rotation.

    Though this algorithm is frame dependant in the detail, it's broad behaviour is coordinate free and avoids the use of explicit control points , the penalty for "discretising" the rotation into ½d seperate "phases" is that a1 may "contort" into (k+1)-spheres of wider varying radii than we can obtain by a simultaneous blending between multiple explicit control points. The composite "rotation" is more like a "shimmey" than a "glide", sending out a "connective bulge" or "feeler" and then "pulling in" the segments.

e+ seperation
    Any multivector x in UN% can be decomposed as x = x++e+X+ = x++X+i+-1 where x+ , X+ , and X+=X+#e+e+* = =X+#i-1 =X+#* are confined within e+*. If x is a k-blade then x+ is also k-blade but X+ and _mxXXpl are (k-1) and (N-k)-vectors respectively.
    Let e»=±1 according as i»=±i.
    x»x = x+»+i-1»X+»)(x++X+i-1) = x+»x+ + e»i2i+-1(X+»X+) + x+»X+i-1 + e»i-1X+»x+ .
    xx» = (x++X+i-1)(x+»+i-1»X+») = x+x+» +e»i2X+X+» + e»x+i-1X+» + X+i-1x+» .
    For odd N this is
    x»x = x+»x+ + e»i2X+»X+ + (x+»X+ + e»X+»x+)i-1 .
    xx» = = x+x+» +e»i2X+X+» + (e»x+X+» + X+x+»)i-1.
    For even N this is
    x»x = x+»x+ + e»i2(X+»X+)# + (x+»X+ + e»(X+»x+)#)i-1 .
    xx» = = x+x+» +e»i2X+X+» + (e»x+X+»# + X+x+»#)i-1 .

    For odd N, shell condition xx»=l becomes

    (x++e+X+)2 = x+2+X+X+# + e+(x+X++x+#X+) so x is scalar squared provided x+2+X+X+# is scalar and X+x+=-x+#X+.
    Thus any even UN% blade decomposes into anticommuting even x+ and odd X+ with scalar x2-X2 and (x-X)(x+X) decomposing into scalar part x2-X2 and odd part 2xX.
    Rather than rotating x to x'=x+'+e+X+' in N+2 D space UN% we can sperately rotate x+ and X+ within e+* into their x" counterparts. Doing this will take x "off shell" in its intermediary positions. Though components x+(l) and X+(l) remain within unithypersphere "on" their , which we can think of as k-blade x temporarily "fragmenting" into seperate multiple blades.

    We can also decompose x in UN% as x = x(1+x++iX+) where i=_psiee0 and x+ and X+ both reside in e+* and have zero <0;N+2> component.
    Now x»x = (x»x)(1 + x++iX+ + x+»+i»X+» + x+»x+ + i»iX+»X+ + ix+»X+ +i»X+»x+ )
      =   (x»x)(1 + x++x+» + i(X+±X+») + x+»x+ -/+ X+»X+ + i(x+»X+ ± X+»x+ ) )
      =   (x»x)(1 + x+»x+ -/+ X+»X+ + 2(x+<»+> + iX+<»±> + i(x+»X+)<»±>) ) with the ± according as i=ie¥0 has i»=±i .
    xx» = (x»x)(1 + x++iX+ + x+»+i»X+» + x+x+» + i»iX+X+» + ix+X+» +i»X+x+» )
      =   (x»x)(1 + x++x+» + i(X+±X+») + x+»x+ -/+ X+»X+ + i(x+»X+ ± X+»x+ ) )
      =   (x»x)(1 + x+x+» -/+ X+X+» + 2(x+<»+> + iX+<»±> + i(x+X+»)<»±>) ) with the ± according as i=ie¥0 has i»=±i .
    Hence x»_cwxlpx = (x»x)(1 + x+»x+ -/+ X+»X+) while xx+x» = (x»x)(1 + x+x+» -/+ X+X+»)

    When i»=-i we have x»x   =   (x»x)(1 + x+»x+ + X+»X+ + 2(x+<»+> + iX+<»-> + i(x+»X+)<»-> )   =   (x»x)(1 + x+»x+ + X+»X+ + 2(x+ + iX+ + i(x+»X+))<»+> )
    and when i»=i we have x»x   =   x2(1 + x+»x+ - X+»X+ + 2(x+ + iX+ + i(x+»X+))<»+> )

    If (x+»x+)<0;N+1>¹0 and  (X+»X+)<0;N+1>¹0 we have decomposition x = x(1 + x+x+~ + X+X+~) where x+~»*x+~=±1 , X+~»*X+~=±1   , and x+ and X+ reside in Algebra{i+} where i+=e+* negates under §# and §, has i+2=-1, and (anti)commutes with (odd) even blades in e+*.
    To interpolate a "rotation" from x(0) to x(1) we thus set x(l) = g(l)x(0) + (1-g(l))x(1) ; x+(l) = g(l)x+(x)(0) + (1-g(l))x+(x)(1) ; X+(l) = g(l)X+(x)(0) + (1-g(l))X+(x)(1) where g(l) is a dropoff function  (ie. g(0)=1 ; g(1)=0) that is flat to degrees of choice at 0 and 1.
    If x+~(0) and x+~(1)  have the same signed unit x+~»*_mxvpln we require a rotation taking x+~(0) to x+~(1) , keeping it within e+* or otherwise according to taste. And we must likewise roatate X+~(0) to X+~(1).
    In rotating x+~ and X+~ seperately, without reference to eachother, we expect x(l) to deviate from any strong shell condition x(l)»x(l) = a while obeying weak shell condition x(l)»*x(l) = a which we can also regard as a complex matrix equality holding only for the trace.

    The strong shell condition x»x = a requires ( x+»x+ - X+»X+ + 2(x+ + iX+ + i(x+»X+))<3;4>=0 when »=§# while obeying weak shell condition

x»*x   =   |x|+2(1 + x+»*x+ + X+»*X+ ) and when i»=i we have
    x»*x   =   x2(1 + x+»x+ - X+»X+ .

Next : Multivector Programing

Glossary   Contents   Author
Copyright (c) Ian C G Bell 1998, 2014
Web Source:
Latest Edit: 28 Jun 2015. Counter