# FramedNonAssociativeAlgebra R¶

naalgc.spad line 895 [edit on github]

FramedNonAssociativeAlgebra(`R`

) is a FiniteRankNonAssociativeAlgebra (i.e. a non associative algebra over `R`

which is a free `R`

-module of finite rank) over a commutative ring `R`

together with a fixed `R`

-module basis.

- 0: %
from AbelianMonoid

- *: (%, %) -> %
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

- ^: (%, PositiveInteger) -> %
from Magma

- alternative?: () -> Boolean

- antiAssociative?: () -> Boolean

- antiCommutative?: () -> Boolean

- antiCommutator: (%, %) -> %

- apply: (Matrix R, %) -> %
`apply(m, a)`

defines a left operation of`n`

by`n`

matrices where`n`

is the rank of the algebra in terms of matrix-vector multiplication, this is a substitute for a left module structure. Error: if shape of matrix doesn`'t`

fit.

- associative?: () -> Boolean

- associator: (%, %, %) -> %
from NonAssociativeRng

- associatorDependence: () -> List Vector R if R has IntegralDomain

- basis: () -> Vector %
from FramedModule R

- coerce: % -> OutputForm
from CoercibleTo OutputForm

- commutative?: () -> Boolean

- commutator: (%, %) -> %
from NonAssociativeRng

- conditionsForIdempotents: () -> List Polynomial R
`conditionsForIdempotents()`

determines a complete list of polynomial equations for the coefficients of idempotents with respect to the fixed`R`

-module basis.- conditionsForIdempotents: Vector % -> List Polynomial R

- convert: % -> InputForm if R has Finite
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
`elt(a, i)`

returns the`i`

-th coefficient of`a`

with respect to the fixed`R`

-module basis.

- hash: % -> SingleInteger if R has Hashable
from Hashable

- hashUpdate!: (HashState, %) -> HashState if R has Hashable
from Hashable

- index: PositiveInteger -> % if R has Finite
from Finite

- jacobiIdentity?: () -> Boolean

- jordanAdmissible?: () -> Boolean

- jordanAlgebra?: () -> Boolean

- latex: % -> String
from SetCategory

- leftAlternative?: () -> Boolean

- leftDiscriminant: () -> R
`leftDiscriminant()`

returns the determinant of the`n`

-by-`n`

matrix whose element at the`i`

`-`

th row and`j`

`-`

th column is given by the left trace of the product`vi*vj`

, where`v1`

, …,`vn`

are the elements of the fixed`R`

-module basis. Note: the same as`determinant(leftTraceMatrix())`

.- leftDiscriminant: Vector % -> R

- leftMinimalPolynomial: % -> SparseUnivariatePolynomial R if R has IntegralDomain

- leftNorm: % -> R

- leftPower: (%, PositiveInteger) -> %
from Magma

- leftRankPolynomial: () -> SparseUnivariatePolynomial Polynomial R if R has Field
`leftRankPolynomial()`

calculates the left minimal polynomial of the generic element in the algebra, defined by the same structural constants over the polynomial ring in symbolic coefficients with respect to the fixed basis.

- leftRecip: % -> Union(%, failed) if R has IntegralDomain

- leftRegularRepresentation: % -> Matrix R
`leftRegularRepresentation(a)`

returns the matrix of the linear map defined by left multiplication by`a`

with respect to the fixed`R`

-module basis.- leftRegularRepresentation: (%, Vector %) -> Matrix R

- leftTrace: % -> R

- leftTraceMatrix: () -> Matrix R
`leftTraceMatrix()`

is the`n`

-by-`n`

matrix whose element at the`i`

`-`

th row and`j`

`-`

th column is given by left trace of the product`vi*vj`

, where`v1`

, …,`vn`

are the elements of the fixed`R`

-module basis.- 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

- opposite?: (%, %) -> Boolean
from AbelianMonoid

- plenaryPower: (%, PositiveInteger) -> %
from NonAssociativeAlgebra R

- powerAssociative?: () -> Boolean

- rank: () -> PositiveInteger

- recip: % -> Union(%, failed) if R has IntegralDomain

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

- rightAlternative?: () -> Boolean

- rightDiscriminant: () -> R
`rightDiscriminant()`

returns the determinant of the`n`

-by-`n`

matrix whose element at the`i`

`-`

th row and`j`

`-`

th column is given by the right trace of the product`vi*vj`

, where`v1`

, …,`vn`

are the elements of the fixed`R`

-module basis. Note: the same as`determinant(rightTraceMatrix())`

.- rightDiscriminant: Vector % -> R

- rightMinimalPolynomial: % -> SparseUnivariatePolynomial R if R has IntegralDomain

- rightNorm: % -> R

- rightPower: (%, PositiveInteger) -> %
from Magma

- rightRankPolynomial: () -> SparseUnivariatePolynomial Polynomial R if R has Field
`rightRankPolynomial()`

calculates the right minimal polynomial of the generic element in the algebra, defined by the same structural constants over the polynomial ring in symbolic coefficients with respect to the fixed basis.

- rightRecip: % -> Union(%, failed) if R has IntegralDomain

- rightRegularRepresentation: % -> Matrix R
`rightRegularRepresentation(a)`

returns the matrix of the linear map defined by right multiplication by`a`

with respect to the fixed`R`

-module basis.- rightRegularRepresentation: (%, Vector %) -> Matrix R

- rightTrace: % -> R

- rightTraceMatrix: () -> Matrix R
`rightTraceMatrix()`

is the`n`

-by-`n`

matrix whose element at the`i`

`-`

th row and`j`

`-`

th column is given by the right trace of the product`vi*vj`

, where`v1`

, …,`vn`

are the elements of the fixed`R`

-module basis.- 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
from Comparable

- structuralConstants: () -> Vector Matrix R
`structuralConstants()`

calculates the structural constants`[(gammaijk) for k in 1..rank()]`

defined by`vi * vj = gammaij1 * v1 + ... + gammaijn * vn`

, where`v1`

, …,`vn`

is the fixed`R`

-module basis.- structuralConstants: Vector % -> Vector Matrix R

- subtractIfCan: (%, %) -> Union(%, failed)

- unit: () -> Union(%, failed) if R has IntegralDomain

- zero?: % -> Boolean
from AbelianMonoid

BiModule(R, R)

Comparable if R has Finite

ConvertibleTo InputForm if R has Finite

FiniteRankNonAssociativeAlgebra R

Module R

unitsKnown if R has IntegralDomain