Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Project: TestPlace
Views: 27
K.<sqrt2,sqrt3,sqrt6> = QuaternionAlgebra(2,3) def g(a1,a2,a3,a6,d1,d2,d3,d6): #g=matrix([[a+(sqrt3)*b,-d-(sqrt3)*c],[d-(sqrt3)*c,a-(sqrt3)*b]]) # The sign before each term is from line 7. g=matrix(K,[[a1 + (sqrt2)*a2 + (sqrt3)*a3 + (sqrt6)*a6,- d1 - (sqrt2)*d2 - (sqrt3)*d3 - (sqrt6)*d6],[d1 - (sqrt2)*d2 - (sqrt3)*d3 - (sqrt6)*d6,a1 - (sqrt2)*a2 - (sqrt3)*a3 - (sqrt6)*a6]]) return g # Robust way to generate the list of matrices maxm = 2 #set the range L = [] for a1 in range(-maxm,maxm): for a2 in range(-maxm,maxm): for a3 in range(-maxm,maxm): for a6 in range(-maxm,maxm): for d1 in range(-maxm,maxm): for d2 in range(-maxm,maxm): for d3 in range(-maxm,maxm): for d6 in range(-maxm,maxm): temp = g(a1,a2,a3,a6,d1,d2,d3,d6) if temp.determinant() == 1: L.append(temp) print(str(len(L)) + " matrices are selected in L")
1980 matrices are selected in L
# So in the previous chunk, matrices in special linear group are all selected successfully. S.<a,b> = PolynomialRing(K) #var('a,b') #var('x1,x2,x3,x6,y1,y2,y3,y6') P = matrix([[a,b],[b,1-a]]) #P = matrix(K,[[x1 + (sqrt2)*x2 + (sqrt3)*x3 + (sqrt6)*x6,y1 + (sqrt2)*y2 + (sqrt3)*y3 + (sqrt6)*y6],[y1 + (sqrt2)*y2 + (sqrt3)*y3 + (sqrt6)*y6,1 - (x1 + (sqrt2)*x2 + (sqrt3)*x3 + (sqrt6)*x6)]]) P h = L[0] h.transpose()*P #INEQS=[(h.transpose()*P*h-P).trace() for h in L]
Error in lines 1-1 Traceback (most recent call last): File "/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 1044, in execute exec compile(block+'\n', '', 'single', flags=compile_flags) in namespace, locals File "", line 1, in <module> File "/ext/sage/sage-8.2_1604/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 648, in PolynomialRing return _multi_variate(base_ring, names, **kwds) File "/ext/sage/sage-8.2_1604/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 798, in _multi_variate R = constructor(base_ring, n, names, order) File "/ext/sage/sage-8.2_1604/local/lib/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_ring.py", line 137, in __init__ MPolynomialRing_generic.__init__(self, base_ring, n, names, order) File "sage/rings/polynomial/multi_polynomial_ring_generic.pyx", line 67, in sage.rings.polynomial.multi_polynomial_ring_generic.MPolynomialRing_generic.__init__ (build/cythonized/sage/rings/polynomial/multi_polynomial_ring_generic.c:3516) raise TypeError("The base ring %s is not a commutative ring" % base_ring) TypeError: The base ring Quaternion Algebra (2, 3) with base ring Rational Field is not a commutative ring
def coeff(F): C=[] C.append((F.coefficient({a:0,b:0}))) C.append((F.coefficient({a:1,b:0}))) C.append((F.coefficient({a:0,b:1}))) return C ineqs=[] for F in INEQS: ineqs.append(coeff(F)) poly=Polyhedron(ieqs=ineqs) # Format printing print(poly) print("\n Vertices are:") for j in poly.Vrepresentation(): print("(" + str(j[0].radical_expression()) + " , " + str(j[1].radical_expression()) + ")")