Opened 14 years ago

Closed 13 years ago

## #4236 closed enhancement (fixed)

# magma -- boolean ring conversions

Reported by: | William Stein | Owned by: | William Stein |
---|---|---|---|

Priority: | major | Milestone: | sage-4.1.2 |

Component: | interfaces | Keywords: | |

Cc: | Merged in: | ||

Authors: | Reviewers: | ||

Report Upstream: | N/A | Work issues: | |

Branch: | Commit: | ||

Dependencies: | Stopgaps: |

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

### Change History (5)

### comment:1 Changed 14 years ago by

Status: | new → assigned |
---|

### comment:2 Changed 14 years ago by

### comment:3 Changed 14 years ago by

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

Type: | defect → enhancement |
---|

### comment:5 Changed 13 years ago by

Resolution: | → fixed |
---|---|

Status: | assigned → closed |

This is fixed with #6177

**Note:**See TracTickets for help on using tickets.

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