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

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

~=: (%, %) -> Boolean

from BasicType

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: % -> 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

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: % -> 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

from FiniteRankNonAssociativeAlgebra R

coordinates: (Vector %, Vector %) -> Matrix R

from FiniteRankNonAssociativeAlgebra 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, %)

enumerate: () -> List % if R has Finite

from Finite

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)

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

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

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 CharacteristicNonZero or R has CharacteristicZero or R has IntegralDomain

from FiniteRankNonAssociativeAlgebra R

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: (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: (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

from FiniteRankNonAssociativeAlgebra R

random: () -> % if R has Finite

from Finite

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

from FiniteRankNonAssociativeAlgebra R

represents: (Vector R, Vector %) -> %

from FiniteRankNonAssociativeAlgebra R

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

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 CharacteristicNonZero or R has CharacteristicZero or R has IntegralDomain

from FiniteRankNonAssociativeAlgebra R

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 OrderedSet or R has Finite

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

AbelianGroup

AbelianMonoid

AbelianSemiGroup

BasicType

BiModule(%, %) if R has CharacteristicNonZero or R has CharacteristicZero

BiModule(R, R)

CancellationAbelianMonoid

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

CoercibleFrom Quaternion R

CoercibleFrom R

CoercibleTo OutputForm

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

Finite if R has Finite

FiniteRankNonAssociativeAlgebra R

FramedModule R

FramedNonAssociativeAlgebra R

FullyEvalableOver R

FullyRetractableTo Quaternion R

FullyRetractableTo R

Hashable if R has Hashable

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

LeftModule R

Magma

MagmaWithUnit if R has CharacteristicNonZero or R has CharacteristicZero

Module R

Monoid if R has CharacteristicNonZero or R has CharacteristicZero

NonAssociativeAlgebra R

NonAssociativeRing if R has CharacteristicNonZero or R has CharacteristicZero

NonAssociativeRng

NonAssociativeSemiRing if R has CharacteristicNonZero or R has CharacteristicZero

NonAssociativeSemiRng

OctonionCategory R

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

RetractableTo Quaternion R

RetractableTo R

RightModule % if R has CharacteristicNonZero or R has CharacteristicZero

RightModule R

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

SetCategory

unitsKnown if R has CharacteristicNonZero or R has CharacteristicZero or R has IntegralDomain