Algebra is filled with many types of conjugation, most given silly names which obscure their
geometric significance. In three dimensional geometric algebra, we have involutions, which
invert the sign of the x, y and z components, preserve the xy, yz and zx components (due to the square of 1),
and invert the xyz component. We also have the reverse, which reverses the order of basis multiplication,
with the effect of preserving x, y, and z while complementing xy, yz, xz and xyz. Combining the two
gives the Clifford conjugation (see the obscuring name) which inverts x, y, z, xy, yz and xyz components.
Taking the product of a CH or GA3E multivector with the Clifford conjugate yields a multivector with
six zero elements in vector and bivector slots, with the scalar and trivector components playing the role of
a complex number. Similarly, for octonions, the octonion complement changes the sign of all elements except the
scalar. The product of an octonion with its complement yields a pure scalar, with the remaining seven components zero.
The general CHO has 64 components, which I generally print as an 8x8 grid, ordered as below.
q i j ij E iE jE ijE x xi xj xij xE xiE xjE xijE y yi yj yij yE yiE yjE yijE xy xyi xyj xyij xyE xyiE xyjE xyijE z zi zj zij zE ziE zjE zijE xz xzi xzj xzij xzE xziE xzjE xzijE yz yzi yzj yzij yzE yziE yzjE yzijE xyz xyzi xyzj xyzij xyzE xyziE xyzjE xyzijEMany times, I only care about the zero/nonzero status of a product. I have written a software routine "CHO_Zero_Grid(CHO a)" which examines the CHO and prints either an x for nonzero, or 0 for zero components. I can specify a particular conjugation pattern for a CHO as another 8x8 grid, this time indicating + or  factors for the conjugation.
+        x 0 0 0 0 0 0 0  + + + + + + + with 0 x x x x x x x  + + + + + + + conjugate 0 x x x x x x x  + + + + + + + product 0 x x x x x x x  + + + + + + + 0 x x x x x x x  + + + + + + + 0 x x x x x x x  + + + + + + + 0 x x x x x x x +        x 0 0 0 0 0 0 0
For the special case of a CHO which is the product of a pure CH times a pure O, we get even better, with 62 zeroes and only scalar and xyz component nonzero terms.
CHO4 = CHO2*CHO3 = (c00*b00 , b01*c00 , b02*c00 , c00*b03 , b04*c00 , b05*c00 , c00*b06 , c00*b07 , c10*b00 , c10*b01 , c10*b02 , c10*b03 , b04*c10 , c10*b05 , c10*b06 , c10*b07 , c20*b00 , b01*c20 , b02*c20 , c20*b03 , b04*c20 , b05*c20 , c20*b06 , c20*b07 , c30*b00 , c30*b01 , c30*b02 , c30*b03 , c30*b04 , c30*b05 , c30*b06 , c30*b07 , c40*b00 , b01*c40 , b02*c40 , c40*b03 , b04*c40 , b05*c40 , c40*b06 , c40*b07 , b00*c50 , b01*c50 , b02*c50 , b03*c50 , b04*c50 , b05*c50 , b06*c50 , c50*b07 , c60*b00 , b01*c60 , c60*b02 , c60*b03 , b04*c60 , b05*c60 , c60*b06 , c60*b07 , b00*c70 , b01*c70 , b02*c70 , b03*c70 , b04*c70 , b05*c70 , b06*c70 , c70*b07) CHO4*CHO_Signed_Conjugation(CHO4); = x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 0 0More details are in CHO_Explore_Conjugates.cp
The ability to do symbolic calculations in CHO is so pleasant. In general terms, I've verified that complex numbers are commutative and associative, quaternions are noncommutative but associative, octonions are alternating/flexible, CO is likewise alternating/flexible, but HO and CHO are none of the above. Defining the commutator as (A*B  B*A), HO has zero component for the scalar term, CO has zeroes in the scalar and xyz (imaginary) terms, while CHO likwise has zeroes in the scalar and imaginary terms. Defining the associator as ((A*B)*C  A*(B*C)), HO has zeroes in the pure quaternion suffix terms, being q, xy, yz, xz, CO has zeroes in scalar and imaginary terms, while CHO has zeroes in the pure CH suffix terms, being q, x, y, xy, z, yz, xz, and xyz. With numeric routines as in CHO_Routines.c, I can see this behavior, with symbolic calculations, I can prove this behavior.
CxHxO was surprisingly easy to implement. I am using Cayley's octonions in this implementation. CHO_Routines.c provides complex, quaternion, octonion, CxH, CxO, HxO and CxHxO routines for product, initialize, compare, add and subtract. CHO_Equation_Maker.c demonstrates this library, and generates and validates the product equations. CHO_Routines.cp is the symbolic math version of the library using GiNaC, CLN, and C++.
CHO_Routines.c
CHO_Test_Harness.c
CHO_Equation_Maker.c
CHO_Routines.cp
CHO_Routines.h
CHO_Test_Harness.cp
CHO_Demo.cp
I find the direct product is surprisingly straightforward to implement as ordered pairs. Having established to my satisfaction that CxH = GA3E = Cl3, I jump directly to CxHxO, rather than stepping CxO and HxO. This program calculate the 64 basis elements, the 4096 basis products, identifies the two central elements (1x1 and (e_xyz)x1) which commute with all algebra elements, and identifies which pairs commute. This program will evolve and be updated as I continue my investigations. The similarities, yet contrasts, between Cl3 and Octonions enthrall me.
Here are the 64 basis elements of CHO, arranged in an 8x8 grid clearly showing their direct product origin. I am using q for the identity element in both source sets, i, j, and E for the octonion bit basis, and x, y, z for the GA3E/Cl3/CH basis. Both q and xyz (=sqrt(1)) commute with all terms, thus forming the center of the combined algebra.
q i j ij E iE jE ijE x xi xj xij xE xiE xjE xijE y yi yj yij yE yiE yjE yijE xy xyi xyj xyij xyE xyiE xyjE xyijE z zi zj zij zE ziE zjE zijE xz xzi xzj xzij xzE xziE xzjE xzijE yz yzi yzj yzij yzE yziE yzjE yzijE xyz xyzi xyzj xyzij xyzE xyziE xyzjE xyzijE
Using the Cayley representation for octonions, I can make a bitmap for the algebra using i=1, j=2, E=4, where the binary numbers 07 encode the base, XOR logic provides the base product, and the sign is stored separately. This behavior is just like Cl3, with the difference being the sign details. Consequently, in the CHO algebra, I have two threebit fields for each base, XOR logic for the base product, and a simple 64x64 sign array (shown in CHO_Sign_Array.txt below).
Octonion Cayley Representation q = 000 i = 001 j = 010 k = 011 E = 100 I = 101 J = 110 K = 111 *  q i j k  E I J K Sign Table  q  q i j k  E I J K + + + + + + + + i  i q k j  I E K J +  +  +   + j  j k q i  J K E I +   + + +   k  k j i q  K J I E + +   +  +   E  E I J K q i j k +     + + + I  I E K J i q k j + +  +    + J  J K E I j k q i + + +   +   K  K J I E k j i q +  + +   +  In a similar fashion, the Clifford algebra for three dimensional Euclidean space can be mapped to a bitmap and associated sign matrix. GA3E = Cl3 = CxH Representation q = 000 x = 001 y = 010 xy = 010 z = 100 xz = 101 yz = 110 xyz = 111 *  q x y xy  z xz yz xyz Sign Table  q  q x y xy  z xz yz xyz + + + + + + + + x  x q xy y  xz z xyz yz + + + + + + + + y  y xy q x  yz xyz z xz +  +  +  +  xy  xy y x q  xyz yz xz z +  +  +  +   z  z xz yz xyz  q x y xy +   + +   + xz  xz z xyz yz  x q xy y +   + +   + yz  yz xyz z xz  y xy q x + +   + +   xyz xyz yz xz z  xy y x q + +   + +  
I present two files demonstrating Quaternion and Octonion symbolic routines using GiNaC and C++. There are a ridiculous number of different implementations of octonions. In my software, I have a global integer variable "Baez". When "Baez = 1", octonions are implemented using the table in his well respected paper, which features index scaling and other niceties. When "Baez = 0", I use my preferred implementation, which clearly shows the quaternion heritage of the octonions.
I also provide two files implementing these functions numerically in fast, pure C.
Standard Right Hand Quaternion Table *  q i j k  q  q i j k i  i q k j j  j k q i k  k j i q Baez's Octonion Table, Featuring Cyclic Indices  Cayley's Octonion Table, Showing Quaternion Inheritance *  q i j k E I J K  *  q i j k E I J K    q  q i j k E I J K  q  q i j k E I J K i  i q E K j J I k  i  i q k j I E K J j  j E q I i k K J  j  j k q i J K E I k  k K I q J j E i  k  k j i q K J I E E  E j i J q K k I  E  E I J K q i j k I  I J k j K q i E  I  I E K J i q k j J  J I K E k i q j  J  J K E I j k q i K  K k J i I E j q  K  K J I E k j i q  *  e_0 e_1 e_2 e_3 e_4 e_5 e_6 e_7  *  e_0 e_1 e_2 e_3 e_4 e_5 e_6 e_7    e_0  e_0 e_1 e_2 e_3 e_4 e_5 e_6 e_7  e_0  e_0 e_1 e_2 e_3 e_4 e_5 e_6 e_7 e_1  e_1 e_0 e_4 e_7 e_2 e_6 e_5 e_3  e_1  e_1 e_0 e_3 e_2 e_5 e_4 e_7 e_6 e_2  e_2 e_4 e_0 e_5 e_1 e_3 e_7 e_6  e_2  e_2 e_3 e_0 e_1 e_6 e_7 e_4 e_5 e_3  e_3 e_7 e_5 e_0 e_6 e_2 e_4 e_1  e_3  e_3 e_2 e_1 e_0 e_7 e_6 e_5 e_4 e_4  e_4 e_2 e_1 e_6 e_0 e_7 e_3 e_5  e_4  e_4 e_5 e_6 e_7 e_0 e_1 e_2 e_3 e_5  e_5 e_6 e_3 e_2 e_7 e_0 e_1 e_4  e_5  e_5 e_4 e_7 e_6 e_1 e_0 e_3 e_2 e_6  e_6 e_5 e_7 e_4 e_3 e_1 e_0 e_2  e_6  e_6 e_7 e_4 e_5 e_2 e_3 e_0 e_1 e_7  e_7 e_3 e_6 e_1 e_5 e_4 e_2 e_0  e_7  e_7 e_6 e_5 e_4 e_3 e_2 e_1 e_0
Quaternion_Octonion_Routines.cp
Quaternion_Octonion_Test_Harness.cp
Quaternion_Octonion_Routines.c
Quaternion_Octonion_Test_Harness.c
I was introduced to quaternions in the early 1980s via Morse and Feshbach, Methods of Theoretical Physics. I was fascinated by the compactness of this tool, especially for rotations and electromagnetism, and was surprised at the poor reputation of this tool in the academic community. As an engineer, I am pleased by utility. As I gained in experience, I learned of octonions (courtesy of John Baez), and divisional algebras in general. About a decade ago, I began to investigate divisional algebras in a bit more detail. It seemed a historical accident that quaternions used a righthand cross product, rather than a lefthand cross product. Upon investigation, I decided that there were at least 256 workable different definitions for quaternions, and 524288 (2^19) workable definitions for octonions. Geoffrey Dixon's little green book "Division Algebras: Octonions, Quaternions, Complex Numbers and the Algebraic Design of Physics", was inspirational, but also beyond my comfort level at the time. My interests then shifted to geometric algebra, with the intention of revisiting his work at a later time. Now is that time.
The trigger for this revival of interest is an article in quanta magazine (http://www.quantamagazine.org/), The Octonion Math That Could Underpin Physics, which is basically a feature piece on Cohl Furey and her work investigating these algebras and the standard model. Courtesy of arxiv, her thesis/dissertation and preprints are readily available, see (1002.1497, 1405.4601, 1603.04078, 1611.09182, 1806.00612). She has done the heavy lifting.
As a note of appreciation, the Simons foundation ( http://www.simonsfoundation.org/ ) sponsors both quanta magazine and arxiv. Thankyou for these fine resources.
So, what is my agenda?
As I achieve each goal, links in the above list will become active.
This note investigates the eigenvalues, polynomials and potents associated with multivectors in two and three dimensions, as well as in Minkowski spacetime and GA5_4_1 spacetime. Two and three dimensional space has pairs of eigenvalues and eigenfactors, while four and five dimensional space have quads of eigenvalues and eigenfactors. I am impressed by how in Minkowski fivespace, everything fits.
Multivectors_Eigenvalues.pdf
GA2E_Eigenvalues.cp
GA3E_Eigenvalues.cp
Mink_Eigenvalues.cp
GA5_4_1_Eigenvalues.cp
Quadratic_Cubic_Quartic.cp
I provide a step by step solution of the quintic equation in python using the mpmath module.
A specific example is provided reducing the quintic to Bring's normal form, then solving Bring's normal
form using general hypergeometric functions. We then go interactive. You specify the polynomial,
we provide all five roots via hypergeometric function.
Thankyou to Owen Maresh who posted demonstration python code for Bring's normal form on his math blog.
My hosting service does not allow posting python suffix files. Note the txt suffix below, and change
to py, if needed.
quintic.txt Quintic Demonstration Code
I provide a step by step presentation of the Tschirnhaus transformation using the Sylvester matrices for reducing terms in polynomial equations. A specific example is provided reducing a quintic to Bring's normal form.
Tschirnhaus Transformations Includes Demonstration Code
Tschirnhaus.cp Symbolic Demonstration Code (should get cleaned up)
Bring_Demo.c Numeric Demonstration Code (should get cleaned up)
Every couple of years, I find myself needing to solve cubic and quartic equations, typically as part of an eigenvalue problem. Given the nice support of complex numbers in the gcc compiler (with math library), I've written a demonstration program solving general quadratic, cubic and quartic equations with complex coefficients. This program is simple, illustrates by example some C features such as scanf and pointers, and of course, works well for me. Enjoy!
Quadratic_Cubic_Quartic.c Demonstration Code
The 32 complex 4x4 gamma matrices of quantum mechanics support 96 unique
implementations of five dimensional geometric algebra in (4,1), (2,3) and (0,5) signatures.
An additional 96 sets of five anticommutating blades exist which double cover four dimensional
space, with fake signatures of (5,0), (3,2) and (1,4). I am beginning another study of this fascinating
set of matrices, geometric algebra, and various factorings of the KleinGordon equations.
If you crave more leptons than Majorana, Weyl, Dirac, Bjorken or Drell, this is the read for you!
The program linked below generates the large output file (340K).
The executive summary below lists the anticommutating sets of five blades, organized by signature. Multivectors made from these blade sets square to a scalar, with the determinant being the square of that square, as expected.
Study_192_Signatures.txt
Study_192_Signatures.cp
Not unexpectedly, TBS has cancelled the scifi comedy "People Of Earth". This is my tribute to the show, the fine actors, and usually decent, clever writing.
A Tribute to "People of Earth" (TBS)
I am fascinated by describing physics using multivectors, where multivectors are both the object and the transformation rules for the objects. In these systems of continuously compounding products, projection operators provide finite solutions. Idempotent, nilpotents and their close relatives all have zero determinant in both linear algebra and geometric algebra. This note looks at determinants, idempotents and nilpotents in 25 dimensions. I find interesting relationships between the square of a multivector, the determinant of a multivector, and projections involving the Reverse and Clifford conjugation operations.
Determinants, Idempotents and Nilpotents in Geometric Algebra
By analogy to matrix implementations, we can define a determinant for generic multivectors in geometric algebra. This determinant measures the internal volume of the multivector, and is akin to a magnitude. Like matrices, the determinant of a product of multivectors is the product of their determinants. Like matrices, the determinant must be nonzero for an inverse to exist. Just as rotations leave a magnitude invariant, so do a large class of transforms leave determinants invariant. This note documents transforms akin to complements, duals, simple blade products and simple sandwich products in (3,0), (4,0), (3,1) and (4,1) geometric algebras.
Determinant Preserving Transforms
I have earlier looked at 72 remappings of Minkowski spacetime among itself based upon magicsquare like transformations. Now I have identified 360 determinant preserving remappings in five dimensional geometric algebra with a (4,1) signature.
GA5_4_1_Magic_Bases.txt Just the basis remappings (q, w,x,y,z,t)
GA5_4_1_Magic_Remapping_Routine.cp Subroutine implementing these transforms.
I have earlier looked at 72 remappings of Minkowski spacetime among itself based upon magicsquare like transformations. These transformations, conveniently defined in the program below, preserve the determinant, as expected. Each of these 72 transformations supports many (32) sign variations, per the unary complements discussed below.
Further investigation of the logic of the determinant preserving five dimensional 4+1 unary complements has been interesting. The logic involved is indeed XOR logic. The independent variables are the q, w, x, y, z, and wx bits. The t bit is a dependent variable, t = q^w^x^y^z, meaning that q^w^x^y^z^t = 0 is a determinant preserving conservation law (CPT). Our sixth independent variable turns out to be wx (or equivalently yzt). I haven't mapped out this error correcting code yet, but I suspect we have a six bit information payload with five bit error detection and correction.
The determinant preserving logic equations look like extended parity, or error correcting code. The deduced equations are given below.
Independent variables  q w x y z wx yzt = wx; wxyt = z; wxzt = y; wyzt = x; xyzt = w; wxyzt = q; t = wxyz = q^w^x^y^z; wt = xyz = q^w^y^z^wx; xt = wyz = q^x^y^z^wx; yz = wxt = w^x^y^z^wx; wy = xzt = x^y^wx; wz = xyt = x^z^wx; xy = wzt = w^y^wx; xz = wyt = w^z^wx; yt = wxz = q^z^wx; zt = wxy = q^y^wx;
I provide a simple C program to enumerate all interesting (determinant preserving) unary complements in five dimensional 4+1 space. Run time is about 30 minutes on my fastest machine. Sandwich product factors are shown on the far right. Notice left/right sign symmetry between multivector left/right halves (duality related), and factor of (1) between the first 32 multivectors and the mirrored remaining 32. (@31 =  @32, @0 =  @63). These folded patterns are strongly reminescent of XOR logic.
Multiplying the original multivector times the selected complement results in a new multivector, often with a large number of zero components. For example, Clifford conjugation, (index 1) times the original multivector has a product with 20 of 32 components zero. The score parameter to the right of the multivector is this number of zero terms. Because these complements preserve the determinant, the product of the complement and the original has a determinant equal to the square of the determinant of the original multivector, but potentially far fewer terms. Searching for determinant preserving transforms among the resulting 12 element multivectors directly leads to my amazingly efficient determinant formulas.
Five Dimensional 4+1 Unary Complements in C
0 00000000 ( a, b, c, d, e, f, g, h, j, k, l, m, n, p, r, s, S, R, P, N, M, L, K, J, H, G, F, E, D, C, B, A) 0 q, wxyzt 1 03ffffc0 ( a, b, c, d, e, f, g,h,j,k,l,m,n,p,r,s, S,R,P,N,M,L,K,J,H,G, F, E, D, C, B, A) 20 2 0cde7b30 ( a, b, c, d,e,f, g, h,j,k, l,m,n,p,r, s, S,R,P,N,M, L,K,J, H, G, F,E, D, C, B, A) 0 zt, wxy 3 0f2184f0 ( a, b, c, d,e,f, g,h, j, k,l, m, n, p, r,s, S, R, P, N, M,L, K, J,H,G, F,E, D, C, B, A) 12 4 156db6a8 ( a, b, c,d, e,f, g,h, j,k,l, m,n,p, r,s, S, R,P,N, M,L,K, J,H, G, F, E,D, C, B, A) 0 yt, wxz 5 16924968 ( a, b, c,d, e,f, g, h,j, k, l,m, n, p,r, s, S,R, P, N,M, L, K,J, H,G, F, E,D, C, B, A) 12 6 19b3cd98 ( a, b, c,d,e, f, g,h,j, k,l,m, n, p,r,s, S,R, P, N,M,L, K,J,H, G, F,E,D, C, B, A) 0 yz, wxt 7 1a4c3258 ( a, b, c,d,e, f, g, h, j,k, l, m,n,p, r, s, S, R,P,N, M, L,K, J, H,G, F,E,D, C, B, A) 12 8 258c31a4 ( a, b,c, d, e,f, g,h,j, k, l, m,n,p, r, s, S, R,P,N, M, L, K,J,H, G, F, E, D,C, B, A) 12 9 2673ce64 ( a, b,c, d, e,f, g, h, j,k,l,m, n, p,r,s, S,R, P, N,M,L,K, J, H,G, F, E, D,C, B, A) 0 xt, wyz 10 29524a94 ( a, b,c, d,e, f, g,h, j,k, l,m, n, p,r, s, S,R, P, N,M, L,K, J,H, G, F,E, D,C, B, A) 12 11 2aadb554 ( a, b,c, d,e, f, g, h,j, k,l, m,n,p, r,s, S, R,P,N, M,L, K,J, H,G, F,E, D,C, B, A) 0 xz, wyt 12 30e1870c ( a, b,c,d, e, f, g, h,j,k,l, m, n, p, r,s, S, R, P, N, M,L,K,J, H, G, F, E,D,C, B, A) 12 13 331e78cc ( a, b,c,d, e, f, g,h, j, k, l,m,n,p,r, s, S,R,P,N,M, L, K, J,H,G, F, E,D,C, B, A) 0 xy, wzt 14 3c3ffc3c ( a, b,c,d,e,f, g, h, j, k,l,m,n,p,r,s, S,R,P,N,M,L, K, J, H, G, F,E,D,C, B, A) 20 15 3fc003fc ( a, b,c,d,e,f, g,h,j,k, l, m, n, p, r, s, S, R, P, N, M, L,K,J,H,G, F,E,D,C, B, A) 0 w, xyzt 16 44742e22 ( a, b, c, d, e,f, g, h, j,k,l,m, n,p, r, s, S, R,P, N,M,L,K, J, H, G, F, E, D, C,B, A) 12 17 478bd1e2 ( a, b, c, d, e,f, g,h,j, k, l, m,n, p,r,s, S,R, P,N, M, L, K,J,H,G, F, E, D, C,B, A) 0 wt, xyz 18 48aa5512 ( a, b, c, d,e, f, g, h,j, k,l, m,n, p,r, s, S,R, P,N, M,L, K,J, H, G, F,E, D, C,B, A) 12 19 4b55aad2 ( a, b, c, d,e, f, g,h, j,k, l,m, n,p, r,s, S, R,P, N,M, L,K, J,H,G, F,E, D, C,B, A) 0 wz, xyt 20 5119988a ( a, b, c,d, e, f, g,h, j, k, l,m,n, p, r,s, S, R, P,N,M, L, K, J,H, G, F, E,D, C,B, A) 12 21 52e6674a ( a, b, c,d, e, f, g, h,j,k,l, m, n,p,r, s, S,R,P, N, M,L,K,J, H,G, F, E,D, C,B, A) 0 wy, xzt 22 5dc7e3ba ( a, b, c,d,e,f, g,h,j,k, l, m, n,p,r,s, S,R,P, N, M, L,K,J,H, G, F,E,D, C,B, A) 20 23 5e381c7a ( a, b, c,d,e,f, g, h, j, k,l,m,n, p, r, s, S, R, P,N,M,L, K, J, H,G, F,E,D, C,B, A) 0 x, wyzt 24 61f81f86 ( a, b,c, d, e, f, g,h,j,k,l,m,n, p, r, s, S, R, P,N,M,L,K,J,H, G, F, E, D,C,B, A) 0 wx, yzt 25 6207e046 ( a, b,c, d, e, f, g, h, j, k, l, m, n,p,r,s, S,R,P, N, M, L, K, J, H,G, F, E, D,C,B, A) 12 26 6d2664b6 ( a, b,c, d,e,f, g,h, j, k,l, m, n,p,r, s, S,R,P, N, M,L, K, J,H, G, F,E, D,C,B, A) 0 y, wxzt 27 6ed99b76 ( a, b,c, d,e,f, g, h,j,k, l,m,n, p, r,s, S, R, P,N,M, L,K,J, H,G, F,E, D,C,B, A) 20 28 7495a92e ( a, b,c,d, e,f, g, h,j, k, l,m, n,p, r,s, S, R,P, N,M, L, K,J, H, G, F, E,D,C,B, A) 0 z, wxyt 29 776a56ee ( a, b,c,d, e,f, g,h, j,k,l, m,n, p,r, s, S,R, P,N, M,L,K, J,H,G, F, E,D,C,B, A) 20 30 784bd21e ( a, b,c,d,e, f, g, h, j,k, l, m,n, p,r,s, S,R, P,N, M, L,K, J, H, G, F,E,D,C,B, A) 0 t, wxyz 31 7bb42dde ( a, b,c,d,e, f, g,h,j, k,l,m, n,p, r, s, S, R,P, N,M,L, K,J,H,G, F,E,D,C,B, A) 20 32 844bd221 (a, b, c, d, e,f, g, h, j,k, l, m,n, p,r,s, S,R, P,N, M, L,K, J, H, G, F, E, D, C, B, A) 20 33 87b42de1 (a, b, c, d, e,f, g,h,j, k,l,m, n,p, r, s, S, R,P, N,M,L, K,J,H,G, F, E, D, C, B, A) 0 34 8895a911 (a, b, c, d,e, f, g, h,j, k, l,m, n,p, r,s, S, R,P, N,M, L, K,J, H, G, F,E, D, C, B, A) 20 35 8b6a56d1 (a, b, c, d,e, f, g,h, j,k,l, m,n, p,r, s, S,R, P,N, M,L,K, J,H,G, F,E, D, C, B, A) 0 36 91266489 (a, b, c,d, e, f, g,h, j, k,l, m, n,p,r, s, S,R,P, N, M,L, K, J,H, G, F, E,D, C, B, A) 20 37 92d99b49 (a, b, c,d, e, f, g, h,j,k, l,m,n, p, r,s, S, R, P,N,M, L,K,J, H,G, F, E,D, C, B, A) 0 38 9df81fb9 (a, b, c,d,e,f, g,h,j,k,l,m,n, p, r, s, S, R, P,N,M,L,K,J,H, G, F,E,D, C, B, A) 12 39 9e07e079 (a, b, c,d,e,f, g, h, j, k, l, m, n,p,r,s, S,R,P, N, M, L, K, J, H,G, F,E,D, C, B, A) 0 40 a1c7e385 (a, b,c, d, e, f, g,h,j,k, l, m, n,p,r,s, S,R,P, N, M, L,K,J,H, G, F, E, D,C, B, A) 0 41 a2381c45 (a, b,c, d, e, f, g, h, j, k,l,m,n, p, r, s, S, R, P,N,M,L, K, J, H,G, F, E, D,C, B, A) 20 42 ad1998b5 (a, b,c, d,e,f, g,h, j, k, l,m,n, p, r,s, S, R, P,N,M, L, K, J,H, G, F,E, D,C, B, A) 0 43 aee66775 (a, b,c, d,e,f, g, h,j,k,l, m, n,p,r, s, S,R,P, N, M,L,K,J, H,G, F,E, D,C, B, A) 12 44 b4aa552d (a, b,c,d, e,f, g, h,j, k,l, m,n, p,r, s, S,R, P,N, M,L, K,J, H, G, F, E,D,C, B, A) 0 45 b755aaed (a, b,c,d, e,f, g,h, j,k, l,m, n,p, r,s, S, R,P, N,M, L,K, J,H,G, F, E,D,C, B, A) 12 46 b8742e1d (a, b,c,d,e, f, g, h, j,k,l,m, n,p, r, s, S, R,P, N,M,L,K, J, H, G, F,E,D,C, B, A) 0 47 bb8bd1dd (a, b,c,d,e, f, g,h,j, k, l, m,n, p,r,s, S,R, P,N, M, L, K,J,H,G, F,E,D,C, B, A) 12 48 c03ffc03 (a, b, c, d, e, f, g, h, j, k,l,m,n,p,r,s, S,R,P,N,M,L, K, J, H, G, F, E, D, C,B, A) 0 49 c3c003c3 (a, b, c, d, e, f, g,h,j,k, l, m, n, p, r, s, S, R, P, N, M, L,K,J,H,G, F, E, D, C,B, A) 20 50 cce18733 (a, b, c, d,e,f, g, h,j,k,l, m, n, p, r,s, S, R, P, N, M,L,K,J, H, G, F,E, D, C,B, A) 0 51 cf1e78f3 (a, b, c, d,e,f, g,h, j, k, l,m,n,p,r, s, S,R,P,N,M, L, K, J,H,G, F,E, D, C,B, A) 12 52 d5524aab (a, b, c,d, e,f, g,h, j,k, l,m, n, p,r, s, S,R, P, N,M, L,K, J,H, G, F, E,D, C,B, A) 0 53 d6adb56b (a, b, c,d, e,f, g, h,j, k,l, m,n,p, r,s, S, R,P,N, M,L, K,J, H,G, F, E,D, C,B, A) 12 54 d98c319b (a, b, c,d,e, f, g,h,j, k, l, m,n,p, r, s, S, R,P,N, M, L, K,J,H, G, F,E,D, C,B, A) 0 55 da73ce5b (a, b, c,d,e, f, g, h, j,k,l,m, n, p,r,s, S,R, P, N,M,L,K, J, H,G, F,E,D, C,B, A) 12 56 e5b3cda7 (a, b,c, d, e,f, g,h,j, k,l,m, n, p,r,s, S,R, P, N,M,L, K,J,H, G, F, E, D,C,B, A) 12 57 e64c3267 (a, b,c, d, e,f, g, h, j,k, l, m,n,p, r, s, S, R,P,N, M, L,K, J, H,G, F, E, D,C,B, A) 0 58 e96db697 (a, b,c, d,e, f, g,h, j,k,l, m,n,p, r,s, S, R,P,N, M,L,K, J,H, G, F,E, D,C,B, A) 12 59 ea924957 (a, b,c, d,e, f, g, h,j, k, l,m, n, p,r, s, S,R, P, N,M, L, K,J, H,G, F,E, D,C,B, A) 0 60 f0de7b0f (a, b,c,d, e, f, g, h,j,k, l,m,n,p,r, s, S,R,P,N,M, L,K,J, H, G, F, E,D,C,B, A) 12 61 f32184cf (a, b,c,d, e, f, g,h, j, k,l, m, n, p, r,s, S, R, P, N, M,L, K, J,H,G, F, E,D,C,B, A) 0 62 fc00003f (a, b,c,d,e,f, g, h, j, k, l, m, n, p, r, s, S, R, P, N, M, L, K, J, H, G, F,E,D,C,B, A) 20 63 ffffffff (a, b,c,d,e,f, g,h,j,k,l,m,n,p,r,s, S,R,P,N,M,L,K,J,H,G, F,E,D,C,B, A) 0
I provide a simple include file library implementing floating point geometric algebra routines for 2D Euclidean space.
Euclidean 2D Space Geometric Algebra Subroutines in C
Euclidean 2D Space Geometric Algebra Demonstration Program in C
Euclidean 2D Space Geometric Algebra Demonstration Program Results
I provide a simple include file library implementing symbolic geometric algebra routines for 2D Euclidean space using the GiNaC library.
Euclidean 2D Space Geometric Algebra Subroutines in C++
Euclidean 2D Space Geometric Algebra Demonstration Program in C++
Euclidean 2D Space Geometric Algebra Demonstration Program Results
I provide a simple include file library implementing floating point geometric algebra routines for Five Dimensional (4,1) spacetime.
Five Dimensional (4,1) Geometric Algebra Subroutines in C
Five Dimensional (4,1) Geometric Algebra Demonstration Program in C
Five Dimensional (4,1) Geometric Algebra Demonstration Program Results
Electrogravity as well as general Dirac quantum mechanics requires a five dimensional spacetime. I implement a geometric algebra using a (4,1) metric, matching a matrix implementation using Dirac Gamma matrices. The Gamma matrices are complexified 4x4 matrices, and have a complex value for their determinant. The pseudoscalar I = wxyzt mimics the complex i, and commutes with all multivectors. The complex number made from (a + A*wxyzt) likewise commutes with all multivectors. For the determinant and Adjugate, I have chosen to implement the complex result to allow easy comparison between conventional gamma matrix versus GA results. However, it is trivial to convert the complex determinant to a magnitude, typically for scaling purposes to create unit magnitude multivectors.
GA metric 4,1 routines (GA5_4_1_Routines.cp)
GA metric 4,1 test program (GA5_4_1_Test_Harness.cp)
GA metric 4,1 test program results (GA5_4_1_Test_Harness.txt)
I provide a simple include file library implementing floating point geometric algebra routines for Minkowski spacetime.
Minkowski Spacetime Geometric Algebra Subroutines in C
Minkowski Spacetime Geometric Algebra Demonstration Program in C
Minkowski Spacetime Geometric Algebra Demonstration Program Results
I provide a simple include file library implementing floating point geometric algebra routines for Euclidean spacetime.
Euclidean Spacetime Geometric Algebra Subroutines in C
Euclidean Spacetime Geometric Algebra Demonstration Program in C
Euclidean Spacetime Geometric Algebra Demonstration Program Results
I provide a simple include file library implementing floating point geometric algebra routines for Euclidean space.
Euclidean Space Geometric Algebra Subroutines in C
Euclidean Space Geometric Algebra Demonstration Program in C
Euclidean Space Geometric Algebra Demonstration Program Results
I provide a simple include file library implementing symbolic geometric algebra routines for Euclidean space using the GiNaC library.
Euclidean Space Geometric Algebra Subroutines in C++
Euclidean Space Geometric Algebra Demonstration Program in C++
Euclidean Space Geometric Algebra Demonstration Program Results
I provide a simple include file library implementing symbolic geometric algebra routines for Euclidean spacetime using the GiNaC library.
Euclidean Spacetime Geometric Algebra Subroutines in C++
Euclidean Spacetime Geometric Algebra Demonstration Program in C++
Euclidean Spacetime Geometric Algebra Demonstration Program Results
Verification of Determinant Formula via Matrices
I provide a simple include file library implementing symbolic geometric algebra routines for Minkowski spacetime using the GiNaC library.
Minkowski Spacetime Geometric Algebra Subroutines in C++
Minkowski Spacetime Geometric Algebra Demonstration Program in C++
Minkowski Spacetime Geometric Algebra Demonstration Program Results
I provide sample C++ code finding all interesting duals and complements for Minkowski and Euclidean spacetime. The geometric product of a multivector and the best duals and complements eliminate ten out of sixteen terms. These are like extensions of the complex conjugate to four dimensional spaces. As such, they lead to great simplifications of formulas for determinants. Basically, a Reverse conjugation, products, complexlike conjugation, products yields the determinant of a Minkowski multivector. The code below illustrates 12 different methods, all leading to the same result. Here is my favorite.
Start with a generic Minkowski spacetime multivector r. Format for Mink is Mink(a_q, a_x,a_y,a_z,a_t, a_xy,a_xz,a_yz,a_xt,a_yt,a_zt, a_xyz,a_xyt,a_xzt,a_yzt, a_xyzt); r = Mink(a, b,c,d,e, f,g,h,i,j,k, l,m,n,o, p) Form the Reverse Conjugate, (index 32736 in my codes below.) s = Mink(a, b,c,d,e, f,g,h,i,j,k, l,m,n,o, p)); Form Clifford product of r and s. Ten terms disappear in the product. t = r*s = Mink(A, B,C,D,E, 0,0,0,0,0,0, 0,0,0,0, P) A = g^2+l^2+b^2j^2o^2e^2+h^2m^2+c^2p^2+f^2k^2i^2n^2+a^2+d^2 B = 2*e*i2*n*k+2*g*d2*o*p+2*f*c+2*h*l2*m*j+2*a*b C = 2*k*o+2*m*i+2*a*c+2*n*p2*g*l2*j*e2*b*f+2*d*h D = 2*j*o+2*n*i2*m*p2*h*c2*k*e2*g*b+2*d*a+2*l*f E = 2*d*k+2*m*f+2*h*o+2*a*e+2*g*n2*j*c2*l*p2*b*i P = 2*b*o+2*j*g+2*n*c+2*a*p2*m*d2*h*i2*k*f+2*e*l We now form a complex conjugatelike term from t w = Mink(A, B,C,D,E, 0,0,0,0,0,0, 0,0,0,0, P) Multiply t and w t*w = Mink(A^2B^2C^2D^2+E^2+P^2, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0) This scalar term is the determinant of r, and it is the fourth power of the magnitude of the complete multivector. This is very nice, as no matrix operations were used in this process! We can do better!, We can now easily define the reciprocol of a Minkowski multivector! Start with t*w = w*t = det(r) = r^4 w = det(r) *(1/t) = det(r)*(1/(r*s)) = det(r)*(1/s)*(1/r) s*w = det(r)*(1/r) (1/r) = (s*w)/det(r) Verification is in Verify_Reciprocol.cp This process works with 4D Euclidean space, as well. Of course, the details of the determinant and reciprocol are different, but the process is the same.
Demonstration Software Finding All Duals
Demonstration Software Finding All Duals Output
Compound Operations Efficiently Finding Determinant (Work in Progress)
Compound Operations Efficiently Finding Determinant (Work in Progress) Output
Verification of Determinant and Reciprocol Formulas
I provide sample C++ code for geometric product, wedge product, antiwedge product, regressive product and assorted unary operators for Minkowski spacetime. Also included is a set of multiplication tables for rank increasing, rank preserving and rank decreasing terms of the geometric product, as well as code for the Expander, Conserver and Shrinker products.
Demonstration Software for Geometric Algebra in Minkowski Spacetime
The Hestenes' (1986) regressive product differs from the Lengyel antiwedge product. This note presents multiplication tables for the geometric, wedge, regressive and antiwedge products, and points out that the sign differs between the regressive versus antiwedge product when both blade factors have odd rank.
Regressive Versus Antiwedge Products
Secrecy surrounds the Zuma mission, presumed lost. I speculate that Zuma may have been a successful spaceplane test, or even a successful warp drive test.
This is a simple proof that the AntiWedge product of Eric Lengyel and Leandro Fernandes is Associative. Previously, I had frustration, wrongly implementing Hestenes' formula. I now show that the Hestenes regressive product (now correctly defined) is associative.
AntiWedge Product is Associative
Professor Leandro Augusto Frata Fernandes, in 2013, posted a very nice set of notes as an introduction to geometric algebra, including his algorithms for calculating wedge, regressive, left contaction and right contraction products. His regressive product agrees with that of Eric Lengyel, increasing my confidence that their formulas are the true regessive product. Implementation of his algorithm and results are in the c file linked below.
2D Associative Demonstration Code
3D Associative Demonstration Code
4D Associative Demonstration Code
Hermann Grassmann's wedge product has been widely adopted in physics and mathematics, but the related regressive product is rarely presented. Eric Lengyel, in Foundations of Game Engine Development, Volume 1, interprets the regressive product as a complement to the wedge product, and provides a geometrical view of the regressive product as a measure of intersection of the multiplied elements. Eric's most important insight is that the noncommutative nature of wedge multiplication leads to two potentially different complements, being the right versus left complement. His antiwedge product uses both complements, and achieves an associative antiwedge product.
This antiwedge product is associative, unlike Grassmann's variations, which gives me confidence that this is a correct implementation. This note will be revised as I gain in understanding.
The AntiWedge Product of Eric Lengyel
David Hestenes, in his (1986) paper "Universal Geometric Algebra", provides a definition of an associative regressive product based upon the Clifford product. This note presents multiplicaton tables and equation sets for the Hestenes regressive product in two, three and four dimensions.
Regressive product 2D V  +q +x +y +xy  +q  0 0 0 +q +x  0 0 q +x +y  0 +q 0 +y +xy  +q +x +y +xy c.q = + a.q *b.xy  a.x *b.y + a.y *b.x + a.xy *b.q ; c.x = + a.x *b.xy + a.xy *b.x ; c.y = + a.y *b.xy + a.xy *b.y ; c.xy = + a.xy *b.xy ; Regressive product 3D V  +q +x +y +z +xy +xz +yz +xyz  +q  0 0 0 0 0 0 0 +q +x  0 0 0 0 0 0 +q +x +y  0 0 0 0 0 q 0 +y +z  0 0 0 0 +q 0 0 +z +xy  0 0 0 +q 0 x y +xy +xz  0 0 q 0 +x 0 z +xz +yz  0 +q 0 0 +y +z 0 +yz +xyz  +q +x +y +z +xy +xz +yz +xyz c.q = + a.q *b.xyz + a.x *b.yz  a.y *b.xz + a.z *b.xy + a.xy *b.z  a.xz *b.y + a.yz *b.x + a.xyz *b.q ; c.x = + a.x *b.xyz  a.xy *b.xz + a.xz *b.xy + a.xyz *b.x ; c.y = + a.y *b.xyz  a.xy *b.yz + a.yz *b.xy + a.xyz *b.y ; c.z = + a.z *b.xyz  a.xz *b.yz + a.yz *b.xz + a.xyz *b.z ; c.xy = + a.xy *b.xyz + a.xyz *b.xy ; c.xz = + a.xz *b.xyz + a.xyz *b.xz ; c.yz = + a.yz *b.xyz + a.xyz *b.yz ; c.xyz = + a.xyz *b.xyz ; Regressive product 4D Spacetime V  +q +x +y +z +t +xy +xz +yz +xt +yt +zt +xyz +xyt +xzt +yzt +xyzt  +q  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +q +x  0 0 0 0 0 0 0 0 0 0 0 0 0 0 q +x +y  0 0 0 0 0 0 0 0 0 0 0 0 0 +q 0 +y +z  0 0 0 0 0 0 0 0 0 0 0 0 q 0 0 +z +t  0 0 0 0 0 0 0 0 0 0 0 +q 0 0 0 +t +xy  0 0 0 0 0 0 0 0 0 0 +q 0 0 +x +y +xy +xz  0 0 0 0 0 0 0 0 0 q 0 0 x 0 +z +xz +yz  0 0 0 0 0 0 0 0 +q 0 0 0 y z 0 +yz +xt  0 0 0 0 0 0 0 +q 0 0 0 +x 0 0 +t +xt +yt  0 0 0 0 0 0 q 0 0 0 0 +y 0 t 0 +yt +zt  0 0 0 0 0 +q 0 0 0 0 0 +z +t 0 0 +zt +xyz  0 0 0 0 q 0 0 0 +x +y +z 0 xy xz yz +xyz +xyt  0 0 0 +q 0 0 x y 0 0 +t +xy 0 xt yt +xyt +xzt  0 0 q 0 0 +x 0 z 0 t 0 +xz +xt 0 zt +xzt +yzt  0 +q 0 0 0 +y +z 0 +t 0 0 +yz +yt +zt 0 +yzt +xyzt  +q +x +y +z +t +xy +xz +yz +xt +yt +zt +xyz +xyt +xzt +yzt +xyzt Equations c.q = + a.q *b.xyzt  a.x *b.yzt + a.y *b.xzt  a.z *b.xyt + a.t *b.xyz + a.xy *b.zt  a.xz *b.yt + a.yz *b.xt + a.xt *b.yz  a.yt *b.xz + a.zt *b.xy  a.xyz *b.t + a.xyt *b.z  a.xzt *b.y + a.yzt *b.x + a.xyzt*b.q ; c.x = + a.x *b.xyzt + a.xy *b.xzt  a.xz *b.xyt + a.xt *b.xyz + a.xyz *b.xt  a.xyt *b.xz + a.xzt *b.xy + a.xyzt*b.x ; c.y = + a.y *b.xyzt + a.xy *b.yzt  a.yz *b.xyt + a.yt *b.xyz + a.xyz *b.yt  a.xyt *b.yz + a.yzt *b.xy + a.xyzt*b.y ; c.z = + a.z *b.xyzt + a.xz *b.yzt  a.yz *b.xzt + a.zt *b.xyz + a.xyz *b.zt  a.xzt *b.yz + a.yzt *b.xz + a.xyzt*b.z ; c.t = + a.t *b.xyzt + a.xt *b.yzt  a.yt *b.xzt + a.zt *b.xyt + a.xyt *b.zt  a.xzt *b.yt + a.yzt *b.xt + a.xyzt*b.t ; c.xy = + a.xy *b.xyzt  a.xyz *b.xyt + a.xyt *b.xyz + a.xyzt*b.xy ; c.xz = + a.xz *b.xyzt  a.xyz *b.xzt + a.xzt *b.xyz + a.xyzt*b.xz ; c.yz = + a.yz *b.xyzt  a.xyz *b.yzt + a.yzt *b.xyz + a.xyzt*b.yz ; c.xt = + a.xt *b.xyzt  a.xyt *b.xzt + a.xzt *b.xyt + a.xyzt*b.xt ; c.yt = + a.yt *b.xyzt  a.xyt *b.yzt + a.yzt *b.xyt + a.xyzt*b.yt ; c.zt = + a.zt *b.xyzt  a.xzt *b.yzt + a.yzt *b.xzt + a.xyzt*b.zt ; c.xyz = + a.xyz *b.xyzt + a.xyzt*b.xyz ; c.xyt = + a.xyt *b.xyzt + a.xyzt*b.xyt ; c.xzt = + a.xzt *b.xyzt + a.xyzt*b.xzt ; c.yzt = + a.yzt *b.xyzt + a.xyzt*b.yzt ; c.xyzt = + a.xyzt*b.xyzt ;
The Regressive Product per Hestenes 1986 Code
Hermann Grassmann's wedge product has been widely adopted in physics and mathematics. However, the related regressive product is rarely presented, due to varying interpretations and prescriptions for implementing the regressive product. Instead, various methods are presented for unions and intersections, joins and meets. This note presents a simple set of products based upon AND, OR and XOR logic operations operating on geometric elements. These products are associative, in contrast with the common regressive products. The program Regressive_AND_OR_XOR.cp is provided for associativity verification.
The Wedge, AND, OR and XOR Products
The AND, OR and XOR Products Validation Code
The AND, OR and XOR Equation Generator Code
I am fond of the Frenet Serret formulas for curvatures for trajectories, and I like extending these formulas to geometric algebra. Here are some simple calculations using geometric algebra and the wedge product to calculate curvature and torsion for the simple cases of the line, a circle, and a spiral.
Frenet Formula Examples Using Geometric Algebra
Using real matrix implementations of three dimensional Euclidean geometric algebra and Minkowski geometric algebra, we can define the determinant of a multivector, which can be used as a measure of magnitude. Likewise, we can define unary operators which change the sign of various multivector components in a fashion similar to complex conjugation, which preserve the value of the determinant, but zero out substantial portions of the multivector product with the original multivector. This note documents the determinants in Euclidean and Minkowski space, lists the interesting unary operators which preserve determinant, then documents efficient calculation of the determinant using these unary operators.
Unary Operators and Determinants
I've been through many variations trying to clearly understand the Dirac equation, and quantum mechanics in general. This particular variation has me quite pleased. The standard Dirac treatment appears to only partially occupy the fourspace and fivespace standard implementations. I decided to drop down to threespace only, and see what I could come up with.
Using Euclidean, threespace geometric algebra, I find the Dirac equation maps into a threespace, eight component multivector, as compared to the four component complex spinors. More importantly, these eight components have a nice geometric interpretation. The scalar equation corresponds to energy terms. We find three equations for linear momentum, three equations for angular momentum (curvature), and one equation for torsion. I find that the wavefunction corresponds to a unit magnitude multivector corresponding to a local Frenet multivector frameset, being psi = (1 + u + un + unb) where the tangent u provides flowlines, and the curvature term un indicate normals to the flowlines (akin to equipotentials in EM field plots).
I further find these equations, in the macroscopic view (where hbar multiplied terms are sent to zero) provides coupling between linear momentum and angular space terms which are not part of our standard technology. I expect these terms to manifest as an electrogyroscopic effect, and intend to wind toroidal coils to realize these effects in hardware shortly.
Dirac Equation in 3D! (Drafts in Revision)
In Minkowski geometric algebra, I commonly use the anticommutating vector basis (x, y, z, t). I found early on that the quadvector xyzt also anticommutes with the vector basis to make a set of five anticommutating members. Curious as to whether there were any other sets in Minkowski spacetime, I quickly found six total sets of five anticommutating elements, which could be used to factor the Dirac equation without sources, for example.
Knowing that several sets exist, the question arises of how many set exist, and what are their members. To answer this question, I have written two small programs to identify and enumerate all anticommutating sets in four dimensional Minkowski spacetime, and five dimensional Dirac spacetime.
This note documents the anticommutating sets in Minkowski and Dirac geometric algebras. I find 60 pairs, 80 triads, 30 tetrads and 6 pentads in Minkowski geometric algebra with a signature of (+ + + ). I find 240 pairs, 640 triads, 480 tetrads and 192 pentads in Dirac geometric algebra with a signature of (+ + + + ).
Anticommutating Basis Elements in Minkowski Geometric Algebra
Anticommutating Basis Elements in Dirac Geometric Algebra
Geometric algebras are associative, noncommutative algebras which can be mapped to matrices. As such, the geometric algebras have matrix related operations, such as determinants, eigenvalues and eigenvectors. This note documents and provides formula for matrix related operations for the specific case of Minkowski geometric algebra, using an east coast metric of (+,+,+,).
Matrix Operations In Minkowski Geometric Algebra
This project began as a simple effort to cast the Dirac equation into geometric algebra terms following the example of David Hestenes, but using real 4x4 matrices as a geometric algebra representation (with metric (+,+,+,)), rather than the complex algebra matrices used by Dirac. Each attempt (of many) to eliminate complex numbers failed. Upon admitting defeat in fourspace, I realized that the complexified Minkowski fourspace describes a five dimensional geometric algebra, with signature (+,,,,+). Having made this realization, I quickly found many others, such as Jose Almeida in Portugal, N. Redington and M.A.K. Lodhi (USA), and the grand master Dirac himself (1935) have made five dimensional models for the Dirac electron.
This project is finally beginning to make me happy. At this point, the draft paper derives a set of eight real (or four complex) component equations for the Dirac wavefunction using the standard Bjorken and Drell matrices. I then set up a five dimensional geometric algebra with signature (+    +) matching the Bjorken and Drell matrices. Corresponding to the column wavefunction, I have a left ideal multivector. I then recover the same set of eight equation found in the standard approach.
Demonstration code, including matrix and multivector implementation and utilities is at Dirac_vs_Ginac.cp
Quantum Reannotated: The Dirac Equation
David Delphenich has translated the 1929 paper On a possible geometric interpretation of relativistic quantum theory by V. Fock and D. Ivanenko. This paper provides a geometric interpretation of the Dirac equation, and points out that the expected velocity of the electron is always c. This note is an extract of their work.
Fock and Ivanenko's Luminal Electron
Four twobytwo matrices can be used to implement two dimensional Euclidean geometric algebra. The pairwise direct product of these matrices provides sixteen real fourbyfour matrices implementing four dimensional Minkowski geometric algebra with (+,+,+,) signature. These sixteen geometric algebra elements can be arranged in a fourbyfour grid sharing many of the symmetries of magic squares, with the substitution of the geometric product in place of addition. Seventy two mappings in magic square format and geometric algebra basis format are listed. I suspect that these mappings may enable practical sigma deritrinitation.
The Magic Square at the Heart of Spacetime
Magic squares are usually presented as a mathematical recreation. These squares have a sequence of integers, arranged such that the sum across each row, sum down each column, and the sum across each diagonal equals the same magic constant. Within the family of 7040 4x4 magic squares is a subset of 384 with an even greater degree of symmetry. These pandiagonal 4x4 magic squares sum to the magic constant along every broken diagonal, glide path and 3x3 cell spacing.
This note describes and provides source code for finding the 549504 semimagic 4x4 squares, where we only require matching sums across and down. The note then filters this list to identify the 7040 4x4 magic squares which also include the requirement that the diagonals sum to the magic number, as well as the rows and columns. After that, this note filters down to the 384 panmagic squares, which have 52 different formulas summing to the magic number. Having found the 384 squares, we then look at Grogono's bit plane decomposition (magic carpets), finding a set of eight planar bit patterns, which can be derived from any one member by rolling and rotating operations.
Sixteen 4x4 matrices can be used to represent the basis for Minkowski geometric algebra. These matrices are outer products of a set of 2x2 planar Euclidean geometric algebra matrices. This note lists the 4x4 matrices, and their originating 2x2 matrices.
Direct Product Factors for Minkowski Matrices
Inside Minkowski Geometric Algebra with signature (+,+,+,) are six subspaces with are isomorphic
to three dimensional Euclidean geometric algebra. As each of these subspaces has the same mathematical
structure as three space,
we can use our standard tools, such as translations, scaling, rotations, cylindrical coordinates,
spherical coordinates, and so forth in these subspaces.
A program demonstrating and verifying these six representations is
Six_Euclideans.ginac.cp
Furthermore, within Minkowski geometric algebra are twelve nontrivial remappings, allowing
our additional fourspace standard tools of rotations, boosts, and hyperbolic geometry to be
used in novel forms, as well.
A program demonstrating and verifying these twelve representations is
Twelve_Minkowskis.ginac.cp
Symmetries In Minkowski Geometric Algebra
Geometric Algebra in 3D Euclidean space can be implemented at least six ways using 4x4 real matrices, using half the available degrees of freedom. Digging into the multiple representations, we find 3D Euclidean geometric algebra to be an even grade subset of a 4D Minkowski space with signature (+,+,+,). Usually, we stop here, and get excited about 3D space as a spinor subspace of 4D. However, I wanted to dig deeper, looking further into the symmetries associated with this 4x4 matrix set of representations. What I came to realize, is that we have nine elements which square to unity, which can be arranged into a 3x3 grid such that across each row we have a set of anticommutating elements which can be used as a linear basis, and down each column, likewise, we find sets which can be used as a linear basis. In the ordinary geometric algebra implementation, we indeed use one of these sets for our spatial basis and associated trivector. We use another set for our spacetime bivectors, and the third set for three trivectors. However, the symmetries involved give no special assignment among our six candidate arrangements. Looking at this from the point of view of modelling an electron as a general purpose multivector, I find a neat opportunity. Instead of viewing this 4x4 set of basis as a Minkowski spacetime, I look at this as a conventional three space Euclidean algebra, augmented with two more displacements and associated trivectors. These displacement may be independent deltas from a particle center, or may be internal degrees of freedom somewhat like isospin. I prefer the real space delta, at this time. Given a three component model for the electron of a luminal charge between two real magnetic monopoles of opposite polarity, this mathematical reinterpretation is exciting.
The Dirac matrices can be interpreted as a set of basis for geometric algebra in a Minkowski metric space. The imaginary factors in Dirac's gamma matrix have always annoyed me. In this note, I present twelve alternatives to the Dirac matrices, using simple real numbers, for a metric (+,+,+,). Supporting code is at Minkowski.c
David Hestenes, Chris Doran, Anthony Lasenby, and others have implemented the Dirac equation for the the relativistic electron in geometric algebra. David Hestenes, in particular, has shown how the geometric algebra view provides insight into electron motion. This note starts with Dirac's development, then repeats the geometric algebra translation using a (,,,+) signature. Finally, the same translation is carried out using a (+,+,+,) signature. The result is a purely real multivector Dirac Equation with no imaginaries.
The Dirac Equation in Geometric Algebra
The Stern Gerlach experiment demonstrates separation of components of a molecular beam via the force on magnetic dipoles in a magnetic field gradient. Most presentations of the Stern Gerlach experiment are simple cartoons or pleasant animations, which leave the real student hungry for detail. Fortunately, several schools, such as MIT, University of Wisconsin, Singapore National University, University of Potsdam, University of Zurich, and RWTH Aachen have replication of the Stern Gerlach experiment part of the standard physics curriculum. MIT and University of Wisconsin have locally produced replications, while the other schools I looked at were using variations on a trainer made by Phywe GmbH. (Phywe link requires cookies to be active.)
There are two major differences
between the original Gerlach Sterns versus the modern replicants.
First, the modern replications use potassium,
rather than silver, as the atomic source. Like silver, potassium has a single unpaired
electron in the outer shell. Potassium (63.4 C) has a much lower melting point than silver (962 C),
with the result that a 12W power supply is adequate for the furnace, and third degree burns are harder to obtain.
However, potassium is more chemically reactive than silver, and requires
attention in handling,
operations and cleanup. (Glauss' work also has a nice picture of the magnetic pole faces.)
The second major difference is that instead of a passive witness plate, as used in the
original experiment, PHYWE uses a LangmuirTaylor surface ionization sensor. In this detector,
neutral potassium atoms hit a heated tungsten filament, and become ionized. These ions are
accelerated by a 50V field, and impact a collector. Picoamp beam currents are routinely measured
over a small area. This device does not provide a two dimensional
display of beam intensity. Instead, a horizontal traverse is made by moving the sensor. This one
dimensional slice is only available in one plane.
University of Zurick has a nice writeup, also showing the potassium oven as well as the LangmuirTaylor probe.
A few more links.
A pleasant, slightly technical article
from the Lindau council about Stern and Gerlach. This article has photos of the original apparatus, as well
as some technical dimensions.
Another pleasant popular article, this from Physics Today, with some technical information.
Lisa Felker's Senior Project
at RWTHAachen, done concurrently with Benjamin Glauss, referenced above. Like the lab manual from Phywe, and Benjamin Glauss' senior
project, this has nice mathematical detail concerning the beam interaction with the divergent field, and nice
quality curves for beam current profiles at different magnet current settings. From the data presented, these various authors
calculate the magnetic moment for the potassium atom within a few percent of standard values.
In the geometric algebra presentation of classical electromagnetics, we have a multivector whose vector portion is the electric field, whose bivector portion is the magnetic field, and whose scalar portion is a measure of deviation from the Lorentz gauge. In this note, I propose viewing this Lorentz field Phi as of equal status as the electric and magnetic fields. I provide wave equations for E, B, and Phi, and point out the coalescent nature of the Lorentz field. This presentation is not done in geometric algebra, but rather conventional vector notation to allow easy comparison to standard texts, such as Griffiths.
Lorentz Field in Electromagnetics
This is the second set of notes looking at fundamental equations of quantum mechanics,
Wolfgang Pauli was adamant about keeping the spin axis distinct from the coordinate space. Perhaps he was influenced by considerations of four dimensional space, where we can have two independent, orthogonal planes of rotation. Perhaps he viewed the electron as a point particle, and felt that a zero dimensional point particle, lacking extent, could not rotate, generate a magnetic field or possess angular momentum. Unlike Louis de Broglie, Pauli was not open to the idea of an electron in continuous motion (action), selfinteracting, following a curved path even in the absense of external magnetic fields. Regardless of how he felt, the spin matrices he used in the development of the Pauli Schrodinger equations are a direct match for geometric algebra.
Interestingly enough, all traces of the sigma matrices disappear from the actual set of wave equations.
In effect, the sigma matrices and the geometric algebra were but a scaffolding to incorporate spin. Having served its purpose, it is quietly removed. From this point of view, I think I can better understand Wolfgang Pauli. Slightly restating his position, he made no assumptions about the nature of spin. It could be local geometric circulation. It could be some isospace separate from our experience. From the point of view of the wavefunctions, the origin does not matter.
Pauli Equation and Geometric Algebra
I'm starting a series of notes following the steps of Hestenes, Doran and others in writing quantum mechanics in geometric algebra form. This first note is rather simple. The spinless Schrodinger equation is merely a complex field, scalar plus trivector. I think the better value of this particular note is the step by step translation to operator format for a single particle in an electromagnetic field.
Schrodinger's Equation in Geometric Algebra Format
These note explore the extension of electromagnetism by use of the geometric and wedge products with multivector potentials.
Extending Electromagnetism via Geometric and Wedge Products
These are crib notes covering the use of the wedge product with derivative and differential terms. I am fascinated by the fact that the dimensionality of space interacting with the wedge product limits the complexity we can have in our mathematical descriptions.
Derivative and Differential Wedge Multivector Products.
As I gain more experience with geometric algebra, I revisit my formula summary sheets, and update them with my current understanding. This is an update formula and code dump for three dimensional Euclidean geometry. Code is at Tests.GA3DE_3_0_0.ginac.cp.
Geometric Product, Wedge Product, Regressive Product and Various Unary Operators.
Geometric algebra defines composite structures of scalars, vectors, bivectors and higher order terms. When two multivectors are multiplied, if the internal units are different, such as meters for the vectors, meters squared for the bivectors, and so on, then the resulting product has mixed units in some of the product terms. By contrast, when using the wedge product, the resulting product has the same spatial unit arrangement as the two incoming factors. Executive summary:
Mixed Units in Geometrical Products
This is a posting looking at duality in three dimensional electromagnetism, from the point of view of Geometric Algebra. I present the standard Maxwell Equations, followed by a brief discussion of parity, and the axial versus polar vector problems. I then present the standard dualities of electromagnetism, leading to the complex number format for the Maxwell equations. Next is a presentation of geometric algebra in three dimensional Euclidean space. I then finish with the Maxwell equations translated into multivector format, and discussion of duality within this format.
Electromagnetic Duality in 3D Geometric Algebra
This note follows Garret Sobczyk's introductory material in Chapter 1 of New Foundations in Mathematics, ISBN 9780817683849. I provide snippets of C code, and a step by step walkthrough of the process of obtaining the idempotents and some nilpotents in a modular arithmetic system.
Idempotents and Nilpotents Illustrated Using Modular Numbers
A C program demonstrating these techniques is Modular_Numbers_7.c
This is a set of online notes and exercises with Nilpotents and Idempotents. Some items of interest to me are generating different nilpotents from using sandwich products around a multivector, as in z_{new} = z*M*z, generating nilpotents using commutating terms in geometric algebra, such as z_{new} = z*(a + b e_x e_y e_z), and identifying factors of zero, as in P_+ P_ = 0 => P_+ = A z, P_ = z B.
Exercises with Nilpotents and Idempotents
Idempotents (mathematical objects which square to themselves) and Nilpotents (mathematical objects which square to zero) are powerful mathematical tools found in quantum mechanics, as well as in algebraic descriptions of spacetime. This note discusses idempotents and nilpotents in the context of fundamentals of mathematics, and illustrates their utility in finite dimensional spacetime, as well as their role linearizing complex operations.
Extreme Utility of Nilpotents and Idempotents
I present general formulas for Nilpotents (nonzero expressions which square to zero) and Idempotents (expressions which square to themselves) in 2D and 3D Euclidean Geometries. Rather than being simple a number/vector recombination, it proves that idempotents can easily have scalar, vector and bivector components. Formulas are provided for general idempotents annihilator pairs in 2D and 3D.
Nilpotents and Idempotents in 2D and 3D Euclidean Geometric Algebra
Using matrices to represent geometric algebras is known, but not necessarily the best practice. While I have used small computer programs to scan through candidate matrices to find representations, I have not been able to derive such matrices from first principles. Garret Sobczyk, however, has. I repeat his derivation here, for 2x2 matrix representation of the 2D geometric algebra, including more intermediate steps for easier understanding.
Garret Sobczyk's 2x2 Matrix Derivations
A funny thing happened on the way to the fourth dimension. . .
So I have been thinking about the relationship between Clifford Algebras and matrix representations of these algebras. My initial belief has been that the matrix representations are a useful, but coincidental mapping. However, looking at the two dimensional case, I began to suspect that there may be more than coincidence in the mapping. Specifically, the two dimensional case showed a relationship between rotary transformations and linear translations, where each of the four algebra elements was both an element and an operator.
As I examined the three dimensional Geometric (Clifford) Algebra, it became clear that 3x3 matrices could not represent 3D Euclidean Clifford Algebra due to the absense of bivectors which square to negative one. However, in 4x4 matrices, six fundamental, and at least 48 representations were readily available. Now, in each of the representations, each element has a nonzero determinant, which is inherently necessary for the higher order multivector products to have nonzero determinant. This in turn is related to the highest order multivector term having a hypervolume equal to the determinant of it's representation.
In effect, from the unit scalar, through vectors, through bivectors, including the trivector, each representation for the three dimensional elements is algebraically a quadvector in fourspace. From the coincidental, but useful mapping point of view, this is no big deal. From the literal realities point of view, this is interesting indeed. Even more fun, is the categorizing of the six fundamental representation as two independent sets of three, with the two sets dual to the other. Regardless of set identification, the idea of three dimensional reality as a sort of downward projection of a four dimensional greater reality is fascinating.
As I scan the matrix space for 4x4 matrices, I find 21 matrices sets (+/ factors between pairs) with zero trace, and nonzero determinant which square to one. In a similar fashion, I find only six pairs (+/ factors between pairs) which square to negative one. In Euclidean Geometric algebra, vectors and quadvectors square to one, while bivectors and trivectors square to negative one. Given the single scalar, four vectors, six bivectors, four trivectors, and single quadvector structure of this algebra, we see that faithful representation is impossible using 4x4 matrices, as we need ten independent elements which square to negative one, but only six are available.
(Updated Jan 20, 2016.) We have an interesting set of 4x4 matrices, listed below, which implements Minkowski spacetime.
In the matrices below, I have 16 mutually orthogonal matrices. Ten of these, being the unit matrix, and nine others, square to +1. The nine nonunit matrices are mutually anticommutative, and their pair wise products produce six other orthogonal matrices, which square to 1.
Rank Order Matrix Printout q [ 1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] x y z t [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] [ 1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] [ 0 0 0 1 ] y z z x x y t z t y t x [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] [ 1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] x y z x y t z x t y z t [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 0 0 1 ] [ 1 0 0 0 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] [ 0 1 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] x y t z [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ]
Source code Study_The_Nine.c
My current plan is to do some comparisions between the 2D Euclidean Algebra, the 4x4 simple representation, and the 2x2 'folded' representation. The fact that the 2x2 matrix representations require nonzero determinants seems to put each of the representation matrices on a same footing, as far as dimensional units are concerned.
After this, I intend to ponder the many Minkoswki implementations in 16x16 straightforward matrix representation, as well as in the 4x4 representations. I would also like to better understand why 4x4 matrices don't support Euclidean four space, but do support Minkowsi.
Finally, I want to spend some more time pondering the possibility of Minkowski space being an assembly error, where a bivector was mistakenly used for time. At the very least, I should be able to get a nice scifi shortstory. At the best, there may be something really good here.
Set 1 1 x y z [ 1 0 0 0 ] [ 0 1 0 0 ] [1 0 0 0 ] [ 0 0 0 1 ] [ 0 1 0 0 ] [1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] xy zx yz xyz [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 0 0 1 ] [1 0 0 0 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 1 0 0 ] Set 2 1 x y z [ 1 0 0 0 ] [ 1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [1 0 0 0 ] [ 0 0 0 1 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 1 0 0 ] xy zx yz xyz [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 0 0 1 ] [1 0 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [1 0 0 0 ] [ 0 1 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [1 0 0 0 ] [1 0 0 0 ] Set 3 1 x y z [ 1 0 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] xy zx yz xyz [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [1 0 0 0 ] [ 0 0 1 0 ] Set 4 1 x y z [ 1 0 0 0 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 1 0 0 ] xy zx yz xyz [ 0 1 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [1 0 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 1 0 0 ] [1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [1 0 0 0 ] [ 0 1 0 0 ] [1 0 0 0 ] Set 5 1 x y z [ 1 0 0 0 ] [1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 0 1 ] [ 0 1 0 0 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 1 0 ] [ 0 0 1 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 1 0 0 ] [ 0 0 0 1 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 1 0 0 0 ] xy zx yz xyz [ 0 1 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 0 1 0 ] [ 1 0 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 0 0 1 ] [ 0 0 0 1 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [1 0 0 0 ] [ 0 0 1 0 ] [1 0 0 0 ] [ 0 1 0 0 ] [ 0 1 0 0 ] Set 6 1 x y z [ 1 0 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [1 0 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 0 1 ] xy zx yz xyz [ 0 1 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 0 1 0 0 ] [1 0 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 0 1 ] [ 0 0 1 0 ] [ 1 0 0 0 ] [ 0 1 0 0 ] [ 0 0 1 0 ]To identify vectors, which square to positive one, I wrote a program treating each cell of the 4x4 matrix as a location which could be 1, 0 or +1. In effect, this defines each possible matrix as a sixteen digit trinary number. In this fashion, I identified 5436 matrices which square to one. To be more selective, I then further required each candidate have a nonzero determinant, and twelve zeroes. This reduced the vector list to 76, but looking at the list, there were a number of entries with trace 2 or 2, which would not be orthogonal to the unit vector. Consequently, I further restricted the list by requiring trace = 0, which lead to the short list of 42 vector candidates. (Douglas Adams fans should take note.) Of these 42 entries, half are negatives of the other half, so we really have 21 unique entries. Next, I formed all 21 x 21 products, looking for antisymmetric pairs whose product squared to negative one. These products can be either bivectors or trivectors, depending upon the context of the basis vectors chosen. Examing the feeders for each bivector/trivector candidate, I identified six sets of positive representations for 3D Euclidean Clifford algebras.
More details are in
3D Euclidean Geometric Algebra and Matrix Representation.
I am currently reexamining GA with an eye toward what the basis vectors *really are*, rather than what they do. As a tool in this investigation, I am examining the matrix representations of the basis elements, and treating the implied coordinate transformations as a reality, as opposed to a bookkeeping convenience.
There is somewhat of a chicken and the egg circular reference in this situation.
Because geometric algebra is associative, and has a multiplication table, we can
find a matrix representation for the elements of this algebra. Now that I am
examining these matrix elements, I begin to suspect things are the other way around.
Each basis matrix has a clear geometrical meaning, usually involving reflections or
rotations. Reflections, in turn, look like a rotation through 180 degrees in a transverse
higher dimensional space. I suspect that the elements of GA are these fundamental
rotations potentially projected from a higher space. I suspect that the associative
nature of GA is the result of the matrix representation of these fundamental rotational
elements.
2D Euclidean Geometric Algebra and Matrix Representation
These program are written in C to create generic geometrical multivector products in 4D, with choice of /+1/0/1/ for each metric, choice of +/ 1 for each multivector component convention, and a nice printout of the generic multivector product, as well as the standard collection of vector*vector, vector*bivector, vector*trivector, vector*quadvector, bivector*trivector and so on expressions.
A demonstration program in C is Cliff_4E.c
The fuller collection of programs and outputs is
Clifford Equation Makers.tar.gz
Usually, practitioners of GA (Geometric Algera) avoid component level work, preferring to use symbolic multiplication in the same manner as vector arithmetic operators prefer to avoid components, using vector symbols instead.
I find for myself, however, that I need to be able to explain concepts to a computer to be sure that I understand these concepts myself. Accordingly, I need to be able to write code working with GA at the component level.
Below is a multiplication table and set of component equations for the Euclidean 3D Multivector products. Each bit in the numbers below indicates a directional basis, so the directional unit basis are e.1, e.2 and e.4 in the table below. The scalar term is e.0, which commutes with all other terms. The bivector terms (directed areas) are e.3, e.5 and e.6, and the pseudoscalar (volume element) is e.7.
e.0 e.1 e.2 e.3 e.4 e.5 e.6 e.7 e.1 e.0 e.3 e.2 e.5 e.4 e.7 e.6 e.2 e.3 e.0 e.1 e.6 e.7 e.4 e.5 e.3 e.2 e.1 e.0 e.7 e.6 e.5 e.4 e.4 e.5 e.6 e.7 e.0 e.1 e.2 e.3 e.5 e.4 e.7 e.6 e.1 e.0 e.3 e.2 e.6 e.7 e.4 e.5 e.2 e.3 e.0 e.1 e.7 e.6 e.5 e.4 e.3 e.2 e.1 e.0 c.e0 = + a.e0*b.e0 + a.e1*b.e1 + a.e2*b.e2  a.e3*b.e3 + a.e4*b.e4  a.e5*b.e5  a.e6*b.e6  a.e7*b.e7 ; c.e1 = + a.e0*b.e1 + a.e1*b.e0  a.e2*b.e3 + a.e3*b.e2  a.e4*b.e5 + a.e5*b.e4  a.e6*b.e7  a.e7*b.e6 ; c.e2 = + a.e0*b.e2 + a.e1*b.e3 + a.e2*b.e0  a.e3*b.e1  a.e4*b.e6 + a.e5*b.e7 + a.e6*b.e4 + a.e7*b.e5 ; c.e3 = + a.e0*b.e3 + a.e1*b.e2  a.e2*b.e1 + a.e3*b.e0 + a.e4*b.e7  a.e5*b.e6 + a.e6*b.e5 + a.e7*b.e4 ; c.e4 = + a.e0*b.e4 + a.e1*b.e5 + a.e2*b.e6  a.e3*b.e7 + a.e4*b.e0  a.e5*b.e1  a.e6*b.e2  a.e7*b.e3 ; c.e5 = + a.e0*b.e5 + a.e1*b.e4  a.e2*b.e7 + a.e3*b.e6  a.e4*b.e1 + a.e5*b.e0  a.e6*b.e3  a.e7*b.e2 ; c.e6 = + a.e0*b.e6 + a.e1*b.e7 + a.e2*b.e4  a.e3*b.e5  a.e4*b.e2 + a.e5*b.e3 + a.e6*b.e0 + a.e7*b.e1 ; c.e7 = + a.e0*b.e7 + a.e1*b.e6  a.e2*b.e5 + a.e3*b.e4 + a.e4*b.e3  a.e5*b.e2 + a.e6*b.e1 + a.e7*b.e0 ;A simple program to build these tables and relations is Clifford_Product.c, while a sanity check on the associative properties is Test_Euclidean.c.
As I gain more experience with geometric algebra, I am forming more opinions about style.
A short program demonstrating generic GL3 product, as well as products of vector*vector, vector*bivector,
vector*trivector, and bivector*trivector is CL3.ginac.cp.
Terry Pratchett and Stephen Baxter have released "The Long Mars", the third book in the Long Earth series. This book is a fine bus ride companion, being little snippets easily interrupted and resumed. This book overall is nothing exciting. The best insight from this book is that stepping spaces are gravitationally coupled, and that the stepspace for Earth versus the stepspace for Mars do not necessarily align.
In the Universe as a Simulation theme, the Baryon Imbalance number is the ratio mismatch of the initial number of matter versus antimatter in the initial universe. According to Ning Bao and Prashant Saraswat, this ratio is between 6.5 to 5.9 E10. Now, having taught a few computer courses, I recognise this number as being very close to the imbalance between positive versus negative values in 32 bit computers. We have a slight asymmetry in signed, twos complement numbers where we can go one count more negative than positive. For 32 bit numbers, the range is 2147483647 to 2147483648, and the imbalance is 1/2^32 = 2.32830643654e10. Numerically scaling by e, to get a predesired result, has e/2^32 = 6.32899307753e10, within the range quoted above. My scifi alterego loves the idea that we are in a simulation, where a vendor substituted a cheaper binary processor in place of the specified trinary processor, and we are the accidental result of this unauthorized substitution.
The concept of our universe being the interior of a rotating black hole in 5 space has gained significant traction
during the last twenty years. I am very appreciate of "The Universe is Only Spacetime" by John A. Macken for many
of the insights he presents. I especially like his treatment of the connection between gravitational potential,
and escape velocity as the paradigm to look at gravity, rather than the point of view of acceleration and
gravitation potential gradient. He points out that the escape velocity from the center of the earth is higher than
the escape velocity from surface of the earth at the north pole, which in turn is higher than the escape velocity
at the equator. Let's use this approach to the formation of a black hole in fivespace, and how it would appear to
the observers inside at later times. Being a scifi fan, I use the analogy of an illegal trash dump, where our villian
has continued to dump refuse. At the center of the dump, the escape velocity is increasing with each load until  uh oh 
we hit criticality. Treating lightspeed as a limit, the innermost radii begins to bubble outward, with the interior
empty due to the prohibition of crossing the luminal barrier. This is the big bang initiation for this new island universe.
The wavefront propagates outward at increasing speed as overlayers fall into the event horizon. This is the inflationary
epoch. Once the event horizon has consumed the mass of the illegal garbage dump, inflation stops, being starved of new
mass, and the system begins a new life as a quasi stable black hole on the outside, brand new universe on the inside.
Interior properties of the membrane are set by the mass, charge and rotation of the blackhole; this will generally be different
for each universe. As the universe really is the membrane of the black hole, dimensionality is down by one. Our five dimensional
black hole hosts a four dimensional universe. Our four dimensional universe has its own black hole decendents which
have three dimensional universes, and so on. Given that the black holes have angular momentum, one of the directional
degrees of freedom will not be symmetrical, such as our time, versus r, theta and phi. Some fun here, is that
true four dimensional space can support two orthogonal rotations spaces. . .
Eric Dollard posed a transmission line puzzle. ************* Original Posting *********************** I have a D.C. transmission line, the conductors are 2 inches in diameter, spacing is 18 feet. How many ounces of force are developed upon a 600 foot span of this line, for the following; 1. 1000 ampere line current. 2. 1000 KV line potential?Here is my answer.
Like any major event, there have been prophets who correctly called reality. In this case, George Sudarshan, Chodos, Hauser, Kosteleck, Ehrlich and Eue Jin Jeong are some names to look for.
Chodos, I believe, makes the correct assertion that the left hand only helicity of neutrinos, and the right hand only helicity of antineutrinos, guaranteed luminal or tachyonic speeds, and that the presence of neutrino flavor oscillation locked out luminal only speeds leaving strictly superluminal speeds for neutrinos. Because his argument is so neat, I've spent some time to understand his points, and I'm hoping to be able to communicate his arguments.
Neutrinos have an inherent spin, and consequently can be thought of as following a spiral path as they propagate. A good mental picture is to think of the tips of a propellor on an airplane. As the plane flies, the tips of the propellor trace a spiral path. Helicity is measure of the torsion of a spiraling curve. If we are stationary, watching a plane advance toward us, counterclockwise rotation of the propellor and the closing radial distance traces out a right hand thread, in the sense of screw. This is positive torsion, positive helicity. Now, assume we change our speed from stationary to faster than the airplane. The airplane is now separating from us, as we leave the airplane behind. From our point of view, the trajectory of the propellor tips has changed from a counterclockwise motion approaching to a counterclockwise motion receding. The apparent pitch of the spiral, from our point of view, has become negative, and is described as a left handed screw with negative torsion (from our point of view).
We can directly measure high energy neutrinos, and we indirectly infer high and low energy neutrinos when looking at particle decays. The experimental fact is that we see only lefthand neutrinos, and only righthand antineutrinos. If neutrinos travelled at subluminal speeds, a change of reference velocity would guarantee a mix of left and right handed neutrinos. The lower in energy, the closer to 50/50 the randomized mix should be. Because we see *none*, we know neutrinos had to be luminal or beyond.
Now for the fun stuff here. Ordinarily, when we work with mass, we are dealing with stable particles. (Think electrons, protons, etc.) Mass for these particles is a real number, corresponding to an inverse spatial distance in natural units. Unstable particles, on the other hand (think muons, neutrons, etc.), get an imaginary component of mass proportional to the inverse particle lifetime. Particles with mass, even imaginary mass, cannot propagate at light speed. Consequently, when the solar neutrino paradox of 1/3 neutrino flux came up, when physicist proposed neutrino flavor oscillations, this implied neutrino mass, and that, in turned, ruled out luminal speeds. (Neutrino flavor oscillations have been experimentally verified using reactor generated neutrinos, emitted as electron neutrinos, with time correlated detection of electron and muon neutrinos at remote detectors. Japanese Kat experiment, Minnesota experiment.)
Chodos argument from 1985 is thus: Neutrinos can't be subluminal, can't be luminal, must be superluminal.
First verification was supernova 1987A, where neutrinos were detected prior to optical spotting. (Found in retrospect.) Arguments about the delayed photons propagating from the supernova core prevented this observation from being conclusive, but certainly provided indication. Consequently, experiments which generated time resolved, spatially resolved neutrino beams began to look for time of flight measurements. Fermilab MINOS measured superluminal speeds, but the uncertainty in the measurements were less than six standard deviations, and consequently was not deemed definitive. CERN, in turn, has followed up, and reduced measurement uncertainties to the six sigma standard.
Implications for future supernova detection: The supernova events have a large neutrino pulse at fairly constant energy during the collapsing phase transformation (flash), followed by rapidly cooling neutrinos from the hot neutron core. As high energy neutrinos travel slower than low energy neutrinos, (think of proximity to light speed being the high energy condition), we will see the time reversed rising sizzle, then flash for supernova events. Being specific, if we see an increasing neutrino flux coming from Betelguese or Eta Carinae, we would then later see the high energy neutrino flash followed by the optical event.
This would be a very interesting verification, to say the least.
Some references:
The neutrino as a tachyon, Chodos, Alan, Hauser, Avi I.,
Kostelecky, V. Alan, Phys. Lett. B150 (1985) 431.
Neutrino mass^2 inferred from the cosmic ray spectrum and tritium
beta decay, Ehrlich, Robert, Phys. Lett. B493 (2000) 229232,
arXiv:hepph/0009040.
Eue Jin Jeong: arXiv:hepph/9704311 v4, 1997
Edit 23 January 2015. John Hanniball of http://anachrocomputer.blogspot.com/ noted that the previously posted version of flyby.c did not correctly use divide by z for perspective function. I had incorrectly posted one of my experiments using radial scaling, as with projection on a sphere rather than a rectangular plane. I have left the radial lines commented out in the code, and corrected the perspective function for conventional z scaling. Thanks John!
(Compile with gcc, command gcc flyby.c o flyby lX11 lXdmcp
lXau lm )
My tasks here are to
Conclusion  This really great magnetic material is not hematite. It happens to be a really great magnetic material, probably bariumstrontium ferrite ceramic.
Future work  I want to make samples of magnetite via the Massurt method both for ferrofluid fun and for characterization of magnetite's magnetic properties.
The encoding of the basis vectors as binary numbers, and the product base being given by XOR is worth illustrating numerically, as some interesting interpretations can be made about dimensionality and multiplication. For traditional quaternions, we have numbers and three spatial dimensions. Borrowing notation from spacetime, I'll call t=00 as the numbers (scalars), i=01 as one space axis, j=10 as another space axis, and k=11 as a third. The multiplication table is
When we extend to traditional octonions, we have
Right Hand Quaternion Unit Vector Multiplication Table
Prefactor Postfactor  Binary format
 
 1 i j k  t*i = 00^01 = 01 = i
 \  t*j = 00^10 = 10 = j
1  1 i j k  t*k = 00^11 = 11 = k
 
i  i 1 k j  i*j = 01^10 = 11 = k
  i*k = 01^10 = 10 = j
j  j k 1 i 
  j*k = 10^11 = 01 = i
k  k j i 1 
Left Hand Octonion Unit Vector Multiplication TableThe interesting interpretation of the above, seen in Clifford algebra and geometric algebra, is that the quaternion table above is *not* a four dimensional structure, but rather a two dimensional structure, where the multiplication terms involving i and j give rise to an areal term k. In a similar fashion, complex numbers are really dealing with a one dimensional space, and octonions with a three dimensional space. To get a real spacetime (four true dimensions), will require sedenions.
Prefactor Postfactor

 1 i j k E I J K
 \
1  1 i j k E I J K t = 000 Scalar

i  i 1 k j I E +K J i = 001 Vector

j  j k 1 i J K E I j = 010 Vector

k  k j i 1 K J I E k = 011 Area

E  E I J K 1 i j k E = 100 Scalar

I  I E K J i 1 k j I = 101 Area

J  J K E I j k 1 i J = 110 Area

K  K J I E k j i 1 K = 111 Volume
Product base formed by XOR of two factors. Example i*K => 001^111 = 110 = J
Polarity (sign) determined separately.
Knowing that the basis multiplication table can be encoded as binary numbers XORed together, and seeing the power of two number of solutions, I decided that I should examine the solutions as a digital logic problem. Given that the basis logic was XOR based, I was pleased to find ReedMuller XOR implementations of the sign or polarity logic found above.
Having found digital logic solutions for normed algebras in two, four and eight dimensions, my next target was 16 dimensions. Sedenions are known to not be normal. While I can find numerical special cases where two integer sixteen vectors and a sixteen vector product satisfy the norm relations (based upon any integer being the sum of four squares), there is no general formula. Doing the sixteen bit digital exercise, despite knowing unlikely success, led to an interesting result. In my approach, I used one bit to determine an active high/active low default state for a bit. I then used higher order bits to determine participation of free variables in the sign of the term in the multiplication table. The interesting result, is that while I had conflicting definitions for active high/active low default bit states, I had a consistent set of definitions for how the default state would be modified by 42 free variables.
This result has me very excited. I've always wanted to find a simple explanation for quantum superposition. My hope is to find a simple, mathematical analog to the ring oscillator or logic paradox, where a feedback path with an odd number of inversions, coupled with a propagation delay through the logic creates an inherently oscillating system. A multiplication table which is inherently oscillatory, gives rise to an oscillatory metric, which in turn justifies much of our experience with quantum multivalued weirdness. Philosophically, an inherently oscillating metric structure of space is a good model for Planck scale quantum foam, and in the bigger picture, justification for 'free will', or nonpredestination, on the quantum scale.
So, what do I know? I know that the base definition is inconsistent, and that there are flaws (inherent conflicts) in my model for the multiplication table logic. However, I also know, that once a suitable basis is defined, I can give 2^42 new variations on a successful basis.
My current task is to reexamine fundamentals of division algebras. I am reevaluating the works by Hamilton, Cayley, Kirkland, Clifford, and other great mathematicians from the 18401890s, as well as Sylvester (1867), Hadamard (1893) and Walsh (1923) in more recent times. My most recent influence is the geometric algebra interpretation of Clifford algebras by David Hestenes.
My current working assumptions are