schubertCycle -- compute Schubert Cycles on a Grassmannian, Fulton-style
Synopsis
Usage:
schubertCycle(s,F)
Inputs:
F, an abstract flag bundle, associated to a vector bundle $A$, say, of rank $n$. This flag bundle should be a Grassmannian, parametrizing rank $r$ sub-bundles of $A$, say.
s, a sequence $(s_0, ..., s_{r-1})$ of length $r$ of integers, with $0 \le{} s_0 < ... < s_{r-1} < n$, or a list $\{s_0, ..., s_{r-1}\}$ of length $r$ of integers, with $n-r \ge{} s_0 \ge{} ... \ge{} s_{r-1} \ge{} 0$
Outputs:
c, the appropriate Schubert class or Schubert variety, depending on the type of s. See page 271 of Fulton's book, Intersection Theory for the notations. In the case where s is a a sequence, the value returned is the homology class of the Schubert variety in $ F $ consisting of those points corresponding to $(r-1)$-planes of $\PP(A)$ that meet $ W_j $ in dimension at least $ i $ with $0 \le{} i < r-1$, for each $ i $, where $ j = s_i $, and where $ W_j $ is the projective subspace of dimension $ j $ in a fixed (complete) flag $0 = W_0 \subset{} W_1 \subset{} ... \subset{} W_{n-1} = \PP(A) $. Here $ \PP(A) $ denotes the "Fulton-style" projective bundle parametrizing rank 1 sub-bundles of $A$; for opposite "Grothendieck-style" version, see schubertCycle'. In the case where s is a a list, the result is the corresponding Schubert class in cohomology. In Schubert2 homology and cohomology are identified with each other. Given a sequence $(s_0, ..., s_{r-1})$, one can convert it to a list yielding the same Schubert class by the formula $ \{..., n-r+i-s_i, ...\} $.
Description
i1 : base(0, Bundle=>(A, n=8, a))
o1 = a variety
o1 : an abstract variety of dimension 0
i2 : F = flagBundle ({r=5,3},A)
o2 = F
o2 : a flag bundle with subquotient ranks {5, 3}