# Maths - 1D Euclidean Space - Inner Product

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 e1,e2 and e3 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.n0 b.n∞ b.n0∞ b.n1 b.n01 b.n∞1 b.n0∞1 a.1 1 0 0 0 0 0 0 0 a.n0 n0 0 0 0 0 0 0 0 a.n∞ n∞ 4 0 0 0 0 0 0 a.n0∞ n0∞ 2n0 0 0 0 0 0 0 a.n1 n1 0 0 0 1 0 0 0 a.n01 n01 0 0 0 n0 0 0 0 a.n∞1 n∞1 -4n1 0 0 n∞ -4 0 0 a.n0∞1 n0∞1 -2n01 0 0 n0∞ -2n0 0 0

## The inner product of two null vectors

Lets take x1 in Euclidean space, this gives,

P=(-n0+ x1² n + 2 x1 n1)

and we want to take the inner product with x2:

Q=(-n0+ x2² n + 2 x2 n1)

So the outer product is the scalar::

P•Q = (-n0+ x1² n + 2 x1 n1)•(-n0+ x2² n + 2 x2 n1)
P•Q = n0n0- x2² n0•n - 2 x2 n0•n1 - x1² n•n0+ x2² x1² n•n + 2 x2 x1² n•n1-2 x1 n1•n0+ x2² 2 x1 n1•n + 2 x2 2 x1 n1•n1

P•Q = 1 - 4 x1² + 2 x2 2 x1

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

## Join

### Two Points

In the above example, if x2 = x1 then:

P•Q = 1 - 4 x1² + 4 x1² = 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:

• e1 and e3 square to positive
• e2 squares to negative
 a•b b.e b.e1 b.e2 b.e12 b.e3 b.e13 b.e23 b.e123 a.e 1 e1 e2 e12 e3 e13 e23 e123 a.e1 e1 1 0 e2 0 e3 0 e23 a.e2 e2 0 -1 e1 0 0 -e3 e13 a.e12 e12 -e2 -e1 1 0 0 0 e3 a.e3 e3 0 0 0 1 -e1 -e2 e12 a.e13 e13 -e3 0 0 e1 -1 0 e2 a.e23 e23 0 -e3 0 e2 0 1 e1 a.e123 e123 e23 e13 e3 e12 e2 e1 1

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

 a•b b.n b.n0 b.n∞ b.n0∞ b.n1 b.n01 b.n∞1 b.n0∞1 a.n 1 n0 n∞ n0∞ n1 n01 n∞1 n0∞1 a.n0 n0 0 1/2 0 0 0 n1/2 -n01/2 a.n∞ n∞ 1/2 0 n∞ 0 n1/2 0 n∞1/2 a.n0∞ n0∞ n0 0 n0∞ n1/2 n01/2 n∞1/2 n0∞1/2 +n1/4 a.n1 n1 0 0 n1/2 1 -n0 -n∞ n0∞ a.n01 n01 -n1/2 0 n01/2 n0 0 -1/2 0 a.n∞1 n∞1 0 -n1/2 n0∞/2 n∞ -1/2 0 n∞/2 a.n0∞1 n0∞1 -n01/2 n∞1/2 n0∞1/2 +n1/4 n0∞ -n0 0 n0∞

Each term in this table is calculated from:
n0= (e1 + e2)/2
n= (e1 - e2)/2
n1= e3

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:

n0∞ = (1-e12)/2

n01= (e13+e23)/2

n∞1 = (e13-e23)/2

n0∞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=ab

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 an+an0 an0+an∞ an+an0 an1+an0∞ an0∞+an01 an01+an∞1 an∞1+an0∞1 an0∞1)•
(bn b n+bn0 bn0+bn∞ bn+bn1 bn1+bn0∞ b n0∞+bn01 b n01+bn∞1 b n∞1+bn0∞1 bn0∞1)

The result is:

cn=an*bn + an0*bn1 + an0*bn∞ - an∞1*bn01
cn0=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
cn1=an*bn1 + an0*bn+ an∞*bn01- an∞1*bn0
cn0∞=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
cn01=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∞
cn0∞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:

 scalar n vector n0 n∞ n1 bivector n0∞ n01 n∞1 tri-vector n0∞1
 scalar n vector n0 n∞ n1 bivector n0∞ n01 n∞1 tri-vector n0∞1
=
 scalar n vector n0 n∞ n1 bivector n0∞ n01 n∞1 tri-vector n0∞1

## Derivation of Inner Prodict Table for Null Basis

 a•b b.n (e1+e2)/2b.n0 (e1-e2)/2b.n∞ (1-e12)/2 b.n0∞ e3b.n1 (e13+e23)/2 b.n01 (e13-e23)/2 b.n∞1 (e3-e123)/2b.n0∞1 a.n 1 n0 n∞ n0∞ n1 n01 n∞1 n0∞1 (e1+e2)/2a.n0 n0 0 (e11+e21-e12-e22)/4 =(1+0+0+1)/4 =1/2 (e1+e2-e2-e1)/4 =0 0 (e3+0 + 0 -e3)/40 (e3+0-0+e3)/4n1/2 (0-e23-0-e13)/4-n01/2 (e1-e2)/2 a.n∞ n∞ (e11+e12-e21-e22)/4 =(1+0+0+1)/4 =1/2 0 (e1-e2-e2+e1)/4n∞ 0 (e3+0 + 0 +e3)/4 n1/2 (e3+0-0-e3)/4 0 (0-e23-0+e13)/4 n∞1/2 (1-e12)/2a.n0∞ n0∞ (e1+e2+e2+e1)/4n0 (e1+e2-e2-e1)/40 (1-e12-e12+1)/4n0∞ (e3-0)/2 n1/2 (e13+e23+0+0)/4 n01/2 (e13-e23+0-0)/4n∞1/2 (e3-e123+0+e3)/4 n0∞1/2 +n1/4 e3a.n1 n1 0 0 (e3+0)/2n1/2 1 (-e1-e2)/2-n0 (-e1-e2)/2-n∞ (1-e12)/2n0∞ (e13+e23)/2a.n01 n01 (-e3+0 + 0 -e3)/4 -n1/2 (-e3+0 + 0 +e3)/40 (e13+e23+0+0)/4 n01/2 (e1+e2)/2 n0 (-1+0+0+1)/4 0 (-1-0 + 0 -1)/4 = -1/2 (e1-e2+e2-e1)/4 0 (e13-e23)/2a.n∞1 n∞1 (-e3+0-0+e3)/40 (-e3+0 + 0 -e3)/4 -n1/2 n0∞/2 (e1-e2)/4 n∞ (-1+0+0-1)/4-1/2 (-1+0+0+1)/40 (e1-e2-e2+e1)/4n∞/2 (e3-e123)/2 a.n0∞1 n0∞1 (0-0-e23-e13)/4 -n01/2 (0+0-e23+e13)/4 n∞1/2 (e3-e123+0+e3)/4n0∞1/2 +n1/4 (1-e12)/2 n0∞ (-e1-e2-e2-e1)/4 -n0 (-e1+e2-e2+e1)/4 0 (1-e12-e12+1)/4 n0∞