/Plexifications.jl

Complexification, perplexification, and nilplexification in Julia

Primary LanguageJuliaOtherNOASSERTION

Plexifications.jl

Build Status Build status Coverage Status codecov.io

This module provides arithmetic for plexifications.

There is an abstract type:

Plexification{T <: Number} <: Number

and three concrete types:

Complexification{T <: Number} <: Plexification{T}
Perplexification{T <: Number} <: Plexification{T}
Nilplexification{T <: Number} <: Plexification{T}

Each of the concrete types is a pair of elements.

A set of aliases are provided for convenience:

# 2-dimensional
Cmplex{T <: Real} = Complexification{T}
Prplex{T <: Real} = Perplexification{T}
Nlplex{T <: Real} = Nilplexification{T}

# 4-dimensional
BiComplex{T <: Real} = Complexification{Cmplex{T}}
BiPerplex{T <: Real} = Perplexification{Prplex{T}}
BiNilplex{T <: Real} = Nilplexification{Nlplex{T}}
DualComplex{T <: Real} = Nilplexification{Cmplex{T}}
DualPerplex{T <: Real} = Nilplexification{Prplex{T}}

# 8-dimensional
TriComplex{T <: Real} = Complexification{BiComplex{T}}
TriPerplex{T <: Real} = Perplexification{BiPerplex{T}}
TriNilplex{T <: Real} = Nilplexification{BiNilplex{T}}
HyperComplex{T <: Real} = Nilplexification{DualComplex{T}}
HyperPerplex{T <: Real} = Nilplexification{DualPerplex{T}}

NEEDS DOCS.