Macaulay2 / M2

The primary source code repository for Macaulay2, a system for computing in commutative algebra, algebraic geometry and related fields.
https://macaulay2.com
343 stars 231 forks source link

Feature request: MutableIdeal #1749

Open mahrud opened 3 years ago

mahrud commented 3 years ago

I've seen a lot of cases where in each step of an iterative algorithm, an ideal is updated and the new ideal is used for some membership test. I think this is somewhat slow because:

Would be good to add MutableIdeals that satisfy the two points above.

dylanpeifer commented 3 years ago

The new ideal is actually distinct from the old ideal, right? So the Groebner basis would be different, and what you'd really need is some way to update a Groebner basis when a new generator is added. You can perform Buchberger with only the new pairs from a new generator, but I don't think this is implemented in the engine.

mahrud commented 3 years ago

Do you mean mathematically or the pointer to the mutable object? Mathematically the ideal may be the same, if the new generator was already in the ideal, and I don't think the gb would need to be immediately recomputed after a new generator is added (i.e. addition should be O(1)), but yes, computing the new gb should definitely be incremental.