def test_semistandard_shifted_marked_setvalued(): mu = () assert Tableau.semistandard_shifted_marked_setvalued(0, mu) == {Tableau()} assert Tableau.semistandard_shifted_marked_setvalued(1, mu) == {Tableau()} assert Tableau.semistandard_shifted_marked_setvalued(2, mu) == {Tableau()} mu = (1, ) assert Tableau.semistandard_shifted_marked_setvalued(1, mu) == { Tableau({(1, 1): 1}), Tableau({(1, 1): -1}), Tableau({(1, 1): (-1, 1)}) } assert Tableau.semistandard_shifted_marked_setvalued(2, mu) == { Tableau({(1, 1): 1}), Tableau({(1, 1): -1}), Tableau({(1, 1): (-1, 1)}), Tableau({(1, 1): 2}), Tableau({(1, 1): -2}), Tableau({(1, 1): (-2, 2)}), Tableau({(1, 1): (1, 2)}), Tableau({(1, 1): (1, -2)}), Tableau({(1, 1): (1, -2, 2)}), Tableau({(1, 1): (-1, 2)}), Tableau({(1, 1): (-1, -2)}), Tableau({(1, 1): (-1, -2, 2)}), Tableau({(1, 1): (-1, 1, 2)}), Tableau({(1, 1): (-1, 1, -2)}), Tableau({(1, 1): (-1, 1, -2, 2)}) }
def test_unprime(n=3, mu=(4, 2)): u = list( Tableau.semistandard_shifted_marked_setvalued(n, mu, diagonal_primes=True)) mapping = {} for t in u: tt = unprime(t) if tt in mapping: print('target:') print(tt) print('t =', t.boxes) nu = tt.shape() assert t.shape() == mu assert len(nu) == len(mu) assert all(nu[i] in [mu[i], mu[i] + 1] for i in range(len(mu))) assert t.is_semistandard(diagonal_primes=True) assert tt.is_semistandard(diagonal_primes=True) mapping[tt].append(t) for x in mapping[tt]: print(x) print(x.boxes) print() print() print() else: mapping[tt] = [t]
def tableaux(self): if self._tableaux is None: self._tableaux = [ t for t in Tableau.semistandard_shifted_marked_setvalued( self.rank, self.mu, diagonal_primes=False) if len(t) == sum(self.mu) + self.excess ] return self._tableaux
def _slow_stable_grothendieck_p(cls, num_variables, mu, nu=()): return BETA**(sum(nu) - sum(mu)) * cls._slow_vectorize( num_variables, Tableau.semistandard_shifted_marked_setvalued( num_variables, mu, nu, diagonal_primes=False), BETA)