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 CharacteristicNonZero or R has CharacteristicZero or R has IntegralDomain
- 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
from FramedModule R
- 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 CharacteristicNonZero or R has CharacteristicZero or R has IntegralDomain
- 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 CharacteristicNonZero or R has CharacteristicZero or R has IntegralDomain
- 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 OrderedSet or R has Finite
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 OrderedSet or R has Finite
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 CharacteristicNonZero or R has CharacteristicZero or R has IntegralDomain