Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
| Download
Let X be a cominuscule Grassmannian of type A,D,E. We provide Sage code for checking that the local Euler obstruction of a Schubert variety in X, at a fixed point, is equal to the corresponding Kazhdan-Lusztig polynomial evaluated at q=1. As a by-product, we also provide calculations of Mather classes of Schubert varieties in X, and CSM classes of Schubert cells in X.
Project: Check examples
Views: 34Image: ubuntu2204
Kernel: SageMath 10.3
In [3]:
' Refernces:\n [AM06] Aluffi, Mihalcea, "Chern-Schwartz-MacPherson classes for Schubert\n cells in flag manifolds", Compos. Math., 152(12):2603-2625, 2016.\n [MS20] Mihalcea, Singh, "Mather classes and conormal spaces of Schubert\n varieties in cominuscule spaces", arXiv:2006.04842.\n'
In [4]:
In [5]:
Counter()
0
0
Counter({'a': 5, 3: 2, 'x': 1})
In [6]:
In [7]:
Finite Coxeter group over Integer Ring with Coxeter matrix:
[1 3 2 2 2]
[3 1 3 2 2]
[2 3 1 3 2]
[2 2 3 1 3]
[2 2 2 3 1]
In [8]:
{1: (1, 0, 0, 0, 0), 2: (0, 1, 0, 0, 0), 3: (0, 0, 1, 0, 0), 4: (0, 0, 0, 1, 0), 5: (0, 0, 0, 0, 1)}
In [9]:
In [10]:
[ 2 -1 0 0 0]
[-1 2 -1 0 0]
[ 0 -1 2 -1 0]
[ 0 0 -1 2 -1]
[ 0 0 0 -1 2]
In [11]:
{[-1 1 0 0 0]
[ 0 1 0 0 0]
[ 0 0 1 0 0]
[ 0 0 0 1 0]
[ 0 0 0 0 1]: (1, 0, 0, 0, 0),
[ 0 -1 1 0 0]
[-1 0 1 0 0]
[ 0 0 1 0 0]
[ 0 0 0 1 0]
[ 0 0 0 0 1]: (1, 1, 0, 0, 0),
[ 1 0 0 0 0]
[ 1 -1 1 0 0]
[ 0 0 1 0 0]
[ 0 0 0 1 0]
[ 0 0 0 0 1]: (0, 1, 0, 0, 0),
[ 0 0 -1 1 0]
[-1 1 -1 1 0]
[-1 0 0 1 0]
[ 0 0 0 1 0]
[ 0 0 0 0 1]: (1, 1, 1, 0, 0),
[ 1 0 0 0 0]
[ 1 0 -1 1 0]
[ 1 -1 0 1 0]
[ 0 0 0 1 0]
[ 0 0 0 0 1]: (0, 1, 1, 0, 0),
[ 1 0 0 0 0]
[ 0 1 0 0 0]
[ 0 1 -1 1 0]
[ 0 0 0 1 0]
[ 0 0 0 0 1]: (0, 0, 1, 0, 0),
[ 0 0 0 -1 1]
[-1 1 0 -1 1]
[-1 0 1 -1 1]
[-1 0 0 0 1]
[ 0 0 0 0 1]: (1, 1, 1, 1, 0),
[ 1 0 0 0 0]
[ 1 0 0 -1 1]
[ 1 -1 1 -1 1]
[ 1 -1 0 0 1]
[ 0 0 0 0 1]: (0, 1, 1, 1, 0),
[ 1 0 0 0 0]
[ 0 1 0 0 0]
[ 0 1 0 -1 1]
[ 0 1 -1 0 1]
[ 0 0 0 0 1]: (0, 0, 1, 1, 0),
[ 1 0 0 0 0]
[ 0 1 0 0 0]
[ 0 0 1 0 0]
[ 0 0 1 -1 1]
[ 0 0 0 0 1]: (0, 0, 0, 1, 0),
[ 0 0 0 0 -1]
[-1 1 0 0 -1]
[-1 0 1 0 -1]
[-1 0 0 1 -1]
[-1 0 0 0 0]: (1, 1, 1, 1, 1),
[ 1 0 0 0 0]
[ 1 0 0 0 -1]
[ 1 -1 1 0 -1]
[ 1 -1 0 1 -1]
[ 1 -1 0 0 0]: (0, 1, 1, 1, 1),
[ 1 0 0 0 0]
[ 0 1 0 0 0]
[ 0 1 0 0 -1]
[ 0 1 -1 1 -1]
[ 0 1 -1 0 0]: (0, 0, 1, 1, 1),
[ 1 0 0 0 0]
[ 0 1 0 0 0]
[ 0 0 1 0 0]
[ 0 0 1 0 -1]
[ 0 0 1 -1 0]: (0, 0, 0, 1, 1),
[ 1 0 0 0 0]
[ 0 1 0 0 0]
[ 0 0 1 0 0]
[ 0 0 0 1 0]
[ 0 0 0 1 -1]: (0, 0, 0, 0, 1)}
In [12]:
In [13]:
['', '2', '12', '32', '312', '432', '2312', '4312', '5432', '54312', '42312', '542312', '342312', '5342312', '45342312']
In [14]:
In [15]:
In [16]:
vec[e]=1
vec[w]=4
vec[v]=0
vec=Counter({[ 1 0 0 0 0]
[ 1 -1 1 0 0]
[ 0 0 1 0 0]
[ 0 0 0 1 0]
[ 0 0 0 0 1]: 4, [1 0 0 0 0]
[0 1 0 0 0]
[0 0 1 0 0]
[0 0 0 1 0]
[0 0 0 0 1]: 1})
vec= 4*[2] + 1*[]
In [17]:
In [18]:
Before applying L_{alpha_1}, we have vec = 4*[2] + 1*[]
After applying L_{alpha_1}, we have vec = 4*[2] + 5*[]
In [19]:
In [20]:
Before applying T_1, we have vec = 4*[2] + 5*[]
tOp(1,vec) = 4*[2] + 4*[2, 1] + 9*[1] + 5*[]
In [21]:
[ 1 2 3 3 6 4 6 8 5 10 12 15 10 20 15]
[ 0 1 3 3 8 6 12 15 10 24 27 42 30 64 60]
[ 0 0 1 0 3 0 7 6 0 10 17 29 25 56 65]
[ 0 0 0 1 3 4 7 11 10 26 23 51 35 88 105]
[ 0 0 0 0 1 0 4 4 0 10 15 36 30 82 120]
[ 0 0 0 0 0 1 0 3 5 14 7 30 15 58 90]
[ 0 0 0 0 0 0 1 0 0 0 4 10 12 36 67]
[ 0 0 0 0 0 0 0 1 0 5 4 19 11 49 91]
[ 0 0 0 0 0 0 0 0 1 3 0 7 0 15 31]
[ 0 0 0 0 0 0 0 0 0 1 0 4 0 11 26]
[ 0 0 0 0 0 0 0 0 0 0 1 5 5 24 58]
[ 0 0 0 0 0 0 0 0 0 0 0 1 0 5 16]
[ 0 0 0 0 0 0 0 0 0 0 0 0 1 5 18]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]
Basis : [[], [2], [1, 2], [3, 2], [3, 1, 2], [4, 3, 2], [2, 3, 1, 2], [4, 3, 1, 2], [5, 4, 3, 2], [5, 4, 3, 1, 2], [4, 2, 3, 1, 2], [5, 4, 2, 3, 1, 2], [3, 4, 2, 3, 1, 2], [5, 3, 4, 2, 3, 1, 2], [4, 5, 3, 4, 2, 3, 1, 2]]
In [22]:
[ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
[ 0 1 2 2 3 3 4 4 4 5 5 6 6 7 8]
[ 0 0 1 0 2 0 4 3 0 4 6 8 9 12 16]
[ 0 0 0 1 2 3 4 5 6 9 8 13 12 18 24]
[ 0 0 0 0 1 0 3 3 0 6 8 15 15 27 42]
[ 0 0 0 0 0 1 0 2 4 7 4 12 8 20 32]
[ 0 0 0 0 0 0 1 0 0 0 3 6 8 17 32]
[ 0 0 0 0 0 0 0 1 0 4 3 11 7 23 42]
[ 0 0 0 0 0 0 0 0 1 2 0 4 0 8 16]
[ 0 0 0 0 0 0 0 0 0 1 0 3 0 7 15]
[ 0 0 0 0 0 0 0 0 0 0 1 4 4 15 34]
[ 0 0 0 0 0 0 0 0 0 0 0 1 0 4 11]
[ 0 0 0 0 0 0 0 0 0 0 0 0 1 4 13]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]
Basis : [[], [2], [1, 2], [3, 2], [3, 1, 2], [4, 3, 2], [2, 3, 1, 2], [4, 3, 1, 2], [5, 4, 3, 2], [5, 4, 3, 1, 2], [4, 2, 3, 1, 2], [5, 4, 2, 3, 1, 2], [3, 4, 2, 3, 1, 2], [5, 3, 4, 2, 3, 1, 2], [4, 5, 3, 4, 2, 3, 1, 2]]
In [23]:
[1 1 1 1 2 1 1 2 1 2 2 2 1 2 1]
[0 1 1 1 1 1 1 1 1 1 2 2 1 2 1]
[0 0 1 0 1 0 1 1 0 1 2 2 1 2 1]
[0 0 0 1 1 1 1 1 1 1 1 1 1 2 1]
[0 0 0 0 1 0 1 1 0 1 1 1 1 2 1]
[0 0 0 0 0 1 0 1 1 1 1 1 1 1 1]
[0 0 0 0 0 0 1 0 0 0 1 1 1 2 1]
[0 0 0 0 0 0 0 1 0 1 1 1 1 1 1]
[0 0 0 0 0 0 0 0 1 1 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 1 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]
[0 0 0 0 0 0 0 0 0 0 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 0 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]
Basis : [[], [2], [1, 2], [3, 2], [3, 1, 2], [4, 3, 2], [2, 3, 1, 2], [4, 3, 1, 2], [5, 4, 3, 2], [5, 4, 3, 1, 2], [4, 2, 3, 1, 2], [5, 4, 2, 3, 1, 2], [3, 4, 2, 3, 1, 2], [5, 3, 4, 2, 3, 1, 2], [4, 5, 3, 4, 2, 3, 1, 2]]
In [24]:
In [25]:
[1 1 1 1 2 1 1 2 1 2 2 2 1 2 1]
[0 1 1 1 1 1 1 1 1 1 2 2 1 2 1]
[0 0 1 0 1 0 1 1 0 1 2 2 1 2 1]
[0 0 0 1 1 1 1 1 1 1 1 1 1 2 1]
[0 0 0 0 1 0 1 1 0 1 1 1 1 2 1]
[0 0 0 0 0 1 0 1 1 1 1 1 1 1 1]
[0 0 0 0 0 0 1 0 0 0 1 1 1 2 1]
[0 0 0 0 0 0 0 1 0 1 1 1 1 1 1]
[0 0 0 0 0 0 0 0 1 1 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 1 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]
[0 0 0 0 0 0 0 0 0 0 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 0 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]
In [26]:
The Euler obstructions equal the Kazhdan-Lusztig polynomials evaluated at q = 1
In [27]:
(
[1 1 1 1 2 1 1 2 1 2 2 2 1 2 1]
[0 1 1 1 1 1 1 1 1 1 2 2 1 2 1]
[0 0 1 0 1 0 1 1 0 1 2 2 1 2 1]
[0 0 0 1 1 1 1 1 1 1 1 1 1 2 1]
[0 0 0 0 1 0 1 1 0 1 1 1 1 2 1]
[0 0 0 0 0 1 0 1 1 1 1 1 1 1 1]
[0 0 0 0 0 0 1 0 0 0 1 1 1 2 1]
[0 0 0 0 0 0 0 1 0 1 1 1 1 1 1]
[0 0 0 0 0 0 0 0 1 1 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 1 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]
[0 0 0 0 0 0 0 0 0 0 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 0 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 1], [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 3, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 3, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 4, 4, 4, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 4, 3, 5, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0], [1, 4, 0, 6, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0], [1, 5, 4, 9, 6, 7, 0, 4, 2, 1, 0, 0, 0, 0, 0], [1, 5, 6, 8, 8, 4, 3, 3, 0, 0, 1, 0, 0, 0, 0], [1, 6, 8, 13, 15, 12, 6, 11, 4, 3, 4, 1, 0, 0, 0], [1, 6, 9, 12, 15, 8, 8, 7, 0, 0, 4, 0, 1, 0, 0], [1, 7, 12, 18, 27, 20, 17, 23, 8, 7, 15, 4, 4, 1, 0], [1, 8, 16, 24, 42, 32, 32, 42, 16, 15, 34, 11, 13, 5, 1]],
[1 1 1 1 2 1 1 2 1 2 2 2 1 2 1]
[0 1 1 1 1 1 1 1 1 1 2 2 1 2 1]
[0 0 1 0 1 0 1 1 0 1 2 2 1 2 1]
[0 0 0 1 1 1 1 1 1 1 1 1 1 2 1]
[0 0 0 0 1 0 1 1 0 1 1 1 1 2 1]
[0 0 0 0 0 1 0 1 1 1 1 1 1 1 1]
[0 0 0 0 0 0 1 0 0 0 1 1 1 2 1]
[0 0 0 0 0 0 0 1 0 1 1 1 1 1 1]
[0 0 0 0 0 0 0 0 1 1 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 1 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]
[0 0 0 0 0 0 0 0 0 0 0 1 0 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 0 1 1]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]
)
In [28]:
6[]+8[2]+3[1, 2]+3[3, 2]+1[3, 1, 2]
1[]+3[2]+2[1, 2]+2[3, 2]+1[3, 1, 2]
In [0]: