Beispiel #1
0
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)})
    }
Beispiel #2
0
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
Beispiel #4
0
 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)