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)
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)