Category of Lambda rings¶
Category of Lambda Rings
EXAMPLE:
sage: from msinvar.lambda_rings import LambdaRings
sage: R=PolynomialRing(QQ, 'x')
sage: LambdaRings.add_ring(R)
sage: x=R.gen(); (1+x).adams(2)
x^2 + 1
-
class
msinvar.lambda_rings.
LambdaRings
(s=None)[source]¶ Bases:
sage.categories.category_singleton.Category_singleton
The category of lambda-rings – commutative rings with plethystic operations.
To add a parent to the category one needs to call:
LambdaRings.add_ring()
.EXAMPLE:
sage: from msinvar.lambda_rings import LambdaRings sage: R=PolynomialRing(QQ,2,'x,y') sage: LambdaRings.add_ring(R) sage: x,y=R.gens() sage: (x+y).adams(2) x^2 + y^2
We can add an existing parent to lambda-rings, or we can use the init method of a parent. For example,
msinvar.tm_polynomials.TMPoly
is automatically equipped with a lambda-ring structure.EXAMPLE:
sage: from msinvar import TMPoly sage: R1=TMPoly(R,1,'z'); z=R1.gen() sage: (x*z).adams(2) x^2*z^2
The default adams operation is
default_adams()
. To override it one should define a new methodadams()
in the parent or in the element class.For existing parent instances to override the default adams operation one can call:
LambdaRings.add_ring(R, adams)
where
adams
is the new adams operation.