Opened 14 years ago

Closed 13 years ago

# magma -- boolean ring conversions

Reported by: Owned by: William Stein William Stein major sage-4.1.2 interfaces N/A

### Description

```1) This should work (?)

sage: B.<x,y> = BooleanPolynomialRing()
sage: B*[x*y + 1, x + y]
sage: I = B*[x*y + 1, x + y]
sage: I._magma_()

Ideal of Affine Algebra of rank 2 over GF(2)
Lexicographical Order
Variables: x, y
Quotient relations:
[
x^2 + x,
y^2 + y
]
Generating basis:
[
x*y + 1,
x + y
]

sage: Im = I._magma_()
sage: Im.GroebnerBasis()
TypeError: Error evaluation Magma code.
IN:_sage_[21] := GroebnerBasis(_sage_[20]);
OUT:
>> _sage_[21] := GroebnerBasis(_sage_[20]);
^
Runtime error in 'GroebnerBasis': Bad argument types
Argument types given: RngMPolRes
```

Reported by Martin Albrecht

### comment:1 Changed 14 years ago by William Stein

Status: new → assigned

### comment:2 Changed 14 years ago by William Stein

This does not seem like a bug in the Sage/Magma? interface. It seems like a misunderstanding of Magma itself, which doesn't have a GroebnerBasis? function that takse as input an ideal in a boolean ring. Magma simply doesn't do that. It only has Groebner for ideals in *polynomial* rings. There are some functions on ideals in boolean rings, but not many. I.e., above

```sage: Im.IsMaximal()
true
sage: Im.PrimaryDecomposition()

[
Affine Algebra of rank 2 over GF(2)
Lexicographical Order
Variables: x, y
Quotient relations:
[
x^2 + x,
y^2 + y
]
Generating basis:
[
x + 1,
y + 1
]
]
```

### comment:3 Changed 14 years ago by Martin Albrecht

We could make Magma better than Magma by

• adding the generators of the quotient to the ideal `J = I + Q`
• computing `gb := GroebnerBasis(J)`
• coerce the result to the quotient again.

This is equivalent to computing the GB in the quotient directly.

### comment:4 Changed 14 years ago by Alex Ghitza

Type: defect → enhancement

### comment:5 Changed 13 years ago by Martin Albrecht

Resolution: → fixed assigned → closed

This is fixed with #6177

Note: See TracTickets for help on using tickets.