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)