Graded modules with basis

class sage.categories.graded_modules_with_basis.GradedModulesWithBasis(base_category)

Bases: sage.categories.graded_modules.GradedModulesCategory

The category of graded modules with a distinguished basis.

EXAMPLES:

sage: C = GradedModulesWithBasis(ZZ); C
Category of graded modules with basis over Integer Ring
sage: sorted(C.super_categories(), key=str)
[Category of filtered modules with basis over Integer Ring,
 Category of graded modules over Integer Ring]
sage: C is ModulesWithBasis(ZZ).Graded()
True
class ElementMethods

Bases: object

degree_negation()

Return the image of self under the degree negation automorphism of the graded module to which self belongs.

The degree negation is the module automorphism which scales every homogeneous element of degree \(k\) by \((-1)^k\) (for all \(k\)). This assumes that the module to which self belongs (that is, the module self.parent()) is \(\ZZ\)-graded.

EXAMPLES:

sage: E.<a,b> = ExteriorAlgebra(QQ)
sage: ((1 + a) * (1 + b)).degree_negation()
a*b - a - b + 1
sage: E.zero().degree_negation()
0

sage: P = GradedModulesWithBasis(ZZ).example(); P
An example of a graded module with basis: the free module on partitions over Integer Ring
sage: pbp = lambda x: P.basis()[Partition(list(x))]
sage: p = pbp([3,1]) - 2 * pbp([2]) + 4 * pbp([1])
sage: p.degree_negation()
-4*P[1] - 2*P[2] + P[3, 1]
class ParentMethods

Bases: object

degree_negation(element)

Return the image of element under the degree negation automorphism of the graded module self.

The degree negation is the module automorphism which scales every homogeneous element of degree \(k\) by \((-1)^k\) (for all \(k\)). This assumes that the module self is \(\ZZ\)-graded.

INPUT:

  • element – element of the module self

EXAMPLES:

sage: E.<a,b> = ExteriorAlgebra(QQ)
sage: E.degree_negation((1 + a) * (1 + b))
a*b - a - b + 1
sage: E.degree_negation(E.zero())
0

sage: P = GradedModulesWithBasis(ZZ).example(); P
An example of a graded module with basis: the free module on partitions over Integer Ring
sage: pbp = lambda x: P.basis()[Partition(list(x))]
sage: p = pbp([3,1]) - 2 * pbp([2]) + 4 * pbp([1])
sage: P.degree_negation(p)
-4*P[1] - 2*P[2] + P[3, 1]