CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual use to large groups and classes! Also, H100 GPUs starting at $2/hour.

| Download
Views: 8
Visibility: Unlisted (only visible to those who know the link)
Image: ubuntu2204

Tableau and Schur polynomials

Math 737 - Lab 5

Evaluate the blocks below to see how to turn an SSYT into a word.

P = Partitions(12).random_element() S = SemistandardTableaux(P) T = S.random_element() show(T)
w = T.to_word() w
word: 12,12,11,11,2,8,12,12,1,1,3,7

Exercise 1: Use the command below to make an empty SSYT. Then write a 'for' loop to Schensted insert the letters of the word ww from above one at a time to create a SSYT. Check that this SSYT is the same as the SSYT TT you found above.

tab = SemistandardTableau([])

SOLUTION TO EXERCISE 1

for i in w: tab = tab.schensted_insert(i) print("----") show(tab)
----
----
----
----
----
Error in lines 1-4 Traceback (most recent call last): File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_server.py", line 1244, in execute exec( File "", line 4, in <module> File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_salvus.py", line 2972, in show s = show0(objs, combine_all=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_salvus.py", line 2931, in show0 b = show0(a) ^^^^^^^^ File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_salvus.py", line 2957, in show0 sage.misc.latex.latex.eval(s) File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_salvus.py", line 1599, in latex0 sage.misc.latex.Latex.eval(sage.misc.latex.latex, s, **kwds) File "/ext/sage/10.2/src/sage/misc/latex.py", line 1137, in eval e = _run_latex_(os.path.join(base, filename + ".tex"), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/ext/sage/10.2/src/sage/misc/latex.py", line 821, in _run_latex_ e = subpcall(lt) ^^^^^^^^^^^^ File "/ext/sage/10.2/src/sage/misc/latex.py", line 814, in subpcall return not call(x, stdout=redirect, ^^^^^^^^^^^^^^^^^^^^^^^^ File "/ext/sage/10.2/local/var/lib/sage/venv-python3.11.1/lib/python3.11/subprocess.py", line 391, in call return p.wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^ File "/ext/sage/10.2/local/var/lib/sage/venv-python3.11.1/lib/python3.11/subprocess.py", line 1262, in wait return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/ext/sage/10.2/local/var/lib/sage/venv-python3.11.1/lib/python3.11/subprocess.py", line 1997, in _wait (pid, sts) = self._try_wait(0) ^^^^^^^^^^^^^^^^^ File "/ext/sage/10.2/local/var/lib/sage/venv-python3.11.1/lib/python3.11/subprocess.py", line 1955, in _try_wait (pid, sts) = os.waitpid(self.pid, wait_flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cysignals/signals.pyx", line 341, in cysignals.signals.python_check_interrupt KeyboardInterrupt

Exercise 2: Use the command SemistandardSkewTableaux to create (not print!) the set of skew SSYT shape λ/μ\lambda / \mu with λ=[4,4,2,1]\lambda = [4,4,2,1] and μ=[2,1]\mu=[2,1] with entries bounded above by 4. How many tableaux are in this set?

Now create the set of skew SSYT of shape λ/μ\lambda / \mu with λ=[3,3]\lambda = [3,3] and μ=[2,1]\mu=[2,1] with entries bounded above by 3. Use a 'for' loop to print this smaller set of SSYT.

(Recall, if you need help, you can type a command followed by ? to see the documentation.)

%md # <div style='text-align:center'>SOLUTION TO EXERCISE 2

SOLUTION TO EXERCISE 2

S = SemistandardSkewTableaux([[4,4,2,1],[2,1]], max_entry = 4) S.cardinality() show(S)
664 Semistandard skew tableaux of shape [4, 4, 2, 1] / [2, 1] and maximum entry 4

Evaluate the cells below to see how to create a specific skew SSYT and rectify it.

T = SkewTableau([[None,None,2,7],[None,3,5,8],[6,8],[7],[8]]) show(T)
Error in lines 2-2 Traceback (most recent call last): File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_server.py", line 1244, in execute exec( File "", line 1, in <module> File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_salvus.py", line 2972, in show s = show0(objs, combine_all=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_salvus.py", line 2931, in show0 b = show0(a) ^^^^^^^^ File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_salvus.py", line 2957, in show0 sage.misc.latex.latex.eval(s) File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_salvus.py", line 1599, in latex0 sage.misc.latex.Latex.eval(sage.misc.latex.latex, s, **kwds) File "/ext/sage/10.2/src/sage/misc/latex.py", line 1137, in eval e = _run_latex_(os.path.join(base, filename + ".tex"), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/ext/sage/10.2/src/sage/misc/latex.py", line 821, in _run_latex_ e = subpcall(lt) ^^^^^^^^^^^^ File "/ext/sage/10.2/src/sage/misc/latex.py", line 814, in subpcall return not call(x, stdout=redirect, ^^^^^^^^^^^^^^^^^^^^^^^^ File "/ext/sage/10.2/local/var/lib/sage/venv-python3.11.1/lib/python3.11/subprocess.py", line 391, in call return p.wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^ File "/ext/sage/10.2/local/var/lib/sage/venv-python3.11.1/lib/python3.11/subprocess.py", line 1262, in wait return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/ext/sage/10.2/local/var/lib/sage/venv-python3.11.1/lib/python3.11/subprocess.py", line 1997, in _wait (pid, sts) = self._try_wait(0) ^^^^^^^^^^^^^^^^^ File "/ext/sage/10.2/local/var/lib/sage/venv-python3.11.1/lib/python3.11/subprocess.py", line 1955, in _try_wait (pid, sts) = os.waitpid(self.pid, wait_flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cysignals/signals.pyx", line 341, in cysignals.signals.python_check_interrupt KeyboardInterrupt
show(T.rectify())
Error in lines 1-1 Traceback (most recent call last): File "/cocalc/lib/python3.11/site-packages/smc_sagews/sage_server.py", line 1244, in execute exec( File "", line 1, in <module> File "sage/structure/element.pyx", line 489, in sage.structure.element.Element.__getattr__ return self.getattr_from_category(name) File "sage/structure/element.pyx", line 502, in sage.structure.element.Element.getattr_from_category return getattr_from_other_class(self, cls, name) File "sage/cpython/getattr.pyx", line 357, in sage.cpython.getattr.getattr_from_other_class raise AttributeError(dummy_error_message) AttributeError: 'SemistandardTableaux_all_with_category.element_class' object has no attribute 'rectify'

Exercise 3: In Lab 4 (Exercise 3), you learned to multiply SSYT. Do one of these same multiplications another way: Use the above commands to create the appropriate skew SSYT so that rectification of that skew SSYT yields the multiplication of the two tableaux.

SOLUTION TO EXERCISE 3

U = SkewTableau([[None,None,1,1,3],[None,None,2,4],[None,6,6], [8,8]])

Evaluate the blocks below to see how to work with the built-in Schur polynomial function in Sage.

  • Try changing the parameters [2,1][2,1] and 33 to see what this does to the polynomial.

s = SymmetricFunctions(QQ).s() s([2,1]).expand(3)
x0^2*x1 + x0*x1^2 + x0^2*x2 + 2*x0*x1*x2 + x1^2*x2 + x0*x2^2 + x1*x2^2

Exercise 4: Use the above code for the Schur polynomial to test an example of the Pieri rule.

  • First, calculate the two Schur polynomials you are multiplying together on the LHS of the Pieri rule.

  • Then use the method on partitions add_horizontal_border_strip or add_vertical_border_strip to create all the partitions for the Schur polynomials on the RHS. Calculate these Schur polynomials and add them together.

  • Check that your computations for the LHS and RHS agree.

p = Partition([2,1]) p.add_horizontal_border_strip(2)
[[4, 1], [3, 2], [3, 1, 1], [2, 2, 1]]
︠24cd5166-cbf9-4e32-84fa-8246c61155e1︠