<<

Classifying Octonionic-Linear Operators

by

Alexander A. Putnam

AN EXPOSITORY PAPER

submitted to

Oregon State University

In partial fulfillment of the requirements for the degree of

Master of Science in Mathematics

Presented May 26, 2017 Commencement June 2017 Abstract The goal of this paper is to classify linear operators with octonionic coefficients and octonionic variables. While building up to the we also classify linear operators over the and show how to relate the linear operators over the quaternions and octonions to matrices. We also construct a basis of linear operators that maps to the canonical basis of matrices for each space. Finally, we discuss automorphisms of the octonions, a special subset of the linear operators.

1 Contents

1 A Review of Division Algebras 3

2 Real, Complex and Quaternionic Linear Operators 7

3 Octonionic Linear Operators 14

4 Relating Matrices to Octonionic Linear Operators 29

5 Automorphisms of the Octonions 38

6 Summary 39

7 References 40

2 1 A Review of Division Algebras

Linear operators are a very interesting area in mathematics. They can be used as an introduction for students first learning about functions and transformations, and also for advanced mathemati- cians trying to simplify complicated problems. We use linear operators not only to help discover the structure of the space they live in but also to build up to more complicated functions and even to show that two spaces are isomorphic. So when exploring a new system, such as the octonions, a great place to start is with the linear operators. Before we begin our discussion of linear operators over the octonions, we will introduce some basic properties of the octonions. To understand the basics of the octonions, it is helpful to start with the real and build larger division algebras up to the octonions. So, we first define a division algebra. A division algebra over a field F, is a vector space over F, with a bilinear operation, ∗, denoted by (V, F, ∗), such that the following properties hold: 1. For all v, w ∈ V, v ∗ w ∈ V .

2. For all α ∈ F and any v, w ∈ V ,(αv) ∗ w = α(v ∗ w) = v ∗ (αw). 3. There exists an element e ∈ V , such that for all v ∈ V, e ∗ v = v ∗ e = v.

4. For all nonzero v ∈ V , there exist elements u, w ∈ V , such that u ∗ v = v ∗ w = e.

5. For all v, w, x ∈ V , v ∗ (w + x) = v ∗ w + v ∗ x and (w + x) ∗ v = w ∗ v + x ∗ v.

It is easy to see that if a space, V , is a vector space over a field of scalars, W , with V ⊆ W , then V is a division algebra, because we can define the vector multiplication and division by the multiplication and division in the field. Therefore, the real numbers over R is a division algebra. The next vector space to consider is the complex numbers, C, over R. We can describe the complex numbers as R ⊕ Ri, a direct sum of the real numbers with the real numbers multiplied by an imaginary number i such that i2 = −1. So, elements of C have the form a + bi, where a and b are real numbers. Because our scalars are only real numbers, it is not trivial that C is a division algebra. But, it is not very hard to check that C is a division algebra. If we try this again with a new j we get R⊕Ri⊕Rj, a three dimensional vector space. Now our elements have the form a + bi + cj and, as with i, j2 = −1. We now check if this space is closed under multiplication,

(a + bi + cj)(x + yi + zj) = ax + ayi + azj + bix + biyi + bizj + cjx + cjyi + cjzj, (1.1) and in this product we have terms with ij. When Hamilton was first trying to construct the quaternions in 1843, he attempted to create a three-dimensional division algebra with no success. Hamilton realized that no such division algebra exists, and that an extra dimension was needed to close the space. One example of how an attempt to create a three-dimensional algebra fails is as follows: we can try to define ij = −1, so that we get only three terms again. But, this extra relation on i and j allows us to make the following computation,

ij = −1 =⇒ i(ij) = i(−1) =⇒ −j = −i =⇒ i = j. (1.2)

3 If i = j, then we have collapsed our space back into the . The quaternions, H, are a vector space over R and are expressed as R⊕Ri⊕Rj ⊕Rij = C⊕Cj. We say that ij = −ji (i.e. we say i and j anti-commute), then (ij)(ij) = −(ij)(ji) = i2 = −1. For simplicity we will define ij := k. Because i and j anti-commute, in general elements of the quaternions do not commute, which means we can find two elements of the quaternions, a, b, such that ab 6= ba. For example, consider the elements, 1 + i and 2 − j. Then,

