Exemplo n.º 1
0
	def _init(self, T):
		self.T = T
		from reduceGL import reduce_GL
		assert T[0,1] == T[1,0].conjugate()
		a, b, c = T[0,0], T[0,1], T[1,1]
		b1, b2 = self.space.as_tuple_b(b)
		(a_,b1_,b2_,c_), (trans, det, nu) = reduce_GL((a,b1,b2,c), D=self.space.D)
		b_ = self.space.from_tuple_b(b1_, b2_)
		self.matrix = matrix(self.space.field, 2, [a_, b_, b_.conjugate(), c_])
		self.matrix.set_immutable()
		self.charTrans = trans
		self.charDet = det
		self.charNu = nu
Exemplo n.º 2
0
	def reduce_matrix_jacobi1(key, value):
		# In standard base of \cO^#.
		a, (b1, b2) = key
		m, char = reduce_GL((a, b1, b2, 1), D)
		# Like reduce_character_evalutation::value() in reduceGL.hpp.
		h = 6 # because D == -3
		k = -HermWeight
		detchar = char[1] * k
		if detchar % h == 0: detvalue = 1
		elif detchar % h == h/2: detvalue = -1
		else: assert False, "detchar %i" % detchar
		m = M2T_Odual(m, D)
		return m, value * detvalue