Here we will use the definition of inner product as the values in the geometric product table such that : if gradeof(row)-gradeof(column) != gradeof(entry) then the entry is set to zero otherwise the entry is the same as the geometric product. Where a table entry is the sum of terms then this check is done on each term separately. For more information about the concept of an inner product see this page.

I can think of two ways of calculating the inner product for this null vector basis:

- Generate the geometric table for the null basis (as explained on this page), then set terms to zero depending on the difference of the grades as explained above.
- Start with the inner product of e
_{1},e_{2}and e_{3}then rotate the basis vectors to give null basis vectors.

I'm not sure if these methods are equivalent? So we will use the first method but do some tests to see if the second method is equivalent.

### table for: Inner Product

a*b | b.1 | b.n_{0} |
b.n_{∞} |
b.n_{0∞} |
b.n_{1} |
b.n_{01} |
b.n_{∞1} |
b.n_{0∞1} |

a.1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

a.n_{0} |
n_{0} |
0 | 0 | 0 | 0 | 0 | 0 | 0 |

a.n_{∞} |
n_{∞} |
4 | 0 | 0 | 0 | 0 | 0 | 0 |

a.n_{0∞} |
n_{0∞} |
2n_{0} |
0 | 0 | 0 | 0 | 0 | 0 |

a.n_{1} |
n_{1} |
0 | 0 | 0 | 1 | 0 | 0 | 0 |

a.n_{01} |
n_{01} |
0 | 0 | 0 | n_{0} |
0 | 0 | 0 |

a.n_{∞1} |
n_{∞1} |
-4n_{1} |
0 | 0 | n_{∞} |
-4 | 0 | 0 |

a.n_{0∞1} |
n_{0∞1} |
-2n_{01} |
0 | 0 | n_{0∞} |
-2n_{0} |
0 | 0 |

## The inner product of two null vectors

Lets take x1 in Euclidean space, this gives,

P=(-n_{0}+ x_{1}² n_{∞} + 2 x_{1} n_{1})

and we want to take the inner product with x_{2}:

Q=(-n_{0}+ x_{2}² n_{∞} + 2 x_{2} n_{1})

So the outer product is the scalar::

P•Q = (-n_{0}+ x_{1}² n_{∞} + 2 x_{1} n_{1})•(-n_{0}+ x_{2}² n_{∞} + 2 x_{2} n_{1})

P•Q = n_{0}n_{0}- x_{2}² n_{0}•n_{∞} - 2 x_{2} n_{0}•n_{1} - x_{1}² n_{∞}•n_{0}+ x_{2}² x_{1}² n_{∞}•n_{∞} + 2 x_{2} x_{1}² n_{∞}•n_{1}-2 x_{1} n_{1}•n_{0}+ x_{2}² 2 x_{1} n_{1}•n_{∞} + 2 x_{2} 2 x_{1} n_{1}•n_{1}

P•Q = 1 _{} - 4 x_{1}² + 2 x_{2} 2 x_{1}

so the inner product of two points is a scalar value.

## Join

### Two Points

In the above example, if x_{2} = x_{1} then:

P•Q = 1 _{} - 4 x_{1}² + 4 x_{1}² = 1

## Investigation of alternative way to calculate inner product

There are different ways to extend the dot product from vectors to the inner product of bivectors and all our basis. Here we will use the version represented by the following table:

- e
_{1}and e_{3 }square to positive - e
_{2}squares to negative

a•b |
b.e | b.e1 | b.e2 | b.e12 | b.e3 | b.e13 | b.e23 | b.e123 |

a.e | 1 | e_{1} |
e_{2} |
e_{12} |
e_{3} |
e_{13} |
e_{23} |
e_{123} |

a.e1 | e_{1} |
1 | 0 | e_{2} |
0 | e_{3} |
0 | e_{23} |

a.e2 | e_{2} |
0 | -1 | e_{1} |
0 | 0 | -e_{3} |
e_{13} |

a.e12 | e_{12} |
-e_{2} |
-e_{1} |
1 | 0 | 0 | 0 | e_{3} |

a.e3 | e_{3} |
0 | 0 | 0 | 1 | -e_{1} |
-e_{2} |
e_{12} |

a.e13 | e_{13} |
-e_{3} |
0 | 0 | e_{1} |
-1 | 0 | e_{2} |

a.e23 | e_{23} |
0 | -e_{3} |
0 | e_{2} |
0 | 1 | e_{1} |

a.e123 | e_{123} |
e_{23} |
e_{13} |
e_{3} |
e_{12} |
e_{2} |
e_{1} |
1 |

We will then use this to derive the inner product table for our null vector basis.

a•b |
b.n | b.n_{0} |
b.n_{∞} |
b.n_{0∞} |
b.n_{1} |
b.n_{01} |
b.n_{∞1} |
b.n_{0∞1} |

a.n | 1 | n_{0} |
n_{∞} |
n_{0∞} |
n_{1} |
n_{01} |
n_{∞1} |
n_{0∞1} |

a.n_{0} |
n_{0} |
0 | 1/2 | 0 | 0 | 0 | n_{1}/2 |
-n_{01}/2 |

a.n_{∞} |
n_{∞} |
1/2 | 0 | n_{∞} |
0_{} |
n_{1}/2_{} |
0 | n_{∞1}/2 |

a.n_{0∞} |
n_{0∞} |
n_{0} |
0 | n_{0∞} |
n_{1}/2 |
n_{01}/2 |
n_{∞1}/2 |
n_{0∞1}/2 +n_{1}/4 |

a.n_{1} |
n_{1} |
0 | 0 | n_{1}/2 |
1 | -n_{0} |
-n_{∞} |
n_{0∞} |

a.n_{01} |
n_{01} |
-n_{1}/2 |
0 | n_{01}/2 |
n_{0} |
0 | -1/2 | 0 |

a.n_{∞1} |
n_{∞1} |
0 | -n_{1}/2 |
n_{0∞}/2 |
n_{∞} |
-1/2 | 0 | n_{∞}/2 |

a.n_{0∞1} |
n_{0∞1} |
-n_{01}/2 |
n_{∞1}/2 |
n_{0∞1}/2 +n_{1}/4 |
n_{0∞} |
-n_{0} |
0 | n_{0∞} |

Each term in this table is calculated from:

n_{0}= (e_{1} + e_{2})/2

n_{∞}= (e_{1} - e_{2})/2

n_{1}= e_{3}

Unlike when we were calculating the geometric product table the bivector and higher terms are not generated by the dot product so we have to assume they have already been generated by the outer product to give:

n_{0∞} = (1-e12)/2

n_{01}= (e13+e23)/2

n_{∞1} = (e13-e23)/2

n_{0∞1}= (e3-e123)/2

So we just multiply out each term by converting to 'e' basis, doing inner product, then converting back to 'n' basis (see full working at the end of this page).

## The inner product of two null vectors

Lets take x1 in Euclidean space, this gives,

p=(-1,x1²,x1)

and we want to take the inner product with x2:

q=(-1,x2²,x2)

So the inner product is the scalar:

inner product=1-x1²/2 -x2²/2 + x1x2

if p and q represent the same point then:

p•q = 1

## Expansion of Inner Product

Note: work in progress ignore the following:

Our multiplcaition is represented by:

**c**=**a**•**b**

Where **a**, **b** and **c** are multivectors which may contain scalar, vector and bivector and trivector components.

so multiplying out all the components gives:

(an a_{n}+an0 an_{0}+an∞ an_{∞}+an0 an_{1}+an0∞ an_{0∞}+an01 a_{n01}+an∞1 an_{∞1}+an0∞1 an_{0∞1})•

(bn b _{n}+bn0 bn_{0}+bn∞ bn_{∞}+bn1 bn_{1}+bn0∞ b _{n0∞}+bn01 b _{n01}+bn∞1 b n_{∞1}+bn0∞1 bn_{0∞1})

The result is:

cn=an*bn + an0*bn1 + an0*bn∞ - an∞1*bn01

cn_{0}=an*bn0 + an0*bn + an0∞*bn0- an0*bn01+ an01*bn1- an0∞1*bn01

cn_{∞}=an*bn∞ + an∞*bn + an∞*bn0∞ - an0*bn∞1+ an∞1*bn1 + an∞1*bn0∞1

cn_{1}=an*bn1 + an0*bn+ an∞*bn01- an∞1*bn0

cn_{0∞}=an*bn0∞+an0*bn∞-an∞*bn0+an0∞*bn+an0∞*bn0∞+an0*bn0∞1-an01*bn∞1+an∞1*bn01+an0∞1*bn1+an0∞1*bn0∞1

cn_{01}=an*bn01+an0*bn1+an0∞*bn01-an0*bn0+an01*bn-an0∞1*bn0

cn_{∞1}=an*bn∞1+an∞*bn1+an∞*bn0∞1-an0*bn∞+an∞1*bn+an∞1*bn0∞

cn_{0∞1}=an*bn0∞1+an0*bn∞1-an∞*bn01+an0∞*bn1+an0*bn0∞-an01*bn∞+an∞1*bn0+an0∞1*bn

## Multivector Calculator

The following calculator allows you to calculate the multivector arithmetic of our rotated basis. Enter the values into the top two multivectors and then press "+ - or * " to display the result in the bottom multivector: