# KClass -- the class of all equivariant K-classes

## Description

For $X$ a GKM variety with an action of a torus $T$ whose character ring is $R$, a $T$-equivariant $K$-class $C \in K_T^0(X)$ of is encoded by its image in $K_T^0(X^T) = \prod_{x\in X^T} R$, under the injective restriction map $K_T^0(X) \to K_T^0(X^T)$. See [Corollary 5.12; VV03] or [Corollary A.5; RK03] for details.

A KClass C is a HashTable consisting of two keys:

• variety, whose value is a GKMVariety of which C is a K-class of
• KPolynomials, whose value is a HashTable; its keys are X.points and the values are Laurent polynomials in the character ring representing the values of the K-class under the restriction map.

• makeKClass -- constructs an equivariant K-class
• isWellDefined(KClass) -- whether the input is a well-defined equivariant K-class
• pushforward -- computes the pushforward map of equivariant K-classes of an equivariant map
• pullback -- make the pullback along a toric map
• euler(KClass) -- computes the equivariant Euler characteristic of an equivariant K-class

## Functions and methods returning an equivariant K-class :

• "ampleKClass(GKMVariety)" -- see ampleKClass -- the class of an ample line bundle
• "makeKClass(GKMVariety,List)" -- see makeKClass -- constructs an equivariant K-class
• makeKClass(GKMVariety,FlagMatroid) -- the equivariant K-class of a flag matroid
• makeKClass(GKMVariety,ToricDivisor) -- create the KClass from a ToricDivisor
• "orbitClosure(GKMVariety,Matrix)" -- see orbitClosure -- computes the equivariant K-class of a torus orbit closure of a point in a generalized flag variety
• "trivialKClass(GKMVariety)" -- see trivialKClass -- the equivariant K-class of the structure sheaf

## Methods that use an equivariant K-class :

• "ampleKClass(GKMVariety,KClass)" -- see ampleKClass -- the class of an ample line bundle
• euler(KClass) -- computes the equivariant Euler characteristic of an equivariant K-class
• isWellDefined(KClass) -- whether the input is a well-defined equivariant K-class
• KClass * KClass -- computes the product of two equivariant K-classes
• KClass + KClass -- computes the sum of two equivariant K-classes
• KClass ^ ZZ -- computes powers of an equivariant K-classes
• "makeGKMVariety(KClass)" -- see makeGKMVariety -- constructs a GKM variety

## For the programmer

The object KClass is a type, with ancestor classes HashTable < Thing.