sumiya11 / Groebner.jl

Groebner bases in (almost) pure Julia
https://sumiya11.github.io/Groebner.jl/
GNU General Public License v2.0
58 stars 13 forks source link

Groebner Basis with parameters #44

Open aabouman opened 1 year ago

aabouman commented 1 year ago

Is there a way to specify what are variables vs constants using the Symbolics.jl interface? Basically I want to specify that certain variables should be ordered lexicographically after all others.

Mathematica is capable of doing something similar via:

polys = {-5*x^2 + y*z - x - 1, 2*x + 3*x*y + y^2, x - 3*y + x*z - 2*z^2};
GroebnerBasis[polys, ParameterVariables -> x]

This way the Groebner basis can be computed off line and used to solve a series of univariate polynomials online.

sumiya11 commented 1 year ago

Hello @aabouman , no.

I would assume you are interested in computing gb while treating parameter variables as transcendental numbers; we have no such functionality yet. There was some work in this direction, I'll let you know if there's progress :D

Variables created with AbstractAlgebra.jl are ordered lexicographically by default (example from Groebner.jl readme). As you've said, that way one could place parameter variables after all other variables, which would roughly mimic the behaviour

sumiya11 commented 1 year ago

@aabouman May I kindly ask you to share a reference or a simple example about the use case of GB with parameters you've mentioned:

This way the Groebner basis can be computed off line and used to solve a series of univariate polynomials online.

Thanks in advance!