Example #1
0
def test_orthogonal_hecke_insertion():
    w = (4, 5, 1, 1, 3, 2)
    i = (1, 1, 3, 4, 4, 6)

    insertion, recording = InsertionAlgorithm.orthogonal_hecke(w)

    p = Tableau({(1, 1): 1, (1, 2): 2, (1, 3): 4, (1, 4): 5, (2, 2): 3})
    q = Tableau({
        (1, 1): 1,
        (1, 2): 2,
        (1, 3): (-3, -4),
        (1, 4): -6,
        (2, 2): 5
    })
    assert insertion == p
    assert recording == q
    assert InsertionAlgorithm.inverse_orthogonal_hecke(p, q) == (w, (1, 2, 3,
                                                                     4, 5, 6))

    insertion, recording = InsertionAlgorithm.orthogonal_hecke(w, i)

    q = Tableau({
        (1, 1): 1,
        (1, 2): 1,
        (1, 3): (-3, -4),
        (1, 4): -6,
        (2, 2): 4
    })
    assert insertion == p
    assert recording == q
    assert InsertionAlgorithm.inverse_orthogonal_hecke(p, q) == (w, i)
Example #2
0
 def backward(self):
     if not self.is_symplectic:
         return lambda x, y: InsertionAlgorithm.inverse_orthogonal_hecke(
             x, y, self.multisetvalued)
     else:
         return lambda x, y: InsertionAlgorithm.inverse_symplectic_hecke(
             x, y, self.multisetvalued)