(1 + i)(2 − j) = 2 − j + 2i + i(−j) = 2 + 2i − j − k, (1.3) but, (2 − j)(1 + i) = 2 + 2i − j(−j)i = 2 + 2i − j + ij = 2 + 2i − j + k. (1.4) So, we need to be careful when we multiply elements of the quaternions not to switch the order of the terms. The quaternions are a four-dimensional division algebra and a proof of this can be found in [1]. Finally, we can describe the octonions. If we try to extend the quaternions to a larger division algebra then, as before, if we add a new unit, `, we also need to add every combination of units, i`, j` and k`. Thus, to create the octonions, we need to consider O = H ⊕ H`. Therefore, each element of our new space has the form a1 +a2i+a3j+a4k+a5i`+a6j`+a7k`+a8` where ai ∈ R and so the octonions are an 8-dimensional vector space over R. A proof that the octonions are a division algebra can be found in [1]. Because of the size of Table 1.1, the multiplication table, remembering which products have positive sign and which have negative sign can be very challenging. To help remember, we use the 7-point Fano plane instead of the multiplication table. Each node in Figure 1 describes one of the octonionic units and each line then describes a quaternionic subalgebra of the octonions, ({i, j, k} or {k, `, k`}) and so on. If we are going to multiply two elements, a and b, of the set {i, j, k, i`, j`, k`, `}, then their product is the third node along the line connecting the nodes a and b. If, when we go from a to b, we are moving in the direction of the arrow, then the sign is positive. If we go against the arrow, then the sign is negative. For example, consider the line in the middle that connects the units i, j, k. We know, from the definition of the quaternions, that ij = k. (1.5)

∗ 1 i j k i` j` k` ` 1 1 i j k i` j` k` ` i i −1 k −j −` −k` j` i` j j −k −1 i k` −` −i` j` k k j −i −1 −j` i` −` k` i` i` ` −k` j` −1 −k j −i j` j` k` ` −i` k −1 −i −j k` k` −j` i` ` −j i −1 −k ` ` −i` −j` −k` i j k −1

Table 1.1: Multiplication table of octonionic units.

4 If we start at the node representing i, and move along the line to j, then the third element of that line, k, is the product of the two units. Also, because the arrow on the line is pointing in the direction we traveled, we get positive k. Conversely, if we started at j, and moved to i, then we would go against the arrow, and thus get −k. So, the diagram shows us that

ji = −k. (1.6)

For each of the other lines in the Fano plane, the process described also works, but you have to imagine that the lines extend behind the picture to make circles. As above, if we start at k and then move along the line to `, we are following the arrow to k`. Therefore,

k(`) = k`. (1.7)

Similarly, if we start at ` and move to k`, then we wrap around behind the picture back to k. Because we are still moving with the arrow, and not against it, the sign is still positive.

`(k`) = k. (1.8)

Finally, when we start at k`, and move around the back again, to k, we end at ` following the arrow so k`(k) = `. (1.9) However, if we were to switch the order we multiplied the elements in, (`)k, instead of k(`), (k`)` instead of `(k`) or k(k`) instead of k`(k), then our product would be the same unit, k`, k, ` respectively, but it would be negative instead of positive because, in each case, we would now be moving against the arrow, instead of with it. One very interesting consequence is that if you take

Figure 1: Octonionic multiplication in the Fano plane.

5 3 units, not in a quaternionic subalgbra (not all on the same line), then they anti-assoiciate. Thus, if you consider the product (k`)(j(`)) = k`(j`) = i. (1.10) But, if we reassociate the terms then

((k`)j)` = (i`)` = −i. (1.11)

Therefore, in general, when we multiply two octonions, both the order and the parentheses matter. Although the octonions are not associative, it can be shown that the octonions are alternative. Thus, given x, y ∈ O, we have that (xx)y = x(xy) and that (yx)x = y(xx). From this we can show that (xy)x = x(yx) also holds in the octonions. We have now covered the basics of multiplication and division in the octonions.

6 2 Real, Complex and Quaternionic Linear Operators

Given a division algebra, V , let a linear equation have the form y = mx + b, where m and b are elements of V and x is a variable taking inputs from V . We will show that the two equations, y = mx and y = mx+b, have equivalent solution sets. We show this by making the transformation, y = y0 + b, and then substituting y0 into the second equation: y = mx + b =⇒ y0 + b = mx + b =⇒ y0 = mx. (2.1) So, we only need to consider homogeneous equations. We therefore use the operator notation, x → mx, to represent our homogeneous equations. Now we will consider linear operators over the reals. If we compose a linear operator, x → mx, by another operator, x → xn, our operator becomes x → (mx)n = (mn)x. (2.2) Since we can associate and commute the elements freely, we easily recover our original form. Similarly, if we try to add a new term x → mx + nx (2.3) then we can factor out the x from Equation 2.3, getting x → (m + n)x (2.4) which again recovers our original form of a linear operator. So, over the real numbers, the only linear operators we need to consider have form x → mx. Also, if we consider real matrices, from R to R, then we would be considering 1 × 1 matrices. Therefore, our matrix representation of all   possible linear maps would be Ax = a x . This shows that over R the set of real matrices is equivalent to the set of real linear operators. For the complex plane, C, things are not so simple. All elements of C still commute and associate, so all of our linear operators with complex coefficients can still be of the form x → mx, for m ∈ C. To check, assume m, n, l ∈ C and consider x → mxn + lx = (mn)x + lx = (mn + l)x. (2.5) Thus, our set of complex-linear operators has only two degrees of freedom, namely the real and imaginary part of the coefficient. On the other hand, the set of real-linear maps from C to C, i.e. the set of 2 × 2 real matrices, has four degrees of freedom. Thus, in the complex plane, there are real matrices that cannot be expressed as a complex-linear operator. If we take an arbitrary complex-linear operator then we can multiply the terms yielding,

x → mx = (m1 + m2i)(x1 + x2i) = (m1x1 − m2x2) + (m1x2 + m2x1)i. (2.6)

We can define a map, π : L → M2(R), from the set of complex linear operators, L, to the set of real 2 × 2 matrices, M2(R), where x → mx ∈ L and m −m  π(mx) = 1 2 . (2.7) m2 m1

7 t t Notice that π(mx) x1 x2 = m1x1 − m2x2 m2x1 + m1x2 results in the same real and imagi- 2 t nary values as shown in Equation 2.6. So, we map C into R in the natural way, a + bi → a b , so that the linear operators in L act on C in the same way that their image under π acts on R2. Some simple examples of real 2 × 2 matrices that are not in the image of π are projections, such 1 0 as the matrix , which sends x + yi to x, and complex conjugation, given by the matrix 0 0 1 0  , which sends an element x + yi to x − yi. 0 −1 If we look to the quaternions, we finally start to find more complicated linear operators. If we consider a quaternionic-linear operator

x → q1(q2x), (2.8) with q1, q2 ∈ H then we can reassociate the terms so that we get

x → (q1q2)x. (2.9)

If, instead, we consider a quaternionic-linear operator

x → q1xq2 (2.10) where q1, q2 ∈ H, we cannot just swap the x and the q2, because some pieces of x and q2 will commute, and some pieces will anti-commute. Therefore, Equation 2.10 cannot be simplified any further. So we expect 7 linearly-independent quaternionic-operators,

f1(x) = x → x,

f2(x) = x → ix,

f3(x) = x → xi, f (x) = x → jx, 4 (2.11) f5(x) = x → xj,

f6(x) = x → kx,

f7(x) = x → xk.

We can now extend π to πH : L(H) → M4(R), whose domain is the set of quaternionic-linear operators, which extends the image to M4(R), the set of real 4 × 4 matrices. We also then map 4 t H into R , by x1 + x2i + x3j + x4k → x1 x2 x3 x4 . The image of each quaternionic-linear operator, in Equation 2.11, under πH is shown in Table 2.1.

8 We can try to create new quaternionic-linear operators by composing the linear operators we have. Because we can associate terms in H, we only need to consider compositions that result in a term of the form q1xq2. The 9 new quaternionic-linear operators that we get from composing the

Operator πH Images 1 0 0 0 0 1 0 0 x   0 0 1 0 0 0 0 1 0 −1 0 0  1 0 0 0  ix   0 0 0 −1 0 0 1 0 0 −1 0 0 1 0 0 0 xi   0 0 0 1 0 0 −1 0 0 0 −1 0 0 0 0 1 jx   1 0 0 0 0 −1 0 0 0 0 −1 0  0 0 0 −1 xj   1 0 0 0  0 1 0 0 0 0 0 −1 0 0 −1 0  kx   0 1 0 0  1 0 0 0 0 0 0 −1 0 0 1 0  xk   0 −1 0 0  1 0 0 0

Table 2.1: πH image of each quaternionic-linear operator.

9 first 7 quaternionic-linear operators from Equation 2.11, are,

f8(x) = (f2 ◦ f3)(x) = x → ixi,

f9(x) = (f2 ◦ f5)(x) = x → ixj,

f10(x) = (f2 ◦ f7)(x) = x → ixk,

f11(x) = (f3 ◦ f4)(x) = x → jxi, f (x) = (f ◦ f )(x) = x → kxi, 12 3 6 (2.12) f13(x) = (f4 ◦ f5)(x) = x → jxj,

f14(x) = (f4 ◦ f7)(x) = x → jxk,

f15(x) = (f5 ◦ f6)(x) = x → kxj,

f16(x) = (f6 ◦ f7)(x) = x → kxk,

which gives us a total of 16 quaternionic-linear operators. The πH image of each of these quaternionic- linear operators is shown in Table 2.2. Table 2.3 shows that the set of 16 quaternionic-linear oper- ators are linearly independent by showing that we can find linear combinations whose image under

πH is the canonical basis of M4(R). Since we have found a set of quaternionic-linear operators whose image spans all 4 × 4 matrices, the linear operators must also span all quaternionic-linear operators from H to H. Since there are four basis elements of the quaternions, {1, i, j, k}, and because we have shown that every quaternionic-linear operator with one term can be reduced to the form x → q1xq2, if q1, q2 ∈ {1, i, j, k}, then there must only be 16 linearly independent quaternionic-linear operators. Thus, πH must be a bijection between the quaternionic-linear op- erators and the set of real 4 × 4 matrices. Therefore, every quaternionic-linear operator has the form L(x) = a1f1(x) + ... + a16f16(x), (2.13) for some ai ∈ R.

10 Operator πH Image −1 0 0 0  0 −1 0 0 ixi    0 0 1 0 0 0 0 1 0 0 0 1 0 0 −1 0 ixj   0 −1 0 0 1 0 0 0  0 0 −1 0   0 0 0 −1 ixk   −1 0 0 0  0 −1 0 0  0 0 0 −1  0 0 −1 0  jxi    0 −1 0 0  −1 0 0 0 0 0 1 0  0 0 0 −1 kxi   1 0 0 0  0 −1 0 0 −1 0 0 0  0 1 0 0 jxj    0 0 −1 0 0 0 0 1 0 1 0 0  1 0 0 0  jxk   0 0 0 −1 0 0 −1 0  0 −1 0 0  −1 0 0 0  kxj    0 0 0 −1 0 0 −1 0 −1 0 0 0   0 1 0 0  kxk    0 0 1 0  0 0 0 −1

Table 2.2: πH image of each quaternionic-linear composition operator.

11 Table 2.3: Linear independence of 16 H-linear operators.

Operator πH Images 4 0 0 0 0 0 0 0 x − ixi − jxj − kxk   0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 x − ixi + jxj + kxk   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x + ixi − jxj + kxk   0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 x + ixi + jxj − kxk   0 0 0 0 0 0 0 4 0 4 0 0 0 0 0 0 ix + xi + jxk − kxj   0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 −ix − xi + jxk − kxj   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 −ix + xi − jxk − kxj   0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 ix − xi − jxk − kxj   0 0 0 0 0 0 4 0 0 0 4 0 0 0 0 0 −jx − xj − ixk + kxi   0 0 0 0 0 0 0 0

12 Operator πH Images 0 0 0 0 0 0 0 4 jx − xj − ixk − kxi   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 jx + xj − ixk − kxi   4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 −jx + xj − ixk − kxi   0 0 0 0 0 4 0 0 0 0 0 4 0 0 0 0 −kx − xk + ixj − jxi   0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 −kx + xk − ixj − jxi   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 kx − xk − ixj − jxi   0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 kx + xk + ixj − jxi   0 0 0 0 4 0 0 0 Table 2.3: Linear independence of 16 H-linear operators.

13 3 Octonionic Linear Operators

We have now arrived at linear operators over the octonions. Just as in the quaternionic case, given an octonionic operator x → o1xo2, we cannot simplify any further algebraically because the elements of O do not commute in general. But, because of the sometimes anti-associativity of O, we also cannot simplify octonionic operators of the form

x → o1((o3x)o2). (3.1) Therefore, in general, our octonionic operators will be a sum of terms with each term having many nested coefficients on either side of the x. The order that the coefficients are multiplied matters; so there will also be a mess of parentheses. But, what if our operator does not have a form as in Equation 3.1? What if, instead the parentheses start in a different order, as in

x → (o1(o2o3))(o4x). (3.2)

Then, first we could multiply the two terms (o2o3) = o5, inside the parentheses to get

x → (o1o5)(o4x). (3.3)

Then, just as before, we multiply o1o5 = o6, and get

x → o6(o4x), (3.4) which is our desired form. So we are considering all possible octonionic-linear operators. For simplicity, we will begin with octonionic operators that have coefficients only on the left. But, this still does not mean that we can factor out the x from the terms; even though we would not need to commute elements to simplify an operator such as x → o1(o2x) + o3(o4x), we would need to reassociate the terms. So, we are still dealing with a very large class of operators. In this simpler class of octonionic operators, the general octonionic operator will have the form

m X oi,1(oi,2(...(oi,nx)...)), (3.5) i=1 where each oi,j ∈ O and m, n ∈ N. Next, we will check that these operators are in fact real linear operators from O to O. Fact 3.1. Given a finite set of octonions oi,j ∈ O, and an operator of the form m X L(x) = oi,1(oi,2(...(oi,nx)...)) i=1 where x is an arbitrary element of O, then L(x) is linear. Proof. Let r ∈ R and let x, y ∈ O. Consider m X L(rx + y) = oi,1(oi,2(...(oi,n(rx + y))...)). i=1

14 Because O is a vector space, we can distribute the octonions, oi,j, across the sum, (rx + y),

m m X X L(rx + y) = oi,1(oi,2(...(oi,nrx)...)) + oi,1(oi,2(...(oi,ny)...)). i=1 i=1 Finally, because real numbers commute with octonions we can factor out the r from the first sum,

m m X X L(rx + y) = r oi,1(oi,2(...(oi,nx)...)) + oi,1(oi,2(...(oi,ny)...)) = rL(x) + L(y). i=1 i=1

Therefore, operators of the form, L(x) are linear operators from O to O. Since O is a division algebra, we know that each nonzero element has a multiplicative inverse. Therefore, if we have an octonionic-linear operator of the form

m X L(x) = oi,1(oi,2(...(oi,nx)...)), (3.6) i=1 where m = 1, so that L(x) = o1,1(o1,2(...(o1,nx)...)), (3.7) then, given any y ∈ O, we can solve the equation L(x) = y, by multiplying by the inverse of each oi,j as follows: −1 −1 −1 o1,n(...(o1,2(o1,1y))...) = x. (3.8) If m > 1, then we cannot simply use algebra to solve the equation. Fact 3.2. Octonionic-linear operators, L : O → O, can be expressed as an 8 × 8 matrix in R8×8. Proof. Given an octonionic-linear operator

m X L(x) = oi,1(oi,2(...(oi,nx)...)), i=1 if, for each i ∈ N, we can write each term of L(x) as a matrix in R8×8, then we can write L(x) as a sum of matrices which is a matrix in R8×8. So it is sufficient to show that a single term can be written as matrix multiplication. Because our octonionic-linear operator, L(x), is fixed, the order that the elements, oi,j, act on x is also fixed. So, we can define loi,j [x] := oi,jx and consider each term of L(x) as a composition of linear maps (loi,1 ◦ loi,2 ◦ ... ◦ loi,n )[x], which does associate, instead of as a product of elements in O. If we can express left multiplication in O by a matrix in R8×8, then we can write each nested term of L(x), a composition of operators, as a product of matrices A1A2 ··· An. Therefore, it is sufficient to show that ox can be expressed as a matrix. If we expand x as an , then

x = x1 + x2i + x3j + x4k + x5kl + x6jl + x7il + x8l.

15 We can also expand o ∈ O as

o = o1 + o2i + o3j + o4k + o5kl + o6jl + o7il + o8l.

With the expanded forms we can then distribute ox to get

o1x1 − o2x2 − o3x3 − o4x4 − o5x5 − o6x6 − o7x7 − o8x8

+(o2x1 + o1x2 − o4x3 + o3x4 − o6x5 + o5x6 + o8x7 − o7x8)i

+(o3x1 + o4x2 + o1x3 − o2x4 + o7x5 + o8x6 − o5x7 − o6x8)j +(o x − o x + o x + o x + o x − o x + o x − o x )k 4 1 3 2 2 3 1 4 8 5 7 6 6 7 5 8 (3.9) +(o5x1 + o6x2 − o7x3 − o8x4 + o1x5 − o2x6 + o3x7 + o4x8)kl

+(o6x1 − o5x2 − o8x3 + o7x4 + o2x5 + o1x6 − o4x7 + o3x8)jl

+(o7x1 − o8x2 + o5x3 − o6x4 − o3x5 + o4x6 + o1x7 + o2x8)il

+(o8x1 + o7x2 + o6x3 + o5x4 − o4x5 − o3x6 − o2x7 + o1x8)l

From this representation we see that multiplication of octonions can be expressed as a system of linear equations with entries in R. Therefore, we can represent multiplication by o as a matrix in 8×8: R     o1 −o2 −o3 −o4 −o5 −o6 −o7 −o8 x1 o2 o1 −o4 o3 −o6 o5 o8 −o7 x2     o3 o4 o1 −o2 o7 o8 −o5 −o6 x3     o4 −o3 o2 o1 o8 −o7 o6 −o5 x4     o5 o6 −o7 −o8 o1 −o2 o3 o4  x5     o6 −o5 −o8 o7 o2 o1 −o4 o3  x6     o7 −o8 o5 −o6 −o3 o4 o1 o2  x7 o8 o7 o6 o5 −o4 −o3 −o2 o1 x8 Thus, multiplication in O can be represented as a matrix in R8×8, which implies that we can write each term of L(x) as a product of matrices. Therefore, L(x) can be expressed as a sum and product of matrices in R8×8.

By fact 3.2 we can extend π again to πO : L(O) → M8(R), where L(O) is the set of octonionic- 8 linear operators and M8(R) is the set of real 8 × 8 matrices. Just as before we also map O to R , by sending t x = x1 + x2i + x3j + x4k + x5kl + x6jl + x7il + x8l → x1 x2 x3 x4 x5 x6 x7 x8 . (3.10)

Therefore, given any octonionic-linear operator L(x), we can use πO(L) to rewrite the problem L(x) = y, as πO(L)~x = ~y. Because of the anti-associativity of O, the set of octonionic-linear operators are a much larger set than the set of real 8 × 8 matrices, unlike in the quaternionic case. So we define a relation, ∼, on the set of octonionic-linear operators. We say two octonionic linear operators, x → L(x) and x → M(x), are related if πO(L(x)) = πO(M(x)). We denote this relation by L(x) ∼ M(x). If L(x) ∼ M(x), then πO(L(x)) = πO(M(x)) and thus πO(M(x)) = πO(L(x)), which implies that M(x) ∼ L(x) so the relation is symmetric. Also, assume that L(x) ∼ M(x)

16 and that M(x) ∼ N(x). Then, πO(L(x)) = πO(M(x)) = πO(N(x)) and thus L(x) ∼ N(x), which shows that our relation is transitive. Finally, the relation is clearly reflexive, L(x) ∼ L(x) for all octonionic-linear operators, L(x), so ∼ defines an equivalence relation on the set of octonionic- linear operators. Thus, the relation, ∼, partitions L(O) into disjoint classes of operators. The next question to answer is, given any matrix, A ∈ M8(R), can we find an octonionic-linear operator whose image under πO is A. First, we should explore what the πO image of some simple octonionic-linear operators are. We have already expressed multiplication in O by an arbitrary octonion as a matrix. For an octonion o = o1 + o2i + o3j + o4k + o5il + o6jl + o7kl + o8l, we can set on = 1 and om = 0 for all m 6= n, to create the simplest octonionic-linear operators.

The simplest octonionic-linear operators and their image under πO are shown in Table 3.1. These matrices can also be found in [2], which also goes on to describe rotations of H and O. If we consider an octonionic-linear operator with nested elements that are only basis elements, as in x → k(j(ix)), then each term of x, xnen, would map to ±xnen, depending on if the basis element, ⊥ en, is in H or H . With this in mind we can ask what πO does to a nesting of simple terms as in πO(e1(e2(...(enx)...)),, where each em is a basis element in {i, j, k, il, jl, kl, l}. (The reals are omitted because real numbers commute and associate with everything and thus do not change the result in an interesting way.) Since Fact 3.2 shows that πO splits over compositions, we get

πO(e1(e2(...(enx)...))) = πO(e1x)πO(e2x) ··· πO(enx). (3.11) Because we can distribute the terms of x, consider the image of the i-term of x, which would be e1(e2(...(enx2i)...)). Then, if we were to simplify this term, we would need to know if en−1, en and i, spanned a quaternionic sub-algebra (An easy way to check if the three elements span a quaternionic sub-algebra is to see if en−1en = ±i holds). If the three elements do span a quaternionic sub-algebra, then the elements associate freely and we get e1(e2(...(en−2((en−1en)x2i))...)). Otherwise, the three elements anti-associate, because they are all three basis elements, and we get the same result, but with a factor of −1, −e1(e2(...(en−2((en−1en)x2i))...)). Since each other term of our expanded form only differs by changing the i to a different basis element, a similar argument will hold for each basis element of O. Thus, the matrix, πO(e1(e2(...(enx)...))), will only have nonzero values in  n  positions where the matrix πO [Πm=1em](x) has nonzero values. Furthermore, the nonzero values of this matrix can only be ±1 because each matrix of a simple operator, πO(emx), only has nonzero entries of ±1. For example, consider the octonionic-linear operator x → k(j(ix)). Since ij = k, we 2 know that (kj)i = −i = 1, so the πO image of this operator should only have nonzero values on the diagonal, just as πO(x) only has nonzero values on the diagonal. The matrix πO(k(j(ix))) is 1 0 0 0 0 0 0 0  0 1 0 0 0 0 0 0    0 0 1 0 0 0 0 0    0 0 0 1 0 0 0 0  π (k(j(ix))) =   O 0 0 0 0 −1 0 0 0    0 0 0 0 0 −1 0 0    0 0 0 0 0 0 −1 0  0 0 0 0 0 0 0 −1

17 1 which has the form we expected it to. Therefore, we can create projections like 2 πO(x − i(j(kx))), a rank 4 matrix that maps into H. This example will be very important when we look for a basis of octonionic-linear operators in R8×8. With this idea in mind, we want to find a set of octonionic-linear operators that are linearly independent so that we can express matrices as a sum of octonionic-linear operators. Because of the anti-associativity of the octonions, we cannot create 64 linearly independent operators of the form o1xo2 as we did with the quaternions, because (o1x)o2 6= o1(xo2). In fact, we would end up with 8 terms when o1 = o2, because the octonions are alternative, the parenthesis do not matter in this case, another 8 ∗ 7 = 56 terms with (o1x)o2, and 56 − 14 for o1(xo2), subtracting the terms where o1 or o2 is one. This gives us a total of 8 + 56 + 56 − 14 = 106 octonionc-linear operators with two-sided multiplication. Instead, lets count how many degrees of freedom each nesting will potentially give us by only using left multiplication. We know that there are 8 octonionic-linear operators of the form x → enx, with ei ∈ {1, i, j, k, il, jl, kl, l}. Now, if we consider combinations 7 7∗6 of 2 basis elements then, there are 2 = 2 = 21 combinations of the form x → e1(e2x). (We only consider the 7 imaginary units in this case, because if 1 is chosen, then we would have the form x → e1(1x) = e1x, or x → 1(e2x) = e2x, both of which have already been counted.) If we do the 7 7∗6∗5 same thing with 3 basis elements we have 3 = 3∗2 = 35. Therefore, with 2 nestings of basis elements we get exactly 35 + 21 + 8 = 64 unique combinations! So, we would expect that for the image of an octonionic-linear operator to be any possible matrix in M8(R), the operator will need at most 2 nestings and therefore be of the form

64 X x → rna1,n(a2,n(a3,nx)) (3.12) n=1 for rn ∈ R, and a1,n, a2,n, a3,n ∈ {1, i, j, k, il, jl, kl, l} with a1,n 6= a2,n 6= a3,n 6= a1,n. We can now go back to our previous example x → k(j(ix)). If we express an element q ∈ O as ⊥ q = q1 + q2, where q1 ∈ H and q2 ∈ H , then

x → k(j(iq)) = k(j(i(q1 + q2))) = k(j(iq1)) + k(j(iq2)). (3.13)

The left term is a product of elements in H, so all the elements will associate. But, in the right 3 term every basis element, i, j, k anti-associates with q2, so we get a factor of (−1) as we simplify the q2 term. Therefore, after simplifying we get, x → k(j(i(q1 + q2))) = q1 − q2. When we add this to the identity we annihilate the H⊥ terms mentioned before. Also, we can create a similar equation for any other set of three distinct elements in the set {i, j, k, il, jl, kl, l}, that multiply to ±1. This gives us a total of 8 operators mapping to an 8 × 8 matrix with entries only on the main diagonal, the identity, and 7 new operators, each with three units spanning a quaternionic sub-algebra of O. Since we have already seen two of these operators and their πO image, x → x and x → k(j(ix)), Table 3.2 shows only the 6 pairs of operators and their πO images that have not been previously shown. These 8 matrices are linearly independent and thus, if we add and subtract these linear operators in the right way we can get a set of octonionic-linear operators that map to each position on the diagonal of an 8 × 8 matrix. Similarly, for the basis element i, the octonionic-linear operators with up to three basis elements that multiply to i and their πO images are shown in Table 3.3. For the basis element j, the octonionic-linear operators with up to three

18 basis elements that multiply to j and their πO images are shown in Table 3.4. For the basis element k, the octonionic-linear operators with up to three basis elements that multiply to k and their πO images are shown in Table 3.5. For the basis element il, the octonionic-linear operators with up to three basis elements that multiply to il and their πO images are shown in Table 3.6. For the basis element jl, the octonionic-linear operators with up to three basis elements that multiply to jl and their πO images are shown in Table 3.7. For the basis element kl, the octonionic-linear operators with up to three basis elements that multiply to kl and their πO images are shown in Table 3.8. Finally, for the basis element l, the octonionic-linear operators with up to three basis elements that multiply to l and their πO images are shown in Table 3.9. Since, for each basis element 1, i, j, k, il, jl, kl, l, we have 8 linearly independent matrices, and because none of the matrices from one basis element share positions with matrices from another basis element, we must have 8 sets of 8 linearly independent matrices, which gives us a total of 64 linearly independent matrices. So, we have just shown that every matrix in R8×8 can be expressed as an octonionic-linear operator.

19 Operator πO Images Operator πO Images 1 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0     0 0 1 0 0 0 0 0 0 0 0 −1 0 0 0 0     0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 x   ix   0 0 0 0 1 0 0 0 0 0 0 0 0 −1 0 0     0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0     0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 −1 0 0 0 −1 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 −1 0 0 0 0 0     1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0     0 −1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 jx   kx   0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1     0 0 0 0 0 0 0 1 0 0 0 0 0 0 −1 0     0 0 0 0 −1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 0 0 −1 0  0 0 0 0 0 −1 0 0  0 0 0 0 0 0 0 −1 0 0 0 0 −1 0 0 0      0 0 0 0 1 0 0 0  0 0 0 0 0 0 0 −1     0 0 0 0 0 −1 0 0  0 0 0 0 0 0 1 0  ilx   jlx   0 0 −1 0 0 0 0 0  0 1 0 0 0 0 0 0      0 0 0 1 0 0 0 0  1 0 0 0 0 0 0 0      1 0 0 0 0 0 0 0  0 0 0 −1 0 0 0 0  0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 −1 0 0 0  0 0 0 0 0 0 0 −1 0 0 0 0 0 1 0 0  0 0 0 0 0 0 1 0      0 0 0 0 0 0 −1 0  0 0 0 0 0 1 0 0      0 0 0 0 0 0 0 −1 0 0 0 0 1 0 0 0  klx   lx   1 0 0 0 0 0 0 0  0 0 0 −1 0 0 0 0      0 −1 0 0 0 0 0 0  0 0 −1 0 0 0 0 0      0 0 1 0 0 0 0 0  0 −1 0 0 0 0 0 0  0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0

Table 3.1: Simple octonionic operators and their πO images.

20 Operator πO Images Operator πO Images 1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0  0 1 0 0 0 0 0 0  0 −1 0 0 0 0 0 0      0 0 −1 0 0 0 0 0  0 0 −1 0 0 0 0 0      0 0 0 −1 0 0 0 0  0 0 0 1 0 0 0 0  i(jl(klx))   il(jl(kx))   0 0 0 0 1 0 0 0  0 0 0 0 −1 0 0 0      0 0 0 0 0 1 0 0  0 0 0 0 0 1 0 0      0 0 0 0 0 0 −1 0  0 0 0 0 0 0 1 0  0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1 1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0  0 1 0 0 0 0 0 0     0 0 1 0 0 0 0 0  0 0 −1 0 0 0 0 0     0 0 0 −1 0 0 0 0  0 0 0 −1 0 0 0 0 il(j(klx))   i(il(lx))   0 0 0 0 1 0 0 0  0 0 0 0 −1 0 0 0     0 0 0 0 0 −1 0 0  0 0 0 0 0 −1 0 0     0 0 0 0 0 0 1 0  0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0     0 0 1 0 0 0 0 0 0 0 −1 0 0 0 0 0     0 0 0 −1 0 0 0 0 0 0 0 1 0 0 0 0 j(jl(lx))   k(kl(lx))   0 0 0 0 −1 0 0 0 0 0 0 0 1 0 0 0     0 0 0 0 0 1 0 0 0 0 0 0 0 −1 0 0     0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1

Table 3.2: Octonionic operators similar to x.

21 Operator πO Images Operator πO Images 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0  1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0      0 0 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0      0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0  ix   j(kx)   0 0 0 0 0 −1 0 0 0 0 0 0 0 1 0 0      0 0 0 0 1 0 0 0 0 0 0 0 −1 0 0 0      0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1 0  0 1 0 0 0 0 0 0   0 1 0 0 0 0 0 0 −1 0 0 0 0 0 0 0  −1 0 0 0 0 0 0 0      0 0 0 −1 0 0 0 0   0 0 0 −1 0 0 0 0      0 0 1 0 0 0 0 0   0 0 1 0 0 0 0 0 il(lx)   jl(klx)    0 0 0 0 0 −1 0 0   0 0 0 0 0 1 0 0      0 0 0 0 1 0 0 0   0 0 0 0 −1 0 0 0      0 0 0 0 0 0 0 −1  0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 −1 0  0 −1 0 0 0 0 0 0 0 1 0 0 0 0 0 0  −1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0       0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0       0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0  j(kl(lx))   k(jl(lx))    0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0       0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0       0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 −1 0  0 −1 0 0 0 0 0 0   0 −1 0 0 0 0 0 0  −1 0 0 0 0 0 0 0  −1 0 0 0 0 0 0 0       0 0 0 −1 0 0 0 0   0 0 0 1 0 0 0 0       0 0 −1 0 0 0 0 0   0 0 1 0 0 0 0 0  k(il(klx))   j(il(jlx))    0 0 0 0 0 1 0 0   0 0 0 0 0 −1 0 0       0 0 0 0 1 0 0 0   0 0 0 0 −1 0 0 0       0 0 0 0 0 0 0 −1  0 0 0 0 0 0 0 −1 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1 0

Table 3.3: Octonionic operators similar to ix.

22 Operator πO Images Operator πO Images 0 0 −1 0 0 0 0 0  0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0  0 0 0 −1 0 0 0 0     1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0     0 −1 0 0 0 0 0 0  0 1 0 0 0 0 0 0 jx   i(kx)   0 0 0 0 0 0 1 0  0 0 0 0 0 0 1 0     0 0 0 0 0 0 0 1  0 0 0 0 0 0 0 1     0 0 0 0 −1 0 0 0  0 0 0 0 −1 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0 −1 0 0 0 0 0   0 0 1 0 0 0 0 0  0 0 0 −1 0 0 0 0   0 0 0 1 0 0 0 0      1 0 0 0 0 0 0 0  −1 0 0 0 0 0 0 0      0 1 0 0 0 0 0 0   0 −1 0 0 0 0 0 0  il(klx)   jl(lx)   0 0 0 0 0 0 1 0   0 0 0 0 0 0 1 0      0 0 0 0 0 0 0 −1  0 0 0 0 0 0 0 −1     0 0 0 0 −1 0 0 0   0 0 0 0 −1 0 0 0  0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0  0 0 −1 0 0 0 0 0   0 0 −1 0 0 0 0 0   0 0 0 −1 0 0 0 0   0 0 0 1 0 0 0 0      −1 0 0 0 0 0 0 0  −1 0 0 0 0 0 0 0       0 −1 0 0 0 0 0 0   0 1 0 0 0 0 0 0  i(jl(ilx))   k(jl(klx))    0 0 0 0 0 0 1 0   0 0 0 0 0 0 −1 0       0 0 0 0 0 0 0 −1  0 0 0 0 0 0 0 −1      0 0 0 0 1 0 0 0   0 0 0 0 −1 0 0 0  0 0 0 0 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0 1 0 0 0 0 0   0 0 −1 0 0 0 0 0 0 0 0 1 0 0 0 0   0 0 0 1 0 0 0 0     1 0 0 0 0 0 0 0  −1 0 0 0 0 0 0 0     0 1 0 0 0 0 0 0   0 1 0 0 0 0 0 0 i(kl(lx))   k(il(lx))   0 0 0 0 0 0 1 0   0 0 0 0 0 0 1 0     0 0 0 0 0 0 0 −1  0 0 0 0 0 0 0 1     0 0 0 0 1 0 0 0   0 0 0 0 1 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1 0 0

Table 3.4: Octonionic operators similar to jx.

23 Operator πO Images Operator πO Images 0 0 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0  0 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0 0      0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0      1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0  kx   i(jx)   0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 −1     0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1 0      0 0 0 0 0 1 0 0 0 0 0 0 0 −1 0 0  0 0 0 0 −1 0 0 0 0 0 0 0 1 0 0 0  0 0 0 1 0 0 0 0  0 0 0 1 0 0 0 0   0 0 −1 0 0 0 0 0  0 0 −1 0 0 0 0 0       0 1 0 0 0 0 0 0  0 1 0 0 0 0 0 0      −1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0  il(jlx)   kl(lx)    0 0 0 0 0 0 0 1  0 0 0 0 0 0 0 −1      0 0 0 0 0 0 1 0  0 0 0 0 0 0 −1 0       0 0 0 0 0 −1 0 0  0 0 0 0 0 1 0 0  0 0 0 0 −1 0 0 0 0 0 0 0 1 0 0 0  0 0 0 −1 0 0 0 0   0 0 0 −1 0 0 0 0   0 0 1 0 0 0 0 0   0 0 −1 0 0 0 0 0       0 1 0 0 0 0 0 0   0 −1 0 0 0 0 0 0      −1 0 0 0 0 0 0 0  −1 0 0 0 0 0 0 0  i(kl(ilx))   j(kl(jlx))    0 0 0 0 0 0 0 −1  0 0 0 0 0 0 0 −1      0 0 0 0 0 0 −1 0   0 0 0 0 0 0 1 0       0 0 0 0 0 −1 0 0   0 0 0 0 0 1 0 0  0 0 0 0 −1 0 0 0 0 0 0 0 −1 0 0 0  0 0 0 −1 0 0 0 0 0 0 0 1 0 0 0 0   0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0       0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0      −1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0  i(jl(lx))   j(il(lx))    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 −1      0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0       0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0  0 0 0 0 1 0 0 0 0 0 0 0 −1 0 0 0

Table 3.5: Octonionic operators similar to kx.

24 Operator πO Images Operator πO Images 0 0 0 0 0 0 −1 0  0 0 0 0 0 0 −1 0  0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1     0 0 0 0 1 0 0 0  0 0 0 0 −1 0 0 0      0 0 0 0 0 −1 0 0  0 0 0 0 0 1 0 0  ilx   i(lx)   0 0 −1 0 0 0 0 0  0 0 1 0 0 0 0 0      0 0 0 1 0 0 0 0  0 0 0 −1 0 0 0 0      1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0  0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 −1 0  0 0 0 0 0 0 1 0  0 0 0 0 0 0 0 1  0 0 0 0 0 0 0 −1     0 0 0 0 −1 0 0 0  0 0 0 0 −1 0 0 0      0 0 0 0 0 −1 0 0  0 0 0 0 0 −1 0 0  k(jlx)   j(klx)   0 0 1 0 0 0 0 0  0 0 1 0 0 0 0 0      0 0 0 1 0 0 0 0  0 0 0 1 0 0 0 0      1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0  0 −1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0  0 0 0 0 0 0 1 0  0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1     0 0 0 0 1 0 0 0  0 0 0 0 −1 0 0 0      0 0 0 0 0 1 0 0  0 0 0 0 0 −1 0 0  j(i(jlx))   k(i(klx))   0 0 1 0 0 0 0 0  0 0 −1 0 0 0 0 0      0 0 0 1 0 0 0 0  0 0 0 −1 0 0 0 0      1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0  0 −1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0  0 0 0 0 0 0 −1 0  0 0 0 0 0 0 1 0  0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1      0 0 0 0 −1 0 0 0  0 0 0 0 −1 0 0 0      0 0 0 0 0 1 0 0  0 0 0 0 0 1 0 0 j(k(lx))   jl(kl(lx))    0 0 −1 0 0 0 0 0  0 0 −1 0 0 0 0 0      0 0 0 1 0 0 0 0  0 0 0 1 0 0 0 0     −1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1 0 0 0 0 0 0

Table 3.6: Octonionic operators similar to ilx.

25 Operator πO Images Operator πO Images 0 0 0 0 0 −1 0 0  0 0 0 0 0 −1 0 0  0 0 0 0 −1 0 0 0  0 0 0 0 1 0 0 0      0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1     0 0 0 0 0 0 1 0  0 0 0 0 0 0 −1 0  jlx   j(lx)   0 1 0 0 0 0 0 0  0 −1 0 0 0 0 0 0      1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0      0 0 0 −1 0 0 0 0  0 0 0 1 0 0 0 0  0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 −1 0 0  0 0 0 0 0 1 0 0  0 0 0 0 −1 0 0 0  0 0 0 0 −1 0 0 0      0 0 0 0 0 0 0 1  0 0 0 0 0 0 0 −1     0 0 0 0 0 0 −1 0  0 0 0 0 0 0 −1 0  i(klx)   k(ilx)   0 1 0 0 0 0 0 0  0 1 0 0 0 0 0 0      1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0      0 0 0 1 0 0 0 0  0 0 0 1 0 0 0 0  0 0 −1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0  0 0 0 0 0 1 0 0  0 0 0 0 −1 0 0 0  0 0 0 0 1 0 0 0      0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1     0 0 0 0 0 0 −1 0  0 0 0 0 0 0 1 0  i(j(ilx))   k(j(klx))   0 −1 0 0 0 0 0 0  0 1 0 0 0 0 0 0      1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0      0 0 0 −1 0 0 0 0  0 0 0 1 0 0 0 0  0 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 0 0 0 1 0 0  0 0 0 0 0 −1 0 0  0 0 0 0 −1 0 0 0  0 0 0 0 −1 0 0 0      0 0 0 0 0 0 0 1  0 0 0 0 0 0 0 −1     0 0 0 0 0 0 1 0  0 0 0 0 0 0 1 0  i(k(lx))   il(kl(lx))   0 −1 0 0 0 0 0 0  0 −1 0 0 0 0 0 0      1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0      0 0 0 1 0 0 0 0  0 0 0 1 0 0 0 0  0 0 1 0 0 0 0 0 0 0 −1 0 0 0 0 0

Table 3.7: Octonionic operators similar to jlx.

26 Operator πO Images Operator πO Images 0 0 0 0 −1 0 0 0  0 0 0 0 −1 0 0 0  0 0 0 0 0 1 0 0  0 0 0 0 0 −1 0 0      0 0 0 0 0 0 −1 0  0 0 0 0 0 0 1 0      0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1 klx   k(lx)   1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0      0 −1 0 0 0 0 0 0  0 1 0 0 0 0 0 0      0 0 1 0 0 0 0 0  0 0 −1 0 0 0 0 0  0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0  0 0 0 0 1 0 0 0  0 0 0 0 −1 0 0 0  0 0 0 0 0 −1 0 0  0 0 0 0 0 −1 0 0      0 0 0 0 0 0 −1 0  0 0 0 0 0 0 −1 0      0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1 i(jlx)   j(ilx)   −1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0      0 1 0 0 0 0 0 0  0 1 0 0 0 0 0 0      0 0 1 0 0 0 0 0  0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 0 1 0 0 0  0 0 0 0 1 0 0 0  0 0 0 0 0 1 0 0  0 0 0 0 0 −1 0 0      0 0 0 0 0 0 1 0  0 0 0 0 0 0 −1 0      0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1 i(k(ilx))   j(k(jlx))   1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0      0 1 0 0 0 0 0 0  0 −1 0 0 0 0 0 0      0 0 1 0 0 0 0 0  0 0 −1 0 0 0 0 0  0 0 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0  0 0 0 0 −1 0 0 0  0 0 0 0 1 0 0 0  0 0 0 0 0 −1 0 0  0 0 0 0 0 −1 0 0      0 0 0 0 0 0 1 0  0 0 0 0 0 0 1 0      0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1 i(j(lx))   il(jl(lx))   −1 0 0 0 0 0 0 0  1 0 0 0 0 0 0 0      0 −1 0 0 0 0 0 0  0 −1 0 0 0 0 0 0      0 0 1 0 0 0 0 0  0 0 1 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 1 0 0 0 0

Table 3.8: Octonionic operators similar to klx.

27 Operator πO Images Operator πO Images 0 0 0 0 0 0 0 −1  0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0   0 0 0 0 0 0 −1 0     0 0 0 0 0 1 0 0   0 0 0 0 0 1 0 0     0 0 0 0 1 0 0 0   0 0 0 0 1 0 0 0 lx   i(ilx)   0 0 0 −1 0 0 0 0   0 0 0 −1 0 0 0 0     0 0 −1 0 0 0 0 0   0 0 −1 0 0 0 0 0     0 −1 0 0 0 0 0 0   0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0  0 0 0 0 0 0 0 1  0 0 0 0 0 0 0 1  0 0 0 0 0 0 1 0  0 0 0 0 0 0 1 0      0 0 0 0 0 −1 0 0  0 0 0 0 0 1 0 0      0 0 0 0 1 0 0 0  0 0 0 0 −1 0 0 0 j(jlx)   k(klx)    0 0 0 −1 0 0 0 0  0 0 0 1 0 0 0 0      0 0 1 0 0 0 0 0  0 0 −1 0 0 0 0 0      0 −1 0 0 0 0 0 0  0 −1 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1  0 0 0 0 0 0 0 −1 0 0 0 0 0 0 1 0  0 0 0 0 0 0 −1 0      0 0 0 0 0 1 0 0  0 0 0 0 0 1 0 0      0 0 0 0 −1 0 0 0  0 0 0 0 −1 0 0 0  i(j(klx))   i(k(jlx))   0 0 0 −1 0 0 0 0  0 0 0 −1 0 0 0 0      0 0 1 0 0 0 0 0  0 0 1 0 0 0 0 0      0 1 0 0 0 0 0 0  0 −1 0 0 0 0 0 0  1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1  0 0 0 0 0 0 0 −1 0 0 0 0 0 0 −1 0  0 0 0 0 0 0 1 0      0 0 0 0 0 1 0 0  0 0 0 0 0 1 0 0      0 0 0 0 1 0 0 0  0 0 0 0 1 0 0 0  j(k(ilx))   il(jl(klx))   0 0 0 1 0 0 0 0  0 0 0 1 0 0 0 0      0 0 1 0 0 0 0 0  0 0 1 0 0 0 0 0      0 −1 0 0 0 0 0 0  0 1 0 0 0 0 0 0  1 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0

Table 3.9: Octonionic operators similar to lx.

28 4 Relating Matrices to Octonionic Linear Operators

As shown in the previous chapter, we have constructed 64 linearly independent octonionic-linear operators using only left multiplication. Since the set of 8 × 8 matrices is the set of all possible linear maps from O to O, it follows that every 8 × 8 matrix is the image of some octonionic-linear operator in O by the map πO. Therefore, unlike in the complex plane, conjugations and projections can be expressed as a sum and product of elements of O, not just as a real matrix.

We can therefore construct projections, Ln,em (x), such that

Ln,em (x1 + x2i + x2j + x4k + x5il + x6jl + x7kl + x8l) = xnem (4.1) for 1 ≤ n ≤ 8 and any basis element em ∈ {1, i, j, k, il, jl, kl, l}. Also, because right multiplication in O can be written as a matrix by the same process as shown in Fact 3.2, given an expression with right multiplication, we can use our basis of matrices to convert it to left multiplication. This fact is well known, but we have just found a process to convert right multiplication into left multiplication.

If we are given an octonionic-linear operator, x → L(x), then we can use the map πO to write P64 x → L(x) in terms of our basis. Thus x → L(x) = n=1 e1,n(e2,n(e3,nx)). Since O is a division P64 algebra, we know that there are no zero divisors so either all the terms of L(x) = n+1 e1(e2(e3x)) will cancel trivially, or they will reduce to give rise to, potentially previously unknown, identities in the elements of O. Finally, Tables a through h below show a set of 64 linearly-independent octonionic-linear op- erators that map to the canonical basis of M8(R) by πO.

29 Operator πO Image Operator πO Image x + k(j(ix))+ 8 0 0 0 0 0 0 0  x + k(j(ix))+ 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  0 8 0 0 0 0 0 0  i(jl(klx))+   i(jl(klx))−   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  il(jl(kx))+   il(jl(kx))−   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  il(j(klx))+   il(j(klx))+   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0      i(il(lx))+ 0 0 0 0 0 0 0 0  i(il(lx))− 0 0 0 0 0 0 0 0      j(jl(lx))+ 0 0 0 0 0 0 0 0  j(jl(lx))− 0 0 0 0 0 0 0 0  k(kl(lx)) 0 0 0 0 0 0 0 0 k(kl(lx)) 0 0 0 0 0 0 0 0 x + k(j(ix))− 0 0 0 0 0 0 0 0  x + k(j(ix))− 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  i(jl(klx))−   i(jl(klx))+   0 0 8 0 0 0 0 0  0 0 0 0 0 0 0 0  il(jl(kx))+   il(jl(kx))−   0 0 0 0 0 0 0 0  0 0 0 8 0 0 0 0  il(j(klx))−   il(j(klx))−   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0      i(il(lx))+ 0 0 0 0 0 0 0 0  i(il(lx))− 0 0 0 0 0 0 0 0      j(jl(lx))− 0 0 0 0 0 0 0 0  j(jl(lx))+ 0 0 0 0 0 0 0 0  k(kl(lx)) 0 0 0 0 0 0 0 0 k(kl(lx)) 0 0 0 0 0 0 0 0 x − k(j(ix))+ 0 0 0 0 0 0 0 0  x − k(j(ix))+ 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  i(jl(klx))−   i(jl(klx))+   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  il(jl(kx))+   il(jl(kx))−   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  il(j(klx))−   il(j(klx))−   0 0 0 0 8 0 0 0  0 0 0 0 0 0 0 0      i(il(lx))− 0 0 0 0 0 0 0 0  i(il(lx))+ 0 0 0 0 0 8 0 0      j(jl(lx))+ 0 0 0 0 0 0 0 0  j(jl(lx))− 0 0 0 0 0 0 0 0  k(kl(lx)) 0 0 0 0 0 0 0 0 k(kl(lx)) 0 0 0 0 0 0 0 0 x − k(j(ix))− 0 0 0 0 0 0 0 0  x − k(j(ix))− 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  i(jl(klx))+   i(jl(klx))−   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  il(jl(kx))+   il(jl(kx))−   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0  il(j(klx))+   il(j(klx))+   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0      i(il(lx))− 0 0 0 0 0 0 0 0  i(il(lx))+ 0 0 0 0 0 0 0 0      j(jl(lx))− 0 0 0 0 0 0 8 0  j(jl(lx))+ 0 0 0 0 0 0 0 0  k(kl(lx)) 0 0 0 0 0 0 0 0 k(kl(lx)) 0 0 0 0 0 0 0 8

Table 4.1a: Octonionic-linear operators mapping to the canonical basis.

30 Operator πO Image Operator πO Image ix + j(kx)− 0 0 0 0 0 0 0 0 ix + j(kx)− 0 −8 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 jl(klx)−   jl(klx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 il(lx)−   il(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(il(jlx))−   j(il(jlx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(il(klx))− 0 0 0 0 0 0 0 0 k(il(klx))+ 0 0 0 0 0 0 0 0     j(kl(lx))+ 0 0 0 0 0 0 0 0 j(kl(lx))− 0 0 0 0 0 0 0 0 k(jl(lx)) 0 0 0 0 0 0 0 0 k(jl(lx)) 0 0 0 0 0 0 0 0 ix + j(kx)+ 0 0 0 0 0 0 0 0 ix + j(kx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 jl(klx)+   jl(klx)+   0 0 0 0 0 0 0 0 0 0 0 −8 0 0 0 0 il(lx)+   il(lx)−   0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 j(il(jlx))−   j(il(jlx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(il(klx))+ 0 0 0 0 0 0 0 0 k(il(kl(x))− 0 0 0 0 0 0 0 0     j(kl(lx))+ 0 0 0 0 0 0 0 0 j(kl(lx))− 0 0 0 0 0 0 0 0 k(jl(lx)) 0 0 0 0 0 0 0 0 k(jl(lx)) 0 0 0 0 0 0 0 0 ix − j(kx)− 0 0 0 0 0 0 0 0 ix − j(kx)− 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 jl(klx)+   jl(klx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 il(lx)−   il(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(il(jlx))+   j(il(jlx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 −8 0 0     k(il(klx))+ 0 0 0 0 8 0 0 0 k(il(klx))− 0 0 0 0 0 0 0 0     j(kl(lx))+ 0 0 0 0 0 0 0 0 j(kl(lx))− 0 0 0 0 0 0 0 0 k(jl(lx)) 0 0 0 0 0 0 0 0 k(jl(lx)) 0 0 0 0 0 0 0 0 ix − j(kx)+ 0 0 0 0 0 0 0 0 ix − j(kx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 jl(klx)−   jl(klx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 il(lx)+   il(lx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(il(jlx))+   j(il(jlx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(il(klx))− 0 0 0 0 0 0 0 0 k(il(klx))+ 0 0 0 0 0 0 0 0     j(kl(lx))+ 0 0 0 0 0 0 0 0 j(kl(lx))− 0 0 0 0 0 0 0 8 k(jl(lx)) 0 0 0 0 0 0 −8 0 k(jl(lx)) 0 0 0 0 0 0 0 0

Table 4.1b: Octonionic-linear operators mapping to the canonical basis.

31 Operator πO Image Operator πO Image

jx − i(kx)+ 0 0 0 0 0 0 0 0 jx − i(kx)+ 0 0 −8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 il(klx)−   il(klx)−   8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 jl(lx)−   jl(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i(jl(ilx))−   i(jl(ilx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(jl(klx))+ 0 0 0 0 0 0 0 0 k(jl(klx))− 0 0 0 0 0 0 0 0     i(kl(lx))− 0 0 0 0 0 0 0 0 i(kl(lx))+ 0 0 0 0 0 0 0 0 k(il(lx)) 0 0 0 0 0 0 0 0 k(il(lx)) 0 0 0 0 0 0 0 0 jx − i(kx)− 0 0 0 0 0 0 0 0 jx − i(kx)− 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 il(klx)+   il(klx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 jl(lx)+   jl(lx)−   0 −8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i(jl(ilx))−   i(jl(ilx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(jl(klx))− 0 0 0 0 0 0 0 0 k(jl(klx))+ 0 0 0 0 0 0 0 0     i(kl(lx))− 0 0 0 0 0 0 0 0 i(kl(lx))+ 0 0 0 0 0 0 0 0 k(il(lx)) 0 0 0 0 0 0 0 0 k(il(lx)) 0 0 0 0 0 0 0 0

jx + i(kx)+ 0 0 0 0 0 0 0 0 jx + i(kx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 il(klx)+   il(klx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 jl(lx)−   jl(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i(jl(ilx))+   i(jl(ilx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0     k(jl(klx))− 0 0 0 0 0 0 0 0 k(jl(klx))+ 0 0 0 0 0 0 0 0     i(kl(lx))− 0 0 0 0 −8 0 0 0 i(kl(lx))+ 0 0 0 0 0 0 0 0 k(il(lx)) 0 0 0 0 0 0 0 0 k(il(lx)) 0 0 0 0 0 0 0 0

jx + i(kx)− 0 0 0 0 0 0 0 0 jx + i(kx)− 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 il(jlx)−   il(klx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 jl(lx)+   jl(lx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i(jl(ilx))+   i(jl(ilx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(jl(klx))+ 0 0 0 0 0 0 0 0 k(jl(klx))− 0 0 0 0 0 0 0 8     i(kl(lx))− 0 0 0 0 0 0 0 0 i(kl(lx))+ 0 0 0 0 0 0 0 0 k(il(lx)) 0 0 0 0 0 −8 0 0 k(il(lx)) 0 0 0 0 0 0 0 0

Table 4.1c: Octonionic-linear operators mapping to the canonical basis.

32 Operator πO Image Operator πO Image

kx + i(jx)− 0 0 0 0 0 0 0 0 kx + i(jx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 il(jlx)−   il(jlx)+   0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 kl(lx)−   kl(lx)+   8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i(kl(ilx))−   i(kl(ilx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     j(kl(jlx))− 0 0 0 0 0 0 0 0 j(kl(jlx))+ 0 0 0 0 0 0 0 0     i(jl(lx))+ 0 0 0 0 0 0 0 0 i(jl(lx))+ 0 0 0 0 0 0 0 0 j(il(lx)) 0 0 0 0 0 0 0 0 j(il(lx)) 0 0 0 0 0 0 0 0

kx + i(jx)+ 0 0 0 0 0 0 0 0 kx + i(jx)− 0 0 0 −8 0 0 0 0 0 0 −8 0 0 0 0 0 0 0 0 0 0 0 0 0 il(jlx)+   il(jlx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 kl(lx)−   kl(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i(kl(ilx))+   i(kl(ilx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     j(kl(jlx))− 0 0 0 0 0 0 0 0 j(kl(jlx))+ 0 0 0 0 0 0 0 0     i(jl(lx))− 0 0 0 0 0 0 0 0 i(jl(lx))− 0 0 0 0 0 0 0 0 j(il(lx)) 0 0 0 0 0 0 0 0 j(il(lx)) 0 0 0 0 0 0 0 0

kx − i(jx)+ 0 0 0 0 0 0 0 0 kx − i(jx)− 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 il(jlx)−   il(jlx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 kl(lx)+   kl(lx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i(kl(ilx))+   i(kl(ilx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     j(kl(jlx))− 0 0 0 0 0 0 0 0 j(kl(jlx))+ 0 0 0 0 0 0 0 0     i(jl(lx))+ 0 0 0 0 0 0 0 0 i(jl(lx))+ 0 0 0 0 0 8 0 0 j(il(lx)) 0 0 0 0 −8 0 0 0 j(il(lx)) 0 0 0 0 0 0 0 0 kx − i(jx)− 0 0 0 0 0 0 0 0 kx − i(jx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 il(jlx)+   il(jlx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 kl(lx)+   kl(lx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i(kl(ilx))−   i(kl(ilx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8     j(kl(jlx))− 0 0 0 0 0 0 −8 0 j(kl(jlx))+ 0 0 0 0 0 0 0 0     i(jl(lx))− 0 0 0 0 0 0 0 0 i(jl(lx))− 0 0 0 0 0 0 0 0 j(il(lx)) 0 0 0 0 0 0 0 0 j(il(lx)) 0 0 0 0 0 0 0 0

Table 4.1d: Octonionic-linear operators mapping to the canonical basis.

33 Operator πO Image Operator πO Image ilx − j(klx)− 0 0 0 0 0 0 0 0 ilx − j(klx)− 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(jlx)−   k(jlx)−   0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 i(lx)−   i(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(i(jlx))+   j(i(jlx))−   0 0 −8 0 0 0 0 0 0 0 0 0 0 0 0 0     i(kl(kx))+ 0 0 0 0 0 0 0 0 i(kl(kx))− 0 0 0 0 0 0 0 0     j(k(lx))+ 0 0 0 0 0 0 0 0 j(k(lx))− 0 0 0 0 0 0 0 0 jl(kl(lx)) 0 0 0 0 0 0 0 0 jl(kl(lx)) 0 0 0 0 0 0 0 0 ilx − j(klx)+ 0 0 0 0 0 0 −8 0 ilx − j(klx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(jlx)+   k(jlx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i(lx)−   i(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(i(jlx))−   j(i(jlx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     i(kl(kx))+ 0 0 0 0 0 0 0 0 i(kl(kx))− 0 0 0 0 0 0 0 0     j(k(lx))− 0 0 0 0 0 0 0 0 j(k(lx))+ 8 0 0 0 0 0 0 0 jl(kl(lx)) 0 0 0 0 0 0 0 0 jl(kl(lx)) 0 0 0 0 0 0 0 0 ilx + j(klx)− 0 0 0 0 0 0 0 0 ilx + j(klx)− 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 −8 k(jlx)+   k(jlx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  i(lx)−   i(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  j(i(jlx))−   j(i(jlx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0      i(kl(kx))− 0 0 0 0 0 0 0 0 i(kl(kx))+ 0 0 0 0 0 0 0 0      j(k(lx))+ 0 0 0 0 0 0 0 0 j(k(lx))− 0 0 0 0 0 0 0 0  jl(kl(lx)) 0 8 0 0 0 0 0 0 jl(kl(lx)) 0 0 0 0 0 0 0 0 ilx + j(klx)+ 0 0 0 0 0 0 0 0 ilx + j(klx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(jlx)−   k(jlx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i(lx)−   i(lx)+   0 0 0 0 0 −8 0 0 0 0 0 0 0 0 0 0 j(i(jlx))+   j(i(jlx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     i(kl(kx))− 0 0 0 0 0 0 0 0 i(kl(kx))+ 0 0 0 8 0 0 0 0     j(k(lx))− 0 0 0 0 0 0 0 0 j(k(lx))+ 0 0 0 0 0 0 0 0 jl(kl(lx)) 0 0 0 0 0 0 0 0 jl(kl(lx)) 0 0 0 0 0 0 0 0

Table 4.1e: Octonionic-linear operators mapping to the canonical basis.

34 Operator πO Image Operator πO Image jlx − i(klx)− 0 0 0 0 0 0 0 0 jlx − i(klx)− 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(ilx)−   k(ilx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(lx)−   j(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 j(i(ilx))−   j(i(ilx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     j(kl(kx))− 0 0 0 0 0 0 0 0 j(kl(kx))+ 0 0 0 0 0 0 0 0     i(k(lx))− 0 0 0 −8 0 0 0 0 i(k(lx))+ 0 0 0 0 0 0 0 0 il(kl(lx)) 0 0 0 0 0 0 0 0 il(kl(lx)) 0 0 0 0 0 0 0 0 jlx − i(klx)+ 0 0 0 0 0 0 0 0  jlx − i(klx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 k(ilx)+   k(ilx)+   0 0 0 0 0 0 0 −8 0 0 0 0 0 0 0 0 j(lx)−   j(lx)+   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 j(i(ilx))+   j(i(ilx))−   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0     j(kl(kx))− 0 0 0 0 0 0 0 0  j(kl(kx))+ 0 0 0 0 0 0 0 0     i(k(lx))+ 0 0 0 0 0 0 0 0  i(k(lx))− 0 0 0 0 0 0 0 0 il(kl(lx)) 0 0 0 0 0 0 0 0 il(kl(lx)) 0 0 8 0 0 0 0 0 jlx + i(klx)− 0 0 0 0 0 0 0 0 jlx + i(klx)− 0 0 0 0 0 −8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(ilx)+   k(ilx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(lx)−   j(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(i(ilx))+   j(i(ilx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     j(kl(kx))+ 8 0 0 0 0 0 0 0 j(kl(kx))− 0 0 0 0 0 0 0 0     i(k(lx))− 0 0 0 0 0 0 0 0 i(k(lx))+ 0 0 0 0 0 0 0 0 il(kl(lx)) 0 0 0 0 0 0 0 0 il(kl(lx)) 0 0 0 0 0 0 0 0 jlx + i(klx)+ 0 0 0 0 0 0 0 0 jlx + i(klx)+ 0 0 0 0 0 0 0 0 0 0 0 0 −8 0 0 0 0 0 0 0 0 0 0 0 k(ilx)−   k(ilx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(lx)+   j(lx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(i(ilx))+   j(i(ilx))−   0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0     j(kl(kx))− 0 0 0 0 0 0 0 0 j(kl(kx))+ 0 0 0 0 0 0 0 0     i(k(lx))− 0 0 0 0 0 0 0 0 i(k(lx))+ 0 0 0 0 0 0 0 0 il(kl(lx)) 0 0 0 0 0 0 0 0 il(kl(lx)) 0 0 0 0 0 0 0 0

Table 4.1f: Octonionic-linear operators mapping to the canonical basis.

35 Operator πO Image Operator πO Image klx − i(jlx)− 0 0 0 0 0 0 0 0 klx − i(jlx)− 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 j(ilx)−   j(ilx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(lx)−   k(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(i(ilx))−   k(i(ilx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(jl(jx))− 0 0 0 0 0 0 0 0 k(jl(jx))+ 0 −8 0 0 0 0 0 0     i(j(lx))− 0 0 0 0 0 0 0 0 i(j(lx))+ 0 0 0 0 0 0 0 0 il(jl(lx)) 0 0 0 0 0 0 0 0 il(jl(lx)) 0 0 0 0 0 0 0 0 klx − i(jlx)+ 0 0 0 0 0 0 0 0 klx + i(jlx)− 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  j(ilx)+   j(ilx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  k(lx)−   k(lx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 −8 k(i(ilx))+   k(i(ilx))+   8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0      k(jl(jx))− 0 0 0 0 0 0 0 0 k(jl(jx))+ 0 0 0 0 0 0 0 0      i(j(lx))+ 0 0 0 0 0 0 0 0 i(j(lx))− 0 0 0 0 0 0 0 0  il(jl(lx)) 0 0 0 0 0 0 0 0 il(jl(lx)) 0 0 0 0 0 0 0 0 klx − i(jlx)+ 0 0 0 0 −8 0 0 0 klx + i(jlx)− 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(ilx)+   j(ilx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(lx)+   k(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(i(ilx))−   k(i(ilx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(jl(jx))+ 0 0 0 0 0 0 0 0 k(jl(jx))− 0 0 0 0 0 0 0 0     i(j(lx))− 0 0 0 0 0 0 0 0 i(j(lx))+ 0 0 0 0 0 0 0 0 il(jl(lx)) 0 0 0 0 0 0 0 0 il(jl(lx)) 0 0 0 8 0 0 0 0 klx + i(jlx)+ 0 0 0 0 0 0 0 0 klx + i(jlx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(ilx)−   j(ilx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 −8 0 k(lx)−   k(lx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(i(ilx))−   k(i(ilx))+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(jl(jx))+ 0 0 0 0 0 0 0 0 k(jl(jx))− 0 0 0 0 0 0 0 0     i(j(lx))+ 0 0 8 0 0 0 0 0 i(j(lx))− 0 0 0 0 0 0 0 0 il(jl(lx)) 0 0 0 0 0 0 0 0 il(jl(lx)) 0 0 0 0 0 0 0 0

Table 4.1g: Octonionic-linear operators mapping to the canonical basis.

36 Operator πO Image Operator πO Image lx − i(ilx)− 0 0 0 0 0 0 0 −8 lx − i(ilx)− 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 j(jlx)−   j(jlx)−   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 k(klx)−   k(klx)+   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 k(i(jlx))−   k(i(jlx))+   0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0     k(il(jx))− 0 0 0 0 0 0 0 0  k(il(jx))+ 0 0 0 0 0 0 0 0     i(j(klx))+ 0 0 0 0 0 0 0 0  i(j(klx))− 0 0 0 0 0 0 0 0 il(jl(klx)) 0 0 0 0 0 0 0 0 il(jl(klx)) 8 0 0 0 0 0 0 0 lx − i(ilx)+ 0 0 0 0 0 0 0 0 lx − i(ilx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 j(jlx)+   j(jlx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(klx)−   k(klx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(i(jlx))+   k(i(jlx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(il(jx))− 0 0 0 0 0 0 0 0 k(il(jx))+ 0 0 0 0 0 0 0 0     i(j(klx))− 0 −8 0 0 0 0 0 0 i(j(klx))+ 0 0 0 0 0 0 0 0 il(jl(klx)) 0 0 0 0 0 0 0 0 il(jl(klx)) 0 0 0 0 0 0 0 0 lx + i(ilx)− 0 0 0 0 0 0 0 0 lx + i(ilx)− 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(jlx)+   j(jlx)+   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(klx)−   k(klx)+   0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 k(i(jlx))+   k(i(jlx))−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     k(il(jx))+ 0 0 0 0 0 0 0 0 k(il(jx))− 0 0 −8 0 0 0 0 0     i(j(klx))+ 0 0 0 0 0 0 0 0 i(j(klx))− 0 0 0 0 0 0 0 0 il(jl(klx)) 0 0 0 0 0 0 0 0 il(jl(klx)) 0 0 0 0 0 0 0 0 lx + i(ilx)+ 0 0 0 0 0 0 0 0 lx + i(ilx)+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 j(jlx)−   j(jlx)−   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 k(klx)−   k(klx)+   0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 k(i(jlx))−   k(i(jlx))+   0 0 0 −8 0 0 0 0 0 0 0 0 0 0 0 0     k(il(jx))+ 0 0 0 0 0 0 0 0 k(il(jx))− 0 0 0 0 0 0 0 0     i(j(klx))− 0 0 0 0 0 0 0 0 i(j(klx))+ 0 0 0 0 0 0 0 0 il(jl(klx)) 0 0 0 0 0 0 0 0 il(jl(klx)) 0 0 0 0 0 0 0 0

Table 4.1h: Octonionic-linear operators mapping to the canonical basis.

37 5 Automorphisms of the Octonions

Finally, we will discuss which octonionic-linear operators are automorphisms of O. An automor- phism is a map φ that preserves addition and multiplication. Thus, if φ is an automorphism of O, then given x, y ∈ O, φ(x + y) = φ(x) + φ(y) and φ(xy) = φ(x)φ(y). By Fact 2.1, we know that, given an octonionic-linear operator L(x), r ∈ R and x, y ∈ O, L(rx + y) = rL(x) + L(y). (5.1)

So, it is sufficient to find octonionic-linear maps that preserve multiplication. These maps are also described in [1] and in [2], but are more commonly called the group G2. First, let L(x) be an octonionic-linear operator and let y ∈ O and r ∈ R. As shown in Equation 5.1, if L is also going to be an automorphism then L(r) must equal r. Also, L can be viewed as a linear map between vector spaces and thus must send a basis of the domain to a basis of the image. Since the kernel of L must be trivial, L must map a basis of O to a linearly independent set of 8 elements. So, consider where L sends the basis elements of O. If e ∈ {i, j, k, il, jl, kl, l}, then L(e2) = L(−1) = −1, (5.2) because we just showed that L must fix real values. But

−1 = L(e2) = L(e)L(e) = L(e)2, (5.3) so L(e) must also be an element that squares to −1. Also, if L(x) maps i to an element that squares to −1, then j must map to a different element that also squares to −1. Furthermore, determining where these two elements are mapped determines where k maps to, namely

L(k) = L(ij) = L(i)L(j). (5.4)

Finally, picking where L(l) goes, completely determines the final three units of O, because L(il) = L(i)L(l),L(jl) = L(j)L(l) and L(kl) = L(k)L(l). Since each basis element is mapped to an element that squares to −1, we can consider the image of the imaginary units of O as spanning S6 ⊆ R7, a 6 dimensional sphere. To count the number of degrees of freedom of the generators of the automorphism group of O, we have 6 dimensions of the sphere that i could map to. There are then only 5 dimensions for j to map to. By Equation 5.4, L(k) is now determined. Thus, there are only 3 dimensions of the sphere that l could map to. Therefore, there are 6 + 5 + 3 = 14 degrees of freedom in the group of generators of the automorphisms of O.

38 6 Summary

In conclusion, we defined division algebras, and used the fact that quaternions and octonions are division algebras to explicitly construct sets of all linear operators from H to H and from O to O. While constructing the octonionic-linear operators, we had the surprising calculation that with up to two left nested multiplications, we got exactly 64 distinct octonionic-linear operators, which is, of course, the number of degrees of freedom in M8(R), which corresponds to all real-linear operators over the octonions. We then defined a set of maps πK for division algebras K = R, C, H and O, which mapped linear-operators from K to K, to the set of matrices Mdim(K)(R). We were able to show that these maps are surjective for every space, except the complex numbers, which implies that every form of conjugation and projection in H and O can be expressed in the space, purely by using multiplication and addition, not just as a real-linear map. Finally, we classified the subset of octonionic-linear operators that are also automorphisms of the octonions.

39 7 References

[1] Dray, T. and Manogue, C. A. (2015). The Geometry of the Octonions, (World Scientific), ebook 978-981-4401-82-1.

[2] Manogue, C. A. and Schray, J. (1993). Finite lorentz transformations, automorphisms, and division algebras, J. Math. Phys. 34, pp. 3746-3767, eprint arXiv:hep-th/9302044.

40