Dear Vincent, you're exactly right. Here is a minimal example: sage: M = Manifold(2, 'M', structure='top') sage: X.<x,y> = M.chart() sage: matrix = MatrixSpace(X.function_ring(), 2)([x,0,0,y]); matrix
[x 0] [0 y] sage: sage: matrix.adjugate() --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-4-4d376cef30d0> in <module>() ----> 1 matrix.adjugate() /home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/matrix/matrix2.pyx in sage.matrix.matrix2.Matrix.adjugate (build/cythonized/sage/matrix/matrix2.c:66666)() 8948 return X 8949 -> 8950 X = self._adjugate() 8951 self.cache('adjugate', X) 8952 return X /home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/matrix/matrix2.pyx in sage.matrix.matrix2.Matrix._adjugate (build/cythonized/sage/matrix/matrix2.c:66896)() 9064 MS = self._parent 9065 -> 9066 f = self.charpoly() 9067 9068 # A will be the adjugate of M and N is used to store powers of M /home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/matrix/matrix2.pyx in sage.matrix.matrix2.Matrix.charpoly (build/cythonized/sage/matrix/matrix2.c:20041)() 2353 elif is_IntegerModRing(R): 2354 f = self.lift().charpoly(var).change_ring(R) -> 2355 elif R.is_field(proof = False) and R.is_exact(): 2356 f = self._charpoly_hessenberg(var) 2357 else: TypeError: is_integral_domain() got an unexpected keyword argument 'proof' It seems like huge parts of the code rely on is_field(). It'd be desireable to make the code more flexible in this way and implement the adjugate method as standard inversion algorithm for more general rings. Regards, Michael -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/65dfac16-c665-4d6e-a24a-8d3572aa4cc2%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.