# FramedModule R¶

algcat.spad line 1 [edit on github]

R: Join(SemiRng, AbelianMonoid)

A FramedModule is a finite rank free module with fixed `R`

-module basis.

- 0: %
from AbelianMonoid

- *: (Integer, %) -> % if R has AbelianGroup
from AbelianGroup

- *: (NonNegativeInteger, %) -> %
from AbelianMonoid

- *: (PositiveInteger, %) -> %
from AbelianSemiGroup

- *: (R, %) -> %
from LeftModule R

- +: (%, %) -> %
from AbelianSemiGroup

- -: % -> % if R has AbelianGroup
from AbelianGroup

- -: (%, %) -> % if R has AbelianGroup
from AbelianGroup

- basis: () -> Vector %
`basis()`

returns the fixed`R`

-module basis.

- coerce: % -> OutputForm
from CoercibleTo OutputForm

- convert: % -> InputForm if R has Finite
from ConvertibleTo InputForm

- convert: % -> Vector R
`convert(a)`

returns the coordinates of`a`

with respect to the fixed`R`

-module basis.

- convert: Vector R -> %
`convert([a1, .., an])`

returns`a1*v1 + ... + an*vn`

, where`v1`

, …,`vn`

are the elements of the fixed basis.

- coordinates: % -> Vector R
`coordinates(a)`

returns the coordinates of`a`

with respect to the fixed`R`

-module basis.

- coordinates: Vector % -> Matrix R
`coordinates([v1, ..., vm])`

returns the coordinates of the`vi`

`'s`

with to the fixed basis. The coordinates of`vi`

are contained in the`i`

th row of the matrix returned by this function.

- 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

- latex: % -> String
from SetCategory

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

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

- rank: () -> PositiveInteger
`rank()`

returns the rank of the module

- represents: Vector R -> %
`represents([a1, .., an])`

returns`a1*v1 + ... + an*vn`

, where`v1`

, …,`vn`

are the elements of the fixed basis.

- sample: %
from AbelianMonoid

- size: () -> NonNegativeInteger if R has Finite
from Finite

- smaller?: (%, %) -> Boolean if R has Finite
from Comparable

- subtractIfCan: (%, %) -> Union(%, failed) if R has AbelianGroup

- zero?: % -> Boolean
from AbelianMonoid

AbelianGroup if R has AbelianGroup

CancellationAbelianMonoid if R has AbelianGroup

Comparable if R has Finite

ConvertibleTo InputForm if R has Finite