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.
- 0: %
 from AbelianMonoid
- 1: % if R has CharacteristicNonZero or R has CharacteristicZero
 from MagmaWithUnit
- *: (%, %) -> %
 from Magma
- *: (%, R) -> %
 from RightModule R
- *: (Integer, %) -> %
 from AbelianGroup
- *: (NonNegativeInteger, %) -> %
 from AbelianMonoid
- *: (PositiveInteger, %) -> %
 from AbelianSemiGroup
- *: (R, %) -> %
 from LeftModule R
- +: (%, %) -> %
 from AbelianSemiGroup
- -: % -> %
 from AbelianGroup
- -: (%, %) -> %
 from AbelianGroup
- <=: (%, %) -> Boolean if R has OrderedSet
 from PartialOrder
- <: (%, %) -> Boolean if R has OrderedSet
 from PartialOrder
- >=: (%, %) -> 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
 
- annihilate?: (%, %) -> Boolean if R has CharacteristicNonZero or R has CharacteristicZero
 from Rng
- antiAssociative?: () -> Boolean
 
- antiCommutative?: () -> Boolean
 
- antiCommutator: (%, %) -> %
 
- apply: (Matrix R, %) -> %
 from FramedNonAssociativeAlgebra R
- associative?: () -> Boolean
 
- associator: (%, %, %) -> %
 from NonAssociativeRng
- associatorDependence: () -> List Vector R if R has IntegralDomain
 
- basis: () -> Vector %
 from FramedModule R
- characteristic: () -> NonNegativeInteger if R has CharacteristicNonZero or R has CharacteristicZero
 from NonAssociativeRing
- charthRoot: % -> Union(%, failed) if R has CharacteristicNonZero
 
- coerce: % -> OutputForm
 from CoercibleTo OutputForm
- 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: R -> %
 from CoercibleFrom R
- commutative?: () -> Boolean
 
- commutator: (%, %) -> %
 from NonAssociativeRng
- conditionsForIdempotents: () -> List Polynomial R
 from FramedNonAssociativeAlgebra R
- conditionsForIdempotents: Vector % -> List Polynomial R
 
- conjugate: % -> %
 from OctonionCategory R
- convert: % -> InputForm if R has ConvertibleTo InputForm
 from ConvertibleTo InputForm
- convert: % -> Vector R
 from FramedModule R
- convert: Vector R -> %
 from FramedModule R
- coordinates: % -> Vector R
 from FramedModule R
- coordinates: (%, Vector %) -> Vector R
 - coordinates: (Vector %, Vector %) -> Matrix R
 - coordinates: Vector % -> Matrix R
 from FramedModule R
- elt: (%, Integer) -> R
 from FramedNonAssociativeAlgebra R
- elt: (%, R) -> % if R has Eltable(R, R)
 from Eltable(R, %)
- eval: (%, Equation R) -> % if R has Evalable R
 from Evalable R
- eval: (%, List 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 Symbol, List R) -> % if R has InnerEvalable(Symbol, R)
 from InnerEvalable(Symbol, R)
- eval: (%, R, R) -> % if R has Evalable R
 from InnerEvalable(R, R)
- eval: (%, Symbol, R) -> % if R has InnerEvalable(Symbol, R)
 from InnerEvalable(Symbol, 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
- imagI: % -> R
 from OctonionCategory R
- imagj: % -> R
 from OctonionCategory R
- imagJ: % -> R
 from OctonionCategory R
- imagk: % -> 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
 
- jordanAdmissible?: () -> Boolean
 
- jordanAlgebra?: () -> Boolean
 
- latex: % -> String
 from SetCategory
- leftAlternative?: () -> Boolean
 
- leftDiscriminant: () -> R
 from FramedNonAssociativeAlgebra R
- leftDiscriminant: Vector % -> R
 
- leftMinimalPolynomial: % -> SparseUnivariatePolynomial R if R has IntegralDomain
 
- leftNorm: % -> 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
 
- leftTrace: % -> R
 
- leftTraceMatrix: () -> Matrix R
 from FramedNonAssociativeAlgebra R
- leftTraceMatrix: Vector % -> Matrix R
 
- leftUnit: () -> Union(%, failed) if R has IntegralDomain
 
- leftUnits: () -> Union(Record(particular: %, basis: List %), failed) if R has IntegralDomain
 
- lieAdmissible?: () -> Boolean
 
- lieAlgebra?: () -> Boolean
 
- lookup: % -> PositiveInteger if R has Finite
 from Finite
- map: (R -> R, %) -> %
 from FullyEvalableOver R
- max: (%, %) -> % if R has OrderedSet
 from OrderedSet
- min: (%, %) -> % if R has OrderedSet
 from OrderedSet
- norm: % -> R
 from OctonionCategory R
- octon: (Quaternion R, Quaternion R) -> %
 octon(qe, qE)constructs an octonion from two quaternions using the relation O = Q + QE.- octon: (R, R, R, R, R, R, R, R) -> %
 from OctonionCategory R
- one?: % -> Boolean if R has CharacteristicNonZero or R has CharacteristicZero
 from MagmaWithUnit
- opposite?: (%, %) -> Boolean
 from AbelianMonoid
- plenaryPower: (%, PositiveInteger) -> %
 from NonAssociativeAlgebra R
- powerAssociative?: () -> Boolean
 
- rank: () -> PositiveInteger
 
- rational?: % -> Boolean if R has IntegerNumberSystem
 from OctonionCategory R
- rational: % -> Fraction Integer 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, Vector %) -> %
 - represents: Vector R -> %
 from FramedModule 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
