# Super algebras with basis#

class sage.categories.super_algebras_with_basis.SuperAlgebrasWithBasis(base_category)[source]#

The category of super algebras with a distinguished basis

EXAMPLES:

sage: C = Algebras(ZZ).WithBasis().Super(); C
Category of super algebras with basis over Integer Ring

>>> from sage.all import *
>>> C = Algebras(ZZ).WithBasis().Super(); C
Category of super algebras with basis over Integer Ring

class ElementMethods[source]#

Bases: object

supercommutator(x)[source]#

Return the supercommutator of self and x.

Let $$A$$ be a superalgebra. The supercommutator of homogeneous elements $$x, y \in A$$ is defined by

$[x, y\} = x y - (-1)^{|x| |y|} y x$

and extended to all elements by linearity.

EXAMPLES:

sage: # needs sage.modules
sage: Q = QuadraticForm(ZZ, 3, [1,2,3,4,5,6])
sage: Cl.<x,y,z> = CliffordAlgebra(Q)
sage: a = x*y - z
sage: b = x - y + y*z
sage: a.supercommutator(b)
-5*x*y + 8*x*z - 2*y*z - 6*x + 12*y - 5*z
sage: a.supercommutator(Cl.one())
0
sage: Cl.one().supercommutator(a)
0
sage: Cl.zero().supercommutator(a)
0
sage: a.supercommutator(Cl.zero())
0

sage: # needs sage.modules
sage: Q = QuadraticForm(ZZ, 2, [-1,1,-3])
sage: Cl.<x,y> = CliffordAlgebra(Q)
sage: [a.supercommutator(b) for a in Cl.basis() for b in Cl.basis()]
[0, 0, 0, 0, 0, -2, 1, -x - 2*y, 0, 1,
-6, 6*x + y, 0, x + 2*y, -6*x - y, 0]
sage: [a*b-b*a for a in Cl.basis() for b in Cl.basis()]
[0, 0, 0, 0, 0, 0, 2*x*y - 1, -x - 2*y, 0,
-2*x*y + 1, 0, 6*x + y, 0, x + 2*y, -6*x - y, 0]

>>> from sage.all import *
>>> # needs sage.modules
>>> Q = QuadraticForm(ZZ, Integer(3), [Integer(1),Integer(2),Integer(3),Integer(4),Integer(5),Integer(6)])
>>> Cl = CliffordAlgebra(Q, names=('x', 'y', 'z',)); (x, y, z,) = Cl._first_ngens(3)
>>> a = x*y - z
>>> b = x - y + y*z
>>> a.supercommutator(b)
-5*x*y + 8*x*z - 2*y*z - 6*x + 12*y - 5*z
>>> a.supercommutator(Cl.one())
0
>>> Cl.one().supercommutator(a)
0
>>> Cl.zero().supercommutator(a)
0
>>> a.supercommutator(Cl.zero())
0

>>> # needs sage.modules
>>> Q = QuadraticForm(ZZ, Integer(2), [-Integer(1),Integer(1),-Integer(3)])
>>> Cl = CliffordAlgebra(Q, names=('x', 'y',)); (x, y,) = Cl._first_ngens(2)
>>> [a.supercommutator(b) for a in Cl.basis() for b in Cl.basis()]
[0, 0, 0, 0, 0, -2, 1, -x - 2*y, 0, 1,
-6, 6*x + y, 0, x + 2*y, -6*x - y, 0]
>>> [a*b-b*a for a in Cl.basis() for b in Cl.basis()]
[0, 0, 0, 0, 0, 0, 2*x*y - 1, -x - 2*y, 0,
-2*x*y + 1, 0, 6*x + y, 0, x + 2*y, -6*x - y, 0]


Exterior algebras inherit from Clifford algebras, so supercommutators work as well. We verify the exterior algebra is supercommutative:

sage: E.<x,y,z,w> = ExteriorAlgebra(QQ)                                 # needs sage.modules
sage: all(b1.supercommutator(b2) == 0                                   # needs sage.modules
....:     for b1 in E.basis() for b2 in E.basis())
True

>>> from sage.all import *
>>> E = ExteriorAlgebra(QQ, names=('x', 'y', 'z', 'w',)); (x, y, z, w,) = E._first_ngens(4)# needs sage.modules
>>> all(b1.supercommutator(b2) == Integer(0)                                   # needs sage.modules
...     for b1 in E.basis() for b2 in E.basis())
True

class ParentMethods[source]#

Bases: object

Return the associated graded module to self.

See AssociatedGradedAlgebra for the definition and the properties of this.

graded_algebra()

EXAMPLES:

sage: W.<x,y> = algebras.DifferentialWeyl(QQ)                           # needs sage.modules
sage: W.graded_algebra()                                                # needs sage.combinat sage.modules
Graded Algebra of Differential Weyl algebra of
polynomials in x, y over Rational Field

>>> from sage.all import *
>>> W = algebras.DifferentialWeyl(QQ, names=('x', 'y',)); (x, y,) = W._first_ngens(2)# needs sage.modules
>>> W.graded_algebra()                                                # needs sage.combinat sage.modules
Graded Algebra of Differential Weyl algebra of
polynomials in x, y over Rational Field

class SignedTensorProducts(category, *args)[source]#

The category of super algebras with basis constructed by tensor product of super algebras with basis.

extra_super_categories()[source]#

EXAMPLES:

sage: Algebras(QQ).Super().SignedTensorProducts().extra_super_categories()
[Category of super algebras over Rational Field]
sage: Algebras(QQ).Super().SignedTensorProducts().super_categories()
[Category of signed tensor products of graded algebras over Rational Field,
Category of super algebras over Rational Field]

>>> from sage.all import *
>>> Algebras(QQ).Super().SignedTensorProducts().extra_super_categories()
[Category of super algebras over Rational Field]
>>> Algebras(QQ).Super().SignedTensorProducts().super_categories()
[Category of signed tensor products of graded algebras over Rational Field,
Category of super algebras over Rational Field]


Meaning: a signed tensor product of super algebras is a super algebra

extra_super_categories()[source]#

EXAMPLES:

sage: C = Algebras(ZZ).WithBasis().Super()
sage: sorted(C.super_categories(), key=str) # indirect doctest
[Category of graded algebras with basis over Integer Ring,
Category of super algebras over Integer Ring,
Category of super modules with basis over Integer Ring]

>>> from sage.all import *
>>> C = Algebras(ZZ).WithBasis().Super()
>>> sorted(C.super_categories(), key=str) # indirect doctest
[Category of graded algebras with basis over Integer Ring,
Category of super algebras over Integer Ring,
Category of super modules with basis over Integer Ring]