Octonion(R)

oct.spad line 261 [edit on github]

Octonion implements octonions (Cayley-Dixon algebra) over a commutative ring, an eight-dimensional non-associative algebra, doubling the quaternions in the same way as doubling the complex numbers to get the quaternions the main constructor function is octon which takes 8 arguments: the real part, the i imaginary part, the j imaginary part, the k imaginary part, (as with quaternions) and in addition the imaginary parts E, I, J, K.

* : (%, %) -> %
from Magma
* : (%, R) -> %
from RightModule(R)
* : (R, %) -> %
from LeftModule(R)
* : (Integer, %) -> %
from AbelianGroup
* : (NonNegativeInteger, %) -> %
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> %
from AbelianGroup
- : (%, %) -> %
from AbelianGroup
0 : () -> %
from AbelianMonoid
1 : () -> % if R has CharacteristicNonZero or R has CharacteristicZero
from MagmaWithUnit
< : (%, %) -> Boolean if R has OrderedSet
from PartialOrder
<= : (%, %) -> Boolean if R has OrderedSet
from PartialOrder
= : (%, %) -> Boolean
from BasicType
> : (%, %) -> Boolean if R has OrderedSet
from PartialOrder
>= : (%, %) -> Boolean if R has OrderedSet
from PartialOrder
^ : (%, NonNegativeInteger) -> % if R has CharacteristicNonZero or R has CharacteristicZero
from MagmaWithUnit
^ : (%, PositiveInteger) -> %
from Magma
abs : % -> R if R has RealNumberSystem
from OctonionCategory(R)
alternative? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
annihilate? : (%, %) -> Boolean if R has CharacteristicNonZero or R has CharacteristicZero
from Rng
antiAssociative? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
antiCommutative? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
antiCommutator : (%, %) -> %
from NonAssociativeSemiRng
apply : (Matrix(R), %) -> %
from FramedNonAssociativeAlgebra(R)
associative? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
associator : (%, %, %) -> %
from NonAssociativeRng
associatorDependence : () -> List(Vector(R)) if R has IntegralDomain
from FiniteRankNonAssociativeAlgebra(R)
basis : () -> Vector(%)
from FramedModule(R)
characteristic : () -> NonNegativeInteger if R has CharacteristicNonZero or R has CharacteristicZero
from NonAssociativeRing
charthRoot : % -> Union(%, "failed") if R has CharacteristicNonZero
from CharacteristicNonZero
coerce : R -> %
from CoercibleFrom(R)
coerce : Fraction(Integer) -> % if Quaternion(R) has RetractableTo(Fraction(Integer)) or R has RetractableTo(Fraction(Integer))
from CoercibleFrom(Fraction(Integer))
coerce : Integer -> % if Quaternion(R) has RetractableTo(Integer) or R has RetractableTo(Integer) or R has CharacteristicZero or R has CharacteristicNonZero
from NonAssociativeRing
coerce : Quaternion(R) -> %
from CoercibleFrom(Quaternion(R))
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
commutative? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
commutator : (%, %) -> %
from NonAssociativeRng
conditionsForIdempotents : () -> List(Polynomial(R))
from FramedNonAssociativeAlgebra(R)
conditionsForIdempotents : Vector(%) -> List(Polynomial(R))
from FiniteRankNonAssociativeAlgebra(R)
conjugate : % -> %
from OctonionCategory(R)
convert : Vector(R) -> %
from FramedModule(R)
convert : % -> InputForm if R has ConvertibleTo(InputForm)
from ConvertibleTo(InputForm)
convert : % -> Vector(R)
from FramedModule(R)
coordinates : Vector(%) -> Matrix(R)
from FramedModule(R)
coordinates : (Vector(%), Vector(%)) -> Matrix(R)
from FiniteRankNonAssociativeAlgebra(R)
coordinates : % -> Vector(R)
from FramedModule(R)
coordinates : (%, Vector(%)) -> Vector(R)
from FiniteRankNonAssociativeAlgebra(R)
elt : (%, R) -> % if R has Eltable(R, R)
from Eltable(R, %)
elt : (%, Integer) -> R
from FramedNonAssociativeAlgebra(R)
enumerate : () -> List(%) if R has Finite
from Finite
eval : (%, R, R) -> % if R has Evalable(R)
from InnerEvalable(R, R)
eval : (%, Equation(R)) -> % if R has Evalable(R)
from Evalable(R)
eval : (%, List(R), List(R)) -> % if R has Evalable(R)
from InnerEvalable(R, R)
eval : (%, List(Equation(R))) -> % if R has Evalable(R)
from Evalable(R)
eval : (%, List(Symbol), List(R)) -> % if R has InnerEvalable(Symbol, R)
from InnerEvalable(Symbol, R)
eval : (%, Symbol, R) -> % if R has InnerEvalable(Symbol, R)
from InnerEvalable(Symbol, R)
flexible? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
hash : % -> SingleInteger if R has Hashable
from Hashable
hashUpdate! : (HashState, %) -> HashState if R has Hashable
from Hashable
imagE : % -> R
from OctonionCategory(R)
imagI : % -> R
from OctonionCategory(R)
imagJ : % -> R
from OctonionCategory(R)
imagK : % -> R
from OctonionCategory(R)
imagi : % -> R
from OctonionCategory(R)
imagj : % -> R
from OctonionCategory(R)
imagk : % -> R
from OctonionCategory(R)
index : PositiveInteger -> % if R has Finite
from Finite
inv : % -> % if R has Field
from OctonionCategory(R)
jacobiIdentity? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
jordanAdmissible? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
jordanAlgebra? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
latex : % -> String
from SetCategory
leftAlternative? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R)
from FiniteRankNonAssociativeAlgebra(R)
leftDiscriminant : () -> R
from FramedNonAssociativeAlgebra(R)
leftDiscriminant : Vector(%) -> R
from FiniteRankNonAssociativeAlgebra(R)
leftMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if R has IntegralDomain
from FiniteRankNonAssociativeAlgebra(R)
leftNorm : % -> R
from FiniteRankNonAssociativeAlgebra(R)
leftPower : (%, NonNegativeInteger) -> % if R has CharacteristicNonZero or R has CharacteristicZero
from MagmaWithUnit
leftPower : (%, PositiveInteger) -> %
from Magma
leftRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(R)) if R has Field
from FramedNonAssociativeAlgebra(R)
leftRecip : % -> Union(%, "failed") if R has CharacteristicZero or R has IntegralDomain or R has CharacteristicNonZero
from MagmaWithUnit
leftRegularRepresentation : % -> Matrix(R)
from FramedNonAssociativeAlgebra(R)
leftRegularRepresentation : (%, Vector(%)) -> Matrix(R)
from FiniteRankNonAssociativeAlgebra(R)
leftTrace : % -> R
from FiniteRankNonAssociativeAlgebra(R)
leftTraceMatrix : () -> Matrix(R)
from FramedNonAssociativeAlgebra(R)
leftTraceMatrix : Vector(%) -> Matrix(R)
from FiniteRankNonAssociativeAlgebra(R)
leftUnit : () -> Union(%, "failed") if R has IntegralDomain
from FiniteRankNonAssociativeAlgebra(R)
leftUnits : () -> Union(Record(particular : %, basis : List(%)), "failed") if R has IntegralDomain
from FiniteRankNonAssociativeAlgebra(R)
lieAdmissible? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
lieAlgebra? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
lookup : % -> PositiveInteger if R has Finite
from Finite
map : (Mapping(R, R), %) -> %
from FullyEvalableOver(R)
max : (%, %) -> % if R has OrderedSet
from OrderedSet
min : (%, %) -> % if R has OrderedSet
from OrderedSet
noncommutativeJordanAlgebra? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
norm : % -> R
from OctonionCategory(R)
octon : (R, R, R, R, R, R, R, R) -> %
from OctonionCategory(R)
octon : (Quaternion(R), Quaternion(R)) -> %

octon(qe, qE) constructs an octonion from two quaternions using the relation O = Q + QE.

one? : % -> Boolean if R has CharacteristicNonZero or R has CharacteristicZero
from MagmaWithUnit
opposite? : (%, %) -> Boolean
from AbelianMonoid
plenaryPower : (%, PositiveInteger) -> %
from NonAssociativeAlgebra(R)
powerAssociative? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
random : () -> % if R has Finite
from Finite
rank : () -> PositiveInteger
from FiniteRankNonAssociativeAlgebra(R)
rational : % -> Fraction(Integer) if R has IntegerNumberSystem
from OctonionCategory(R)
rational? : % -> Boolean if R has IntegerNumberSystem
from OctonionCategory(R)
rationalIfCan : % -> Union(Fraction(Integer), "failed") if R has IntegerNumberSystem
from OctonionCategory(R)
real : % -> R
from OctonionCategory(R)
recip : % -> Union(%, "failed") if R has CharacteristicZero or R has IntegralDomain or R has CharacteristicNonZero
from MagmaWithUnit
represents : Vector(R) -> %
from FramedModule(R)
represents : (Vector(R), Vector(%)) -> %
from FiniteRankNonAssociativeAlgebra(R)
retract : % -> R
from RetractableTo(R)
retract : % -> Fraction(Integer) if Quaternion(R) has RetractableTo(Fraction(Integer)) or R has RetractableTo(Fraction(Integer))
from RetractableTo(Fraction(Integer))
retract : % -> Integer if Quaternion(R) has RetractableTo(Integer) or R has RetractableTo(Integer)
from RetractableTo(Integer)
retract : % -> Quaternion(R)
from RetractableTo(Quaternion(R))
retractIfCan : % -> Union(R, "failed")
from RetractableTo(R)
retractIfCan : % -> Union(Fraction(Integer), "failed") if Quaternion(R) has RetractableTo(Fraction(Integer)) or R has RetractableTo(Fraction(Integer))
from RetractableTo(Fraction(Integer))
retractIfCan : % -> Union(Integer, "failed") if Quaternion(R) has RetractableTo(Integer) or R has RetractableTo(Integer)
from RetractableTo(Integer)
retractIfCan : % -> Union(Quaternion(R), "failed")
from RetractableTo(Quaternion(R))
rightAlternative? : () -> Boolean
from FiniteRankNonAssociativeAlgebra(R)
rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R)
from FiniteRankNonAssociativeAlgebra(R)
rightDiscriminant : () -> R
from FramedNonAssociativeAlgebra(R)
rightDiscriminant : Vector(%) -> R
from FiniteRankNonAssociativeAlgebra(R)
rightMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if R has IntegralDomain
from FiniteRankNonAssociativeAlgebra(R)
rightNorm : % -> R
from FiniteRankNonAssociativeAlgebra(R)
rightPower : (%, NonNegativeInteger) -> % if R has CharacteristicNonZero or R has CharacteristicZero
from MagmaWithUnit
rightPower : (%, PositiveInteger) -> %
from Magma
rightRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(R)) if R has Field
from FramedNonAssociativeAlgebra(R)
rightRecip : % -> Union(%, "failed") if R has CharacteristicZero or R has IntegralDomain or R has CharacteristicNonZero
from MagmaWithUnit
rightRegularRepresentation : % -> Matrix(R)
from FramedNonAssociativeAlgebra(R)
rightRegularRepresentation : (%, Vector(%)) -> Matrix(R)
from FiniteRankNonAssociativeAlgebra(R)
rightTrace : % -> R
from FiniteRankNonAssociativeAlgebra(R)
rightTraceMatrix : () -> Matrix(R)
from FramedNonAssociativeAlgebra(R)
rightTraceMatrix : Vector(%) -> Matrix(R)
from FiniteRankNonAssociativeAlgebra(R)
rightUnit : () -> Union(%, "failed") if R has IntegralDomain
from FiniteRankNonAssociativeAlgebra(R)
rightUnits : () -> Union(Record(particular : %, basis : List(%)), "failed") if R has IntegralDomain
from FiniteRankNonAssociativeAlgebra(R)
sample : () -> %
from AbelianMonoid
size : () -> NonNegativeInteger if R has Finite
from Finite
smaller? : (%, %) -> Boolean if R has Finite or R has OrderedSet
from Comparable
someBasis : () -> Vector(%)
from FiniteRankNonAssociativeAlgebra(R)
structuralConstants : () -> Vector(Matrix(R))
from FramedNonAssociativeAlgebra(R)
structuralConstants : Vector(%) -> Vector(Matrix(R))
from FiniteRankNonAssociativeAlgebra(R)
subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
unit : () -> Union(%, "failed") if R has IntegralDomain
from FiniteRankNonAssociativeAlgebra(R)
zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

Eltable(R, %)

FiniteRankNonAssociativeAlgebra(R)

PartialOrder

NonAssociativeSemiRing

LeftModule(R)

Evalable(R)

ConvertibleTo(InputForm)

Rng

FullyRetractableTo(R)

SemiRing

unitsKnown

BiModule(R, R)

NonAssociativeRng

CharacteristicNonZero

RetractableTo(Fraction(Integer))

OrderedSet

SemiGroup

Magma

RightModule(R)

LeftModule(%)

NonAssociativeRing

CharacteristicZero

Module(R)

BiModule(%, %)

OctonionCategory(R)

InnerEvalable(R, R)

NonAssociativeSemiRng

CoercibleFrom(Integer)

CancellationAbelianMonoid

Ring

Comparable

RetractableTo(Integer)

AbelianMonoid

MagmaWithUnit

RetractableTo(Quaternion(R))

RightModule(%)

Hashable

FullyRetractableTo(Quaternion(R))

CoercibleTo(OutputForm)

FramedNonAssociativeAlgebra(R)

FullyEvalableOver(R)

InnerEvalable(Symbol, R)

SemiRng

Monoid

CoercibleFrom(Quaternion(R))

FramedModule(R)

Finite

BasicType

AbelianSemiGroup

SetCategory

CoercibleFrom(Fraction(Integer))

CoercibleFrom(R)

RetractableTo(R)

AbelianGroup

NonAssociativeAlgebra(R)