In #19391 i am trying to move the method .invariant_generators() to libsingular. It works on the non modular case, but for the modular case, we need to call singular's invariant_ring function. This function returns three matrices, and we need the first two. But if i call it through libsingular, i only get the first one:
sage: from sage.libs.singular.function import singular_function sage: import sage.libs.singular.function_factory sage: sage.libs.singular.function_factory.lib('finvar.lib') sage: inring = singular_function('invariant_ring') sage: F=FiniteField(2) sage: R.<x,y> = F[] sage: m1 = matrix(R, 2, [0,1,1,0]) sage: inring(m1) [x + y x*y] If you do the corresponding call within singular: SINGULAR / Development A Computer Algebra System for Polynomial Computations / version 3-1-7 0< by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann \ Aug 2013 FB Mathematik der Universitaet, D-67653 Kaiserslautern \ > LIB "finvar.lib"; // ** loaded /home/mmarco/sage/local/share/singular/finvar.lib (3-1-7-0,Sep_2013) // ** loaded /home/mmarco/sage/local/share/singular/algebra.lib (3-1-7-0,Sep_2013) // ** loaded /home/mmarco/sage/local/share/singular/ring.lib (4.0.0.0,Jun_2013) // ** loaded /home/mmarco/sage/local/share/singular/primdec.lib (4.0.1.1,Nov_2014) // ** loaded /home/mmarco/sage/local/share/singular/absfact.lib (3-1-7-0,Sep_2013) // ** loaded /home/mmarco/sage/local/share/singular/triang.lib (3-1-7-0,Sep_2013) // ** loaded /home/mmarco/sage/local/share/singular/random.lib (3-1-7-0,Sep_2013) // ** loaded /home/mmarco/sage/local/share/singular/poly.lib (3-1-7-0,Sep_2013) // ** loaded /home/mmarco/sage/local/share/singular/inout.lib (3-1-7-0,Sep_2013) // ** loaded /home/mmarco/sage/local/share/singular/general.lib (3-1-7-0,Sep_2013) // ** loaded /home/mmarco/sage/local/share/singular/elim.lib (3-1-7-0,Sep_2013) // ** loaded /home/mmarco/sage/local/share/singular/matrix.lib (3-1-7-0,Sep_2013) // ** loaded /home/mmarco/sage/local/share/singular/nctools.lib (3-1-7-0,Sep_2013) > ring r=2,(x,y),dp; > matrix A[2][2] = 0,1,1,0; > matrix P,S,IS=invariant_ring(A); > P; P[1,1]=x+y > S; S[1,1]=xy > IS; IS[1,1]=1 How can i get these three matrices through libsingular? -- 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 http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.