# FramedModule R¶

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
convert: % -> InputForm if R has Finite
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 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

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
zero?: % -> Boolean

from AbelianMonoid

AbelianGroup if R has AbelianGroup

AbelianMonoid

AbelianSemiGroup

BasicType

Comparable if R has Finite

ConvertibleTo InputForm if R has Finite

Finite if R has Finite

Hashable if R has Hashable

SetCategory