def leq(self, R, S): if R not in self.schubert_list or S not in self.schubert_list: raise ValueError('input not an index set in this Grassmannian!') for i in range(self.m): if R[i] > S[i]: return False if self.type == 'D': if self.involve: return pf.perm_leq(self.type,self.index2perm(R),self.index2perm(S)) else: return pf.perm_geq(self.type,self.index2perm(R),self.index2perm(S)) return True
def bad_reflections(g,T): perm = g.index2perm(T) refs = g.simple_reflections() for s in refs: a = [] for P in g.schubert_list: if pf.perm_leq(g.type,pf.perm_mult(perm,s),g.index2perm(P)): a.append(P) m = [] for P in a: minimal = True for Q in a: if g.leq(Q,P) and Q != P: minimal = False if minimal: m.append(g.index2perm(P)) print 'minimal signed permutations violating reflection ' + str(s) + ':' print m
def leq(self, u, v): if u not in self.perm_list or v not in self.perm_list: raise ValueError('input not a valid permutation for this flag variety!') return pf.perm_leq(self.type,u,v)