- retract: % -> R
 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
- retractIfCan: % -> Union(R, failed)
 from RetractableTo R
- rightAlternative?: () -> Boolean
 
- rightDiscriminant: () -> R
 from FramedNonAssociativeAlgebra R
- rightDiscriminant: Vector % -> R
 
- rightMinimalPolynomial: % -> SparseUnivariatePolynomial R if R has IntegralDomain
 
- rightNorm: % -> 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
 
- rightTrace: % -> R
 
- rightTraceMatrix: () -> Matrix R
 from FramedNonAssociativeAlgebra R
- rightTraceMatrix: Vector % -> Matrix R
 
- rightUnit: () -> Union(%, failed) if R has IntegralDomain
 
- rightUnits: () -> Union(Record(particular: %, basis: List %), failed) if R has IntegralDomain
 
- sample: %
 from AbelianMonoid
- size: () -> NonNegativeInteger if R has Finite
 from Finite
- smaller?: (%, %) -> Boolean if R has Finite or R has OrderedSet
 from Comparable
- structuralConstants: () -> Vector Matrix R
 from FramedNonAssociativeAlgebra R
- structuralConstants: Vector % -> Vector Matrix R
 
- subtractIfCan: (%, %) -> Union(%, failed)
 
- unit: () -> Union(%, failed) if R has IntegralDomain
 
- zero?: % -> Boolean
 from AbelianMonoid
BiModule(%, %) if R has CharacteristicNonZero or R has CharacteristicZero
BiModule(R, R)
CharacteristicNonZero if R has CharacteristicNonZero
CharacteristicZero if R has CharacteristicZero
CoercibleFrom Fraction Integer if Quaternion R has RetractableTo Fraction Integer or R has RetractableTo Fraction Integer
CoercibleFrom Integer if Quaternion R has RetractableTo Integer or R has RetractableTo Integer
Comparable if R has Finite or R has OrderedSet
ConvertibleTo InputForm if R has ConvertibleTo InputForm
Eltable(R, %) if R has Eltable(R, R)
Evalable R if R has Evalable R
FiniteRankNonAssociativeAlgebra R
FullyRetractableTo Quaternion R
InnerEvalable(R, R) if R has Evalable R
InnerEvalable(Symbol, R) if R has InnerEvalable(Symbol, R)
LeftModule % if R has CharacteristicNonZero or R has CharacteristicZero
MagmaWithUnit if R has CharacteristicNonZero or R has CharacteristicZero
Module R
Monoid if R has CharacteristicNonZero or R has CharacteristicZero
NonAssociativeRing if R has CharacteristicNonZero or R has CharacteristicZero
NonAssociativeSemiRing if R has CharacteristicNonZero or R has CharacteristicZero
OrderedSet if R has OrderedSet
PartialOrder if R has OrderedSet
RetractableTo Fraction Integer if Quaternion R has RetractableTo Fraction Integer or R has RetractableTo Fraction Integer
RetractableTo Integer if Quaternion R has RetractableTo Integer or R has RetractableTo Integer
RightModule % if R has CharacteristicNonZero or R has CharacteristicZero
Ring if R has CharacteristicNonZero or R has CharacteristicZero
Rng if R has CharacteristicNonZero or R has CharacteristicZero
SemiGroup if R has CharacteristicNonZero or R has CharacteristicZero
SemiRing if R has CharacteristicNonZero or R has CharacteristicZero
SemiRng if R has CharacteristicNonZero or R has CharacteristicZero
unitsKnown if R has CharacteristicZero or R has IntegralDomain or R has CharacteristicNonZero