Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make .variety() work for ideals of any dimension over finite fields #39475

Open
1 task done
maxale opened this issue Feb 7, 2025 · 0 comments
Open
1 task done

Make .variety() work for ideals of any dimension over finite fields #39475

maxale opened this issue Feb 7, 2025 · 0 comments

Comments

@maxale
Copy link
Contributor

maxale commented Feb 7, 2025

Problem Description

Clearly .variety() cannot produce a result for an ideal of positive dimension over an infinite field since such a variety is infinite. However, in the case of finite fields, the variety is always finite (as a subset of the cartesian power of the underlying field) irrespectively of the ideal dimension.

This RFE asks for an extention of the .variety() functionality to the ideals of positive dimension over finite fields.

Proposed Solution

When we have an ideal of positive dimension d generated by polynomials from a set S over a finite field F, we can fix values of some variables (with a smart choice of variables, their number would be d) in all possible ways to reduce the ideal dimension to 0 and enable application of the current functionality of .variety().

Fixing a value x0 for the variable x can be done by simply adding the polynomial x - x0 to the set S. An example is given at https://ask.sagemath.org/question/81379?answer=81382#post-id-81382

Overall, this calls for a recursive implementation of .variety(), which in the case of dimension > 0, would find a suitable variable x , iterate its possible values x0 over the elements of F, and call itself on the ideal generated by S and x - x0, combining all the varieties from those calls into the result.

For the choice of x, I think at very least it should (i) be present in some polynomial in S; and (ii) not be the sole variable of any polynomial in S (or, even better, S here be replaced by the Groebner basis of the ideal if it's computed).

Alternatives Considered

Alternatively to adding polynomial x - x0, it can make substitution x = x0 in all polynomials from S, which will effectively eliminate x, and thus reduce the number of variables and the ideal dimension (with a suitable choice of x). This may lead to a better performance than working with all the original variables, and may help in selecting right variables for elimination later on.

Additional Information

No response

Is there an existing issue for this?

  • I have searched the existing issues for a bug report that matches the one I want to file, without success.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant