L = grMatchingField(weightMatrix)
L = grMatchingField(k, n, tuples)
This function is the basic constructor for Grassmannian matching fields. The function outputs an instance of type GrMatchingField, which represents the matching field and stores all data related and computed about it.
There are two basic ways to define a Grassmannian matching field. The first way is to supply a weight matrix that induces the matching field. This produces a coherent matching field and is well-defined if the matrix is generic.
|
|
|
|
In the above example, we construct the Grassmannian matching field induced by the given weight matrix. The tuples for the matching field are listed in RevLex order. The function isToricDegeneration checks the equality of the matchingFieldIdeal and the initial ideal of the plueckerIdeal with respect to the weight inducing the matching field.
The second way to define a Grassmannian matching field is to list out its tuples.
|
|
|
|
|
As shown in the example above, the first argument "k" specifies the size of the tuples. The third argument is a list of the tuples. Note that the tuples can be supplied in any order. If the list of tuples is not correct, i.e. if some are missing or duplicated then the function raises an error. When a Grassmannian matching field is constructed in this way, it is not guaranteed to be coherent, i.e., it may not be induced by a weight matrix. The function isCoherent checks whether the matching field is coherent and the function getWeightMatrix returns a weight matrix that induces the matching field, if it exists. If the matching field is not coherent, then these methods produce an error.
A note of caution. Two different weight matrices may induce the same matching field so the function getWeightMatrix may return a weight matrix that is different to what may be expected. However, if a matching field is defined by a weight matrix, then that weight matrix will be returned.
The object grMatchingField is a method function.