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
-~----------~----~----~----~------~----~------~--~---

Reply via email to