Subsection 4.1.1
We can use Macaulay2 to build the coordinate ring of $G(k,n)$ using the Plücker embedding. Exercise 4.4 is the simplest interesting case, $G(2,4) = {\mathbb G}(1,3)$. We'll start there before writing more general code for this.
Exercise 4.4:
|
|
|
|
|
|
|
We see that the ideal $J$ of ${\mathbb G}(1,3)$ in ${\mathbb P}^5$ is indeed generated by the single relation given in the text.
More generally, we can build $G(k,n)$ in its Plücker embedding for any $n$ and $k$:
|
|
Now we can do Exercise 4.4 in one line:
|
The reader is invited to try running pluckerIdeal(4,7). On our machine, this computation had not terminated after 15 minutes of runtime.
We can do a little better by using the built-in function Grassmannian, which computes the Plücker ideal in a more efficient way:
|
The reader should try running Grassmannian(4,7) (which runs very quickly) to see just how large this ideal is. Running Grasmannian(4,10), on the other hand, is likely to never terminate.
Given how large these rings are and how difficult it is to compute in them, we need to simplify our computational system if we want to get answers to harder questions.
Subsection 4.1.3
It is possible to use Macaulay2 to build the universal sub- and quotient- bundles of the Grassmannian using explicit equations. However, as above, computations very quickly become intractable. We need some simplifications if we hope to compute anything. Schubert2 makes two major simplifications that allow us to do intersection theory with computers:
1) Varieties are replaced by their Chow rings 2) Bundles are replaced by their (total) Chern classes (see Ch. 5)
Here is Schubert code that will build the Grassmannian and its universal sub- and quotient bundles.
|
|
|
|
|