# FiniteRankAlgebra(R, UP)ΒΆ

A FiniteRankAlgebra is an algebra over a commutative ring `R` which is a free `R`-module of finite rank.

0: %

from AbelianMonoid

1: %

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

from BasicType

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

annihilate?: (%, %) -> Boolean

from Rng

antiCommutator: (%, %) -> %
associator: (%, %, %) -> %
characteristic: () -> NonNegativeInteger
characteristicPolynomial: % -> UP

`characteristicPolynomial(a)` returns the characteristic polynomial of the regular representation of `a` with respect to any basis.

charthRoot: % -> Union(%, failed) if R has CharacteristicNonZero
coerce: % -> OutputForm
coerce: Integer -> %
coerce: R -> %

from Algebra R

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

`coordinates(a, basis)` returns the coordinates of `a` with respect to the basis `basis`.

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

`coordinates([v1, ..., vm], basis)` returns the coordinates of the `vi``'s` with to the basis `basis`. The coordinates of `vi` are contained in the `i`th row of the matrix returned by this function.

discriminant: Vector % -> R

`discriminant([v1, .., vn])` returns `determinant(traceMatrix([v1, .., vn]))`.

latex: % -> String

from SetCategory

leftPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

leftRecip: % -> Union(%, failed)

from MagmaWithUnit

minimalPolynomial: % -> UP if R has Field

`minimalPolynomial(a)` returns the minimal polynomial of `a`.

norm: % -> R

`norm(a)` returns the determinant of the regular representation of `a` with respect to any basis.

one?: % -> Boolean

from MagmaWithUnit

opposite?: (%, %) -> Boolean

from AbelianMonoid

plenaryPower: (%, PositiveInteger) -> %
rank: () -> PositiveInteger

`rank()` returns the rank of the algebra.

recip: % -> Union(%, failed)

from MagmaWithUnit

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

`regularRepresentation(a, basis)` returns the matrix `m` of the linear map defined by left multiplication by `a` with respect to the basis `basis`. That is for all `x` we have `coordinates(a*x, basis) = m*coordinates(x, basis)`.

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

`represents([a1, .., an], [v1, .., vn])` returns `a1*v1 + ... + an*vn`.

rightPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

rightPower: (%, PositiveInteger) -> %

from Magma

rightRecip: % -> Union(%, failed)

from MagmaWithUnit

sample: %

from AbelianMonoid

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

`trace(a)` returns the trace of the regular representation of `a` with respect to any basis.

traceMatrix: Vector % -> Matrix R

`traceMatrix([v1, .., vn])` is the `n`-by-`n` matrix ( `Tr`(`vi` * `vj`) )

zero?: % -> Boolean

from AbelianMonoid

AbelianGroup

AbelianMonoid

AbelianSemiGroup

BasicType

BiModule(%, %)

BiModule(R, R)

CancellationAbelianMonoid

Magma

MagmaWithUnit

Monoid

NonAssociativeRing

NonAssociativeRng

NonAssociativeSemiRing

NonAssociativeSemiRng

Ring

Rng

SemiGroup

SemiRing

SemiRng

SetCategory

TwoSidedRecip

unitsKnown