# FramedModule R¶

- 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
- =: (%, %) -> Boolean
- from BasicType
- ~=: (%, %) -> Boolean
- from BasicType

- 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.- enumerate: () -> List % if R has Finite
- from Finite
- hash: % -> SingleInteger
- from SetCategory
- hashUpdate!: (HashState, %) -> HashState
- from SetCategory
- index: PositiveInteger -> % if R has Finite
- from Finite
- latex: % -> String
- from SetCategory
- lookup: % -> PositiveInteger if R has Finite
- from Finite
- opposite?: (%, %) -> Boolean
- from AbelianMonoid
- random: () -> % if R has Finite
- from Finite

- 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
- from CancellationAbelianMonoid
- 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