Modules

class sage.categories.modules.Modules(base, name=None)

Bases: sage.categories.category_types.Category_module

The category of all modules over a base ring \(R\)

A \(R\)-module \(M\) is a left and right \(R\)-module over a commutative ring \(R\) such that:

\[r*(x*s) = (r*x)*s \qquad \forall r,s \in R \text{ and } x\in M\]

INPUT:

  • base_ring – a ring \(R\)
  • dispatch – a boolean (for internal use; default: True)

When the base ring is a field, the category of vector spaces is returned instead (unless dispatch == False).

EXAMPLES:

sage: Modules(IntegerRing())
Category of modules over Integer Ring
sage: Modules(RationalField())
Category of vector spaces over Rational Field

sage: Modules(Integers(9))
Category of modules over Ring of integers modulo 9

sage: Modules(Integers(9)).super_categories()
[Category of bimodules over Ring of integers modulo 9 on the left and Ring of integers modulo 9 on the right]

sage: Modules(ZZ).super_categories()
[Category of bimodules over Integer Ring on the left and Integer Ring on the right]

sage: Modules == RingModules
True

sage: Modules(ZZ[x]).is_abelian()   # see #6081
True

TESTS:

sage: TestSuite(Modules(ZZ)).run()

TODO:

  • Implement a FreeModules(R) category, when so prompted by a concrete use case
class ElementMethods
class Modules.EndCategory(category, name=None)

Bases: sage.categories.modules.Modules.HomCategory

The category of endomorphisms sets \(End(X)\) for \(X\) module (this is not used yet)

extra_super_categories()

EXAMPLES:

sage: Hom(ZZ^3, ZZ^3).category().extra_super_categories() # todo: not implemented
[Category of algebras over Integer Ring]
class Modules.HomCategory(category, name=None)

Bases: sage.categories.category.HomCategory

The category of homomorphisms sets \(\hom(X,Y)\) for \(X\), \(Y\) modules

ParentMethods

alias of HomCategory.ParentMethods

extra_super_categories()

EXAMPLES:

sage: Modules(ZZ).hom_category().extra_super_categories()
[Category of modules over Integer Ring]
class Modules.ParentMethods
Modules.super_categories()

EXAMPLES:

sage: Modules(ZZ).super_categories()
[Category of bimodules over Integer Ring on the left and Integer Ring on the right]

Nota bene:

sage: Modules(QQ)
Category of vector spaces over Rational Field
sage: Modules(QQ).super_categories()
[Category of modules over Rational Field]

Previous topic

Modular abelian varieties

Next topic

Modules With Basis

This Page