Opened 9 years ago

# Failure in Singular upon division with remainder for a multivariate polynomial ring over a univariate fraction field

Reported by: Owned by: nthiery malb major sage-6.4 commutative algebra SimonKing N/A

### Description

```sage: M = PolynomialRing(QQ['a'].fraction_field(), ['x','y'])
sage: x,y = M.gens()
sage: a = M(M.base_ring().gen())
sage: a.quo_rem(x)
Traceback (most recent call last):
...
/opt/sage-5.10.beta2/local/lib/python2.7/site-packages/sage/interfaces/singular.pyc in eval(self, x, allow_semicolon, strip, **kwds)
588
589         if s.find("error") != -1 or s.find("Segment fault") != -1:
--> 590             raise SingularError('Singular error:\n%s'%s)
591
592         if get_verbose() > 0:

TypeError: Singular error:
? division(`number`,`poly`) failed
? error occurred in or before STDIN line 101850: `def sage38517=division(sage38515,sage38516);`
```

### comment:2 Changed 9 years ago by SimonKing

First question: Why is this operation using the singular pexpect interface, and not libsingular?

Second question: Why is `a._singular_init_()` returning `"a"` and not `"poly(a)"` or so? As a result, we have

```sage: M = PolynomialRing(QQ['a'].fraction_field(), ['x','y'])
sage: x,y = M.gens()
sage: a = M(M.base_ring().gen())
sage: singular(a).typeof()
number
sage: singular("a").typeof()
number
sage: singular("poly(a)").typeof()
poly
```

### comment:3 Changed 9 years ago by SimonKing

I guess we have to look at `sage.rings.polynomial.polynomial_singular_interface._singular_init_func`, where the use of the string representation without adding `"poly(...)"` is hardcoded.

### comment:4 Changed 9 years ago by jdemeyer

• Milestone changed from sage-5.11 to sage-5.12

### comment:5 Changed 9 years ago by vbraun_spam

• Milestone changed from sage-6.1 to sage-6.2

### comment:6 Changed 8 years ago by vbraun_spam

• Milestone changed from sage-6.2 to sage-6.3

### comment:7 Changed 8 years ago by vbraun_spam

• Milestone changed from sage-6.3 to sage-6.4
Note: See TracTickets for help on using tickets.