Again hi! On Sep 4, 10:38 am, Simon King <[email protected]> wrote: > Hi! > > On Sep 4, 10:10 am, Simon King <[email protected]> wrote: > > > I don't know whether it would suffice to define an integer matrix "a" > > in the Singular interface, though. Let me do some tests. > > Apparently it isn't that easy.
I think the main problem is that even *if* TermOrder.__init__() swallows 'M(1,3,1,0)', then still libsingular would not understand the meaning of that ordering (unless it is implemented...). However, after editing two lines of code, it would be possible to do: sage: R.<x,y>=PolynomialRing(QQ,2,order='M(1,3,1,0)') verbose 0 (342: term_order.py, __init__) Term ordering 'M(1,3,1,0)' unknown. verbose 0 (342: term_order.py, __init__) Term ordering 'M(1,3,1,0)' unknown. verbose 0 (342: term_order.py, __init__) Term ordering 'M(1,3,1,0)' unknown. # Just ignore the warning messages, they merely tell you that it isn't implemented in libsingular. # However, don't rely on libsingular's answers when asking for the leading monomial: sage: p = x^2+y sage: p.lm() x^2 # After all, it is possible to transform the ring into a Singular ring: sage: r = singular(R) sage: r // characteristic : 0 // number of vars : 2 // block 1 : ordering M // : names x y // : weights 1 3 // : weights 1 0 // block 2 : ordering C # and now, the ordering is correct: sage: singular(p).lead() y I believe this is not a satisfying solution. Better wait for a proper implementation in libsingular (which is beyond my capabilities, I am afraid). Cheers, Simon --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---
