Skip to content

Commit 46a25d7

Browse files
author
Matthias Koeppe
committed
src/sage/combinat/root_system/root_lattice_realization_algebras.py: Add # optional
1 parent 9e5b073 commit 46a25d7

File tree

1 file changed

+50
-50
lines changed

1 file changed

+50
-50
lines changed

src/sage/combinat/root_system/root_lattice_realization_algebras.py

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -511,39 +511,39 @@ def demazure_lusztig_operators(self, q1, q2, convention="antidominant"):
511511
the `Y` s in affine type::
512512
513513
sage: K = QQ['q,q1,q2'].fraction_field()
514-
sage: q,q1,q2=K.gens()
514+
sage: q,q1,q2 = K.gens()
515515
sage: L = RootSystem(["A",2,1]).ambient_space()
516516
sage: L0 = L.classical()
517-
sage: Lambda = L.fundamental_weights()
517+
sage: Lambda = L.fundamental_weights() # optional - sage.graphs
518518
sage: alphacheck = L0.simple_coroots()
519519
sage: KL = L.algebra(K)
520520
sage: T = KL.demazure_lusztig_operators(q1, q2, convention="dominant")
521521
sage: Y = T.Y()
522522
sage: alphacheck = Y.keys().alpha() # alpha of coroot lattice is alphacheck
523523
sage: alphacheck
524524
Finite family {0: alphacheck[0], 1: alphacheck[1], 2: alphacheck[2]}
525-
sage: x = KL.monomial(Lambda[1]-Lambda[0]); x
525+
sage: x = KL.monomial(Lambda[1] - Lambda[0]); x # optional - sage.graphs
526526
B[e[0]]
527527
528528
In fact it is not exactly an eigenvector, but the extra
529529
'\delta` term is to be interpreted as a `q` parameter::
530530
531-
sage: Y[alphacheck[0]](KL.one())
531+
sage: Y[alphacheck[0]](KL.one()) # optional - sage.graphs
532532
q2^2/q1^2*B[0]
533-
sage: Y[alphacheck[1]](x)
533+
sage: Y[alphacheck[1]](x) # optional - sage.graphs
534534
((-q2^2)/(-q1^2))*B[e[0] - e['delta']]
535-
sage: Y[alphacheck[2]](x)
535+
sage: Y[alphacheck[2]](x) # optional - sage.graphs
536536
(q1/(-q2))*B[e[0]]
537-
sage: KL.q_project(Y[alphacheck[1]](x),q)
537+
sage: KL.q_project(Y[alphacheck[1]](x),q) # optional - sage.graphs
538538
((-q2^2)/(-q*q1^2))*B[(1, 0, 0)]
539539
540540
sage: KL.q_project(x, q)
541541
B[(1, 0, 0)]
542-
sage: KL.q_project(Y[alphacheck[0]](x),q)
542+
sage: KL.q_project(Y[alphacheck[0]](x),q) # optional - sage.graphs
543543
((-q*q1)/q2)*B[(1, 0, 0)]
544-
sage: KL.q_project(Y[alphacheck[1]](x),q)
544+
sage: KL.q_project(Y[alphacheck[1]](x),q) # optional - sage.graphs
545545
((-q2^2)/(-q*q1^2))*B[(1, 0, 0)]
546-
sage: KL.q_project(Y[alphacheck[2]](x),q)
546+
sage: KL.q_project(Y[alphacheck[2]](x),q) # optional - sage.graphs
547547
(q1/(-q2))*B[(1, 0, 0)]
548548
549549
We now check systematically that the Demazure-Lusztig
@@ -613,21 +613,21 @@ def demazure_lusztig_operator_on_classical_on_basis(self, weight, i, q, q1, q2,
613613
These operators coincide with the usual Demazure-Lusztig
614614
operators::
615615
616-
sage: KL.demazure_lusztig_operator_on_classical_on_basis(L0((2,2)), 1, q, q1, q2)
616+
sage: KL.demazure_lusztig_operator_on_classical_on_basis(L0((2,2)), 1, q, q1, q2) # optional - sage.graphs
617617
q1*B[(2, 2)]
618618
sage: KL0.demazure_lusztig_operator_on_basis(L0((2,2)), 1, q1, q2)
619619
q1*B[(2, 2)]
620620
621-
sage: KL.demazure_lusztig_operator_on_classical_on_basis(L0((3,0)), 1, q, q1, q2)
621+
sage: KL.demazure_lusztig_operator_on_classical_on_basis(L0((3,0)), 1, q, q1, q2) # optional - sage.graphs
622622
(q1+q2)*B[(1, 2)] + (q1+q2)*B[(2, 1)] + (q1+q2)*B[(3, 0)] + q1*B[(0, 3)]
623623
sage: KL0.demazure_lusztig_operator_on_basis(L0((3,0)), 1, q1, q2)
624624
(q1+q2)*B[(1, 2)] + (q1+q2)*B[(2, 1)] + (q1+q2)*B[(3, 0)] + q1*B[(0, 3)]
625625
626626
except that we now have an action of `T_0`, which introduces some `q` s::
627627
628-
sage: KL.demazure_lusztig_operator_on_classical_on_basis(L0((2,2)), 0, q, q1, q2)
628+
sage: KL.demazure_lusztig_operator_on_classical_on_basis(L0((2,2)), 0, q, q1, q2) # optional - sage.graphs
629629
q1*B[(2, 2)]
630-
sage: KL.demazure_lusztig_operator_on_classical_on_basis(L0((3,0)), 0, q, q1, q2)
630+
sage: KL.demazure_lusztig_operator_on_classical_on_basis(L0((3,0)), 0, q, q1, q2) # optional - sage.graphs
631631
(-q^2*q1-q^2*q2)*B[(1, 2)] + (-q*q1-q*q2)*B[(2, 1)] + (-q^3*q2)*B[(0, 3)]
632632
"""
633633
L = self.basis().keys()
@@ -663,33 +663,33 @@ def demazure_lusztig_operators_on_classical(self, q, q1, q2, convention="antidom
663663
sage: KL = L.algebra(K)
664664
sage: KL0 = KL.classical()
665665
sage: L0 = KL0.basis().keys()
666-
sage: T = KL.demazure_lusztig_operators_on_classical(q, q1, q2)
666+
sage: T = KL.demazure_lusztig_operators_on_classical(q, q1, q2) # optional - sage.graphs
667667
668668
sage: x = KL0.monomial(L0((3,0))); x
669669
B[(3, 0)]
670670
671671
For `T_1,\dots` we recover the usual Demazure-Lusztig operators::
672672
673-
sage: T[1](x)
673+
sage: T[1](x) # optional - sage.graphs
674674
(q1+q2)*B[(1, 2)] + (q1+q2)*B[(2, 1)] + (q1+q2)*B[(3, 0)] + q1*B[(0, 3)]
675675
676676
For `T_0`, we can note that, in the projection, `\delta`
677677
is mapped to `q`::
678678
679-
sage: T[0](x)
679+
sage: T[0](x) # optional - sage.graphs
680680
(-q^2*q1-q^2*q2)*B[(1, 2)] + (-q*q1-q*q2)*B[(2, 1)] + (-q^3*q2)*B[(0, 3)]
681681
682682
Note that there is no translation part, and in particular
683683
1 is an eigenvector for all `T_i`'s::
684684
685-
sage: T[0](KL0.one())
685+
sage: T[0](KL0.one()) # optional - sage.graphs
686686
q1*B[(0, 0)]
687-
sage: T[1](KL0.one())
687+
sage: T[1](KL0.one()) # optional - sage.graphs
688688
q1*B[(0, 0)]
689689
690-
sage: Y = T.Y()
691-
sage: alphacheck=Y.keys().simple_roots()
692-
sage: Y[alphacheck[0]](KL0.one())
690+
sage: Y = T.Y() # optional - sage.graphs
691+
sage: alphacheck = Y.keys().simple_roots() # optional - sage.graphs
692+
sage: Y[alphacheck[0]](KL0.one()) # optional - sage.graphs
693693
((-q2)/(q*q1))*B[(0, 0)]
694694
695695
Matching with Ion Bogdan's hand calculations from 3/15/2013::
@@ -701,33 +701,33 @@ def demazure_lusztig_operators_on_classical(self, q, q1, q2, convention="antidom
701701
sage: KL0 = KL.classical()
702702
sage: L0 = KL0.basis().keys()
703703
sage: omega = L0.fundamental_weights()
704-
sage: T = KL.demazure_lusztig_operators_on_classical(q, u, -1/u, convention="dominant")
705-
sage: Y = T.Y()
706-
sage: alphacheck = Y.keys().simple_roots()
707-
708-
sage: Ydelta = Y[Y.keys().null_root()]
709-
sage: Ydelta.word, Ydelta.signs, Ydelta.scalar
704+
sage: T = KL.demazure_lusztig_operators_on_classical(q, u, -1/u, # optional - sage.graphs
705+
....: convention="dominant")
706+
sage: Y = T.Y() # optional - sage.graphs
707+
sage: alphacheck = Y.keys().simple_roots() # optional - sage.graphs
708+
sage: Ydelta = Y[Y.keys().null_root()] # optional - sage.graphs
709+
sage: Ydelta.word, Ydelta.signs, Ydelta.scalar # optional - sage.graphs
710710
((), (), 1/q)
711711
712-
sage: Y1 = Y[alphacheck[1]]
713-
sage: Y1.word, Y1.signs, Y1.scalar # This is T_0 T_1 (T_1 acts first, then T_0); Ion gets T_1 T_0
712+
sage: Y1 = Y[alphacheck[1]] # optional - sage.graphs
713+
sage: Y1.word, Y1.signs, Y1.scalar # This is T_0 T_1 (T_1 acts first, then T_0); Ion gets T_1 T_0 # optional - sage.graphs
714714
((1, 0), (1, 1), 1)
715715
716-
sage: Y0 = Y[alphacheck[0]]
717-
sage: Y0.word, Y0.signs, Y0.scalar # This is 1/q T_1^-1 T_0^-1
716+
sage: Y0 = Y[alphacheck[0]] # optional - sage.graphs
717+
sage: Y0.word, Y0.signs, Y0.scalar # This is 1/q T_1^-1 T_0^-1 # optional - sage.graphs
718718
((0, 1), (-1, -1), 1/q)
719719
720720
Note that the following computations use the "dominant" convention::
721721
722-
sage: T0 = T.Tw(0)
723-
sage: T0(KL0.monomial(omega[1]))
722+
sage: T0 = T.Tw(0) # optional - sage.graphs
723+
sage: T0(KL0.monomial(omega[1])) # optional - sage.graphs
724724
q*u*B[-Lambda[1]] + ((u^2-1)/u)*B[Lambda[1]]
725-
sage: T0(KL0.monomial(2*omega[1]))
725+
sage: T0(KL0.monomial(2*omega[1])) # optional - sage.graphs
726726
((q*u^2-q)/u)*B[0] + q^2*u*B[-2*Lambda[1]] + ((u^2-1)/u)*B[2*Lambda[1]]
727727
728-
sage: T0(KL0.monomial(-omega[1]))
728+
sage: T0(KL0.monomial(-omega[1])) # optional - sage.graphs
729729
1/(q*u)*B[Lambda[1]]
730-
sage: T0(KL0.monomial(-2*omega[1]))
730+
sage: T0(KL0.monomial(-2*omega[1])) # optional - sage.graphs
731731
((-u^2+1)/(q*u))*B[0] + 1/(q^2*u)*B[2*Lambda[1]]
732732
733733
"""
@@ -768,17 +768,17 @@ def T0_check_on_basis(self, q1, q2, convention="antidominant"):
768768
sage: L = RootSystem(["A",1,1]).ambient_space()
769769
sage: L0 = L.classical()
770770
sage: KL = L.algebra(K)
771-
sage: some_weights = L.fundamental_weights()
772-
sage: f = KL.T0_check_on_basis(q1,q2, convention="dominant")
773-
sage: f(L0.zero())
771+
sage: some_weights = L.fundamental_weights() # optional - sage.graphs
772+
sage: f = KL.T0_check_on_basis(q1,q2, convention="dominant") # optional - sage.graphs
773+
sage: f(L0.zero()) # optional - sage.graphs
774774
(q1+q2)*B[(0, 0)] + q1*B[(1, -1)]
775775
776776
sage: L = RootSystem(["A",3,1]).ambient_space()
777777
sage: L0 = L.classical()
778778
sage: KL = L.algebra(K)
779779
sage: some_weights = L0.fundamental_weights()
780-
sage: f = KL.T0_check_on_basis(q1,q2, convention="dominant")
781-
sage: f(L0.zero()) # not checked
780+
sage: f = KL.T0_check_on_basis(q1,q2, convention="dominant") # optional - sage.graphs
781+
sage: f(L0.zero()) # not checked # optional - sage.graphs
782782
(q1+q2)*B[(0, 0, 0, 0)] + q1^3/q2^2*B[(1, 0, 0, -1)]
783783
784784
The following results have not been checked::
@@ -800,14 +800,14 @@ def T0_check_on_basis(self, q1, q2, convention="antidominant"):
800800
sage: q2 = -1/u
801801
sage: KL = L.algebra(K)
802802
sage: KL0 = KL.classical()
803-
sage: f = KL.T0_check_on_basis(q1,q2, convention="dominant")
803+
sage: f = KL.T0_check_on_basis(q1,q2, convention="dominant") # optional - sage.graphs
804804
sage: T = KL.twisted_demazure_lusztig_operators(q1,q2, convention="dominant")
805805
806806
Direct calculation::
807807
808-
sage: T.Tw(0)(KL0.monomial(L0([0,0])))
808+
sage: T.Tw(0)(KL0.monomial(L0([0,0]))) # optional - sage.graphs
809809
((u^2-1)/u)*B[(0, 0)] + u^3*B[(1, 1)]
810-
sage: KL.T0_check_on_basis(q1,q2, convention="dominant")(L0([0,0]))
810+
sage: KL.T0_check_on_basis(q1,q2, convention="dominant")(L0([0,0])) # optional - sage.graphs
811811
((u^2-1)/u)*B[(0, 0)] + u^3*B[(1, 1)]
812812
813813
Step by step calculation, comparing by hand with Mark Shimozono::
@@ -939,7 +939,7 @@ def q_project(self, x, q):
939939
denoted `q` is in fact ``q^a[0]`` in Sage's notations,
940940
to avoid manipulating square roots::
941941
942-
sage: KL.q_project(KL.monomial(L.null_root()),q)
942+
sage: KL.q_project(KL.monomial(L.null_root()),q) # optional - sage.graphs
943943
q^2*B[(0, 0, 0)]
944944
"""
945945
L0 = self.classical()
@@ -972,7 +972,7 @@ def twisted_demazure_lusztig_operator_on_basis(self, weight, i, q1, q2, conventi
972972
(-q1-q2)*B[(3, 1, 1, 0)] + (-q2)*B[(3, 0, 2, 0)]
973973
sage: KL.twisted_demazure_lusztig_operator_on_basis(Lambda[1]+2*Lambda[2], 3, q1, q2, convention="dominant")
974974
q1*B[(3, 2, 0, 0)]
975-
sage: KL.twisted_demazure_lusztig_operator_on_basis(Lambda[1]+2*Lambda[2], 0, q1, q2, convention="dominant")
975+
sage: KL.twisted_demazure_lusztig_operator_on_basis(Lambda[1]+2*Lambda[2], 0, q1, q2, convention="dominant") # optional - sage.graphs
976976
((q1*q2+q2^2)/q1)*B[(1, 2, 1, 1)] + ((q1*q2+q2^2)/q1)*B[(1, 2, 2, 0)] + q2^2/q1*B[(1, 2, 0, 2)]
977977
+ ((q1^2+2*q1*q2+q2^2)/q1)*B[(2, 1, 1, 1)] + ((q1^2+2*q1*q2+q2^2)/q1)*B[(2, 1, 2, 0)]
978978
+ ((q1*q2+q2^2)/q1)*B[(2, 1, 0, 2)] + ((q1^2+2*q1*q2+q2^2)/q1)*B[(2, 2, 1, 0)] + ((q1*q2+q2^2)/q1)*B[(2, 2, 0, 1)]
@@ -1032,7 +1032,7 @@ def twisted_demazure_lusztig_operators(self, q1, q2, convention="antidominant"):
10321032
(-q1-q2)*B[(0, 0)] + (-q2)*B[(-1, 1)]
10331033
sage: T.Ti_inverse_on_basis(alpha[1], 1)
10341034
((q1+q2)/(q1*q2))*B[(0, 0)] + 1/q1*B[(-1, 1)] + ((q1+q2)/(q1*q2))*B[(1, -1)]
1035-
sage: T.Ti_on_basis(L0.zero(), 0)
1035+
sage: T.Ti_on_basis(L0.zero(), 0) # optional - sage.graphs
10361036
(q1+q2)*B[(0, 0)] + q1*B[(1, -1)]
10371037
10381038
The next computations were checked with Mark Shimozono for type `A_2^{(1)}`::
@@ -1105,10 +1105,10 @@ def twisted_demazure_lusztig_operators(self, q1, q2, convention="antidominant"):
11051105
sage: L0 = L.classical()
11061106
sage: T = KL.demazure_lusztig_operators(q1,q2, convention="dominant")
11071107
sage: def T0(*l0): return KL.q_project(T[0].on_basis()(L.embed_at_level(L0(l0), 1)), q)
1108-
sage: T0_check_on_basis = KL.T0_check_on_basis(q1, q2, convention="dominant")
1108+
sage: T0_check_on_basis = KL.T0_check_on_basis(q1, q2, convention="dominant") # optional - sage.graphs
11091109
sage: def T0c(*l0): return T0_check_on_basis(L0(l0))
11101110
1111-
sage: T0(0,0,1) # not double checked
1111+
sage: T0(0,0,1) # not double checked # optional - sage.graphs
11121112
((-t+1)/q)*B[(1, 0, 0)] + 1/q^2*B[(2, 0, -1)]
11131113
sage: T0c(0,0,1)
11141114
(t^2-t)*B[(1, 0, 0)] + (t^2-t)*B[(1, 1, -1)] + t^2*B[(2, 0, -1)] + (t-1)*B[(0, 0, 1)]

0 commit comments

Comments
 (0)