Attachment 'specht_modules.sage'

Download

   1 def specht_module_dim(D):
   2     """
   3     Return the dimension of the Specht module of diagram ``D``.
   4     
   5     INPUT:
   6     
   7     - ``D`` -- a list of cells ``(r,c)`` for row ``r`` and column ``c``
   8     """
   9     n = len(D)
  10     Sn = SymmetricGroupAlgebra(ZZ, n)
  11     row_diagram = [set() for _ in range(n)]
  12     col_diagram = [set() for _ in range(n)]
  13     for i,cell in enumerate(D):
  14         x,y = cell
  15         row_diagram[x].add(i)
  16         col_diagram[y].add(i)
  17     # Construct the row and column stabilizer elements
  18     row_stab = Sn.zero()
  19     col_stab = Sn.zero()
  20     B = Sn.basis()
  21     for w in B.keys():
  22         # Remember that the permutation w is 1-based
  23         row_perm = [set() for _ in range(n)]
  24         col_perm = [set() for _ in range(n)]
  25         for i,cell in enumerate(D):
  26             x,y = cell
  27             row_perm[x].add(w[i]-1)
  28             col_perm[y].add(w[i]-1)
  29         if row_diagram == row_perm:
  30             row_stab += B[w]
  31         if col_diagram == col_perm:
  32             col_stab += w.sign() * B[w]
  33     gen = col_stab * row_stab
  34     M = matrix([(b*gen).to_vector() for b in B])
  35     return M.rank()

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2022-12-30 01:29:45, 7.2 KB) [[attachment:Factorization into q-integers.ipynb]]
  • [get | view] (2022-12-24 00:36:50, 34.2 KB) [[attachment:lie_algebra_reprs.sage]]
  • [get | view] (2022-12-24 00:36:55, 11.2 KB) [[attachment:q_characters.sage]]
  • [get | view] (2022-12-24 00:37:02, 1.2 KB) [[attachment:specht_modules.sage]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.