biVector forum

Defining HyperComplex Numbers (Grassman.jl)

Hi everyone. Long time observer, but new to the forum. Also new to Grassmann.jl. Count me as pretty clueless when it comes to most of this theoretical math stuff but I’m trying to learn. If I wanted to define a new number system such as, hypercomplex numbers ie: [a,b,c,d,e] = a + b i1 + c i2 + d i3 + e i4 .

On this number system I need addition and multiplication to be defined. Addition should form a commutative group, and multiplication would not be associative.

How would I go about doing that? Are there any tutorials that could help me?

Is this right?

using Grassmann, 
@basis S"+----"

Non-associative, like octonions? To get non-associative you need to do something like nesting the algebras. Geometric products are associative, but can become non-associative if the coefficients are quaternions (or something like that), instead of real numbers.

A good way to make an operation non-associative is to combine it with a unary operation applied to just one of the arguments. For instance, subtraction is addition with negation of the right hand side, and division is multiplication with inversion of the right hand side. There are lots of additional unary operations that you can play with mixing in here, like conjugation, reversion, and the hodge dual or multiplication by the pseudoscalar!