algebraic-solving / AlgebraicSolving.jl

Other
18 stars 10 forks source link

Block orderings #58

Closed linus-md closed 3 months ago

linus-md commented 3 months ago

Hello,

I would be interested in using block orderings in AlgebraicSolving. Currently there is the eliminate keyword which should be almost be what I want. Would it be possible to add the functionality not to intersect the Gröbner basis with the subring afterwards?

A solution would be to introduce a keyword intersect that could be true by default to keep the current behavior and add change groebner-basis.jl around line 173 to

if intersect
    basis = _convert_finite_field_array_to_abstract_algebra(jl_ld, jl_len, jl_cf, jl_exp, R, eliminate)
else
    basis = _convert_finite_field_array_to_abstract_algebra(jl_ld, jl_len, jl_cf, jl_exp, R, 0)
end

Is this something you would be interested in? If so I could start a PR.

ederc commented 3 months ago

Would be fine for me.

ederc commented 3 months ago

Fixed via #59, thanks @linus-md.