# setupCotangent -- Set up cotangent Schubert calculus rings

## Synopsis

• Usage:
(A,B,FF,I) = setupCotangent(dimensions,Presentation=>Borel)
(D,FF,I) = setupCotangent(dimensions,Presentation=>EquivLoc)
• Inputs:
• dimensions, , of integers
• Optional inputs:
• Presentation => , default value EquivLoc
• Ktheory => , default value false
• Equivariant => , default value true

## Description

This function sets up the various rings used by CotangentSchubert. Its behaviour depends on the value of the option Presentation.

With Presentation => Borel, setupCotangent returns a sequence made of two rings, a field and a list:

 i1 : (A,B,FF,I) = setupCotangent(1,3,Presentation=>Borel) o1 = (A, B, FF, {011, 101, 110}) o1 : Sequence

The first (resp. second) ring is the cohomology or K-theory ring of the cotangent bundle of the flag variety specifided by the sequence of dimensions of flags (resp. of the corresponding full flag variety). The field is the base field (fraction field of the cohomology or K-theory ring of a point). The list is a list of labels for the various classes that CotangentSchubert computes. The boolean option Ktheory specifies the choice of K-theory or cohomology, whereas Equivariant specifies whether the equivariance is w.r.t. scaling of the fiber of the cotangent bundle only, or w.r.t. scaling and Cartan torus action.

With Presentation => EquivLoc:

 i2 : (D,FF,I) = setupCotangent(1,3,Presentation=>EquivLoc) o2 = (D, FF, {011, 101, 110}) o2 : Sequence

the first output is a "diagonal algebra", i.e., a vector space over FF with componentwise product. The last two outputs are the same as above.

## For the programmer

The object setupCotangent is .