Exemple #1
0
	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
Exemple #2
0
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
Exemple #3
0
	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)