예제 #1
0
	def up_reflections(self,Q):
 		d = self.dim(Q)
 		up_classes = [X for X in self.schubert_list if (self.dim(X) == d+1) and self.leq(Q,X)]
 		if self.left_multiplication:
 			up_refs = [pf.left_covering(self.index2perm(Q),self.index2perm(P)) for P in up_classes]
 		else:
 			up_refs = [pf.right_covering(self.index2perm(Q),self.index2perm(P)) for P in up_classes]
 		return up_refs
예제 #2
0
	def draw_interval(self,Q,P):
		print 'classes by dimension:'
		interval = self.interval(Q,P)
		for level in interval:
			print level
			#print [self.index2changzheng(X) for X in level]
		print 'connectivity:'
		if self.left_multiplication:
			connectivity = [[pf.left_covering(self.index2perm(X),self.index2perm(Y)) for (X,Y) in get_tuples(interval[c],interval[c+1])] for c in range(len(interval)-1)]
		else:
			connectivity = [[pf.right_covering(self.index2perm(X),self.index2perm(Y)) for (X,Y) in get_tuples(interval[c],interval[c+1])] for c in range(len(interval)-1)]
		for level in connectivity:
			print level
예제 #3
0
	def draw_interval(self,U,V):
		print 'classes by dimension:'
		interval = self.interval(U,V)
		for level in interval:
			print level
		if type != 'A':
			print 'connectivity:'
			colors = ['green', 'yellow']
			if self.left_multiplication:
				connectivity = [[pf.left_covering(X,Y) for (X,Y) in get_tuples(interval[c],interval[c+1])] for c in range(len(interval)-1)]
			else:
				connectivity = [[pf.right_covering(X,Y) for (X,Y) in get_tuples(interval[c],interval[c+1])] for c in range(len(interval)-1)]
			for i in range(len(interval)-1):
				level = connectivity[i]
				num_destinations=len(interval[i+1])
				print ''
				for j in range(int(1.0*len(level)/num_destinations)):
					print colored(level[j*num_destinations:j*num_destinations+num_destinations], colors[j%2]),
			print ''