Is there an efficient algorithm to find all zeros of systems of multivariate polynomial equations over a...
$begingroup$
I want my computer to solve large systems of multivariate polynomial equations over a finite field. The field is $mathbb F_p$, where $p$ is a prime number. I heard that there is an algorithm using reduced Groebner bases but they say it takes too long. Are there any better algorithm when the given field is finite?
abstract-algebra polynomials field-theory polynomial-rings multivariate-polynomial
$endgroup$
|
show 4 more comments
$begingroup$
I want my computer to solve large systems of multivariate polynomial equations over a finite field. The field is $mathbb F_p$, where $p$ is a prime number. I heard that there is an algorithm using reduced Groebner bases but they say it takes too long. Are there any better algorithm when the given field is finite?
abstract-algebra polynomials field-theory polynomial-rings multivariate-polynomial
$endgroup$
$begingroup$
How large exactly is the system?
$endgroup$
– Erik Parkinson
Jan 4 at 6:33
$begingroup$
@Erik It can be arbitrarily large. But I would be happy if I can solve a system having 84 variables and 156 equations over $mathbb F_5$ in a reasonable time. But ultimately the algorithm has to handle systems having arbitrarily many (but finite) number of variables and polynomials over arbitrary $mathbb F_p$ ($p$ is a prime number). So the computational complexity shouldn't grow too fast.
$endgroup$
– zxcv
Jan 4 at 6:43
$begingroup$
And what degree polynomials are they typically? I can confirm that creating a reduced Groebner Basis will definitely take to long, even with just a few variables that is slow. I have a lot of experience with this problem over the reals, but not in a finite field so I'll have to think about it.
$endgroup$
– Erik Parkinson
Jan 4 at 6:49
$begingroup$
@Erik Typically degrees aren't that big. In the special case I mentioned above (system with 84 variables and 156 equations), all the polynomials have the highest total degree of 2, 4, and 6. Degrees aren't affected by the number of equations and variables, and it is also not affected by the value of $p$ in $mathbb F_p$. So I think degrees will almost always be this small.
$endgroup$
– zxcv
Jan 4 at 7:17
$begingroup$
@Erik One more thing. The system can be over the real or even complex numbers. But I set the system to be over finite fields because I thought there would be a faster algorithm for finite fields. If there is a good algorithm over infinite fields, that is also okay. And I don't know if this would help, but I'm looking for all solutions in ${0, 1}^n$, no matter what the given field is. There is no need to find solutions outside ${0, 1}^n$.
$endgroup$
– zxcv
Jan 4 at 7:21
|
show 4 more comments
$begingroup$
I want my computer to solve large systems of multivariate polynomial equations over a finite field. The field is $mathbb F_p$, where $p$ is a prime number. I heard that there is an algorithm using reduced Groebner bases but they say it takes too long. Are there any better algorithm when the given field is finite?
abstract-algebra polynomials field-theory polynomial-rings multivariate-polynomial
$endgroup$
I want my computer to solve large systems of multivariate polynomial equations over a finite field. The field is $mathbb F_p$, where $p$ is a prime number. I heard that there is an algorithm using reduced Groebner bases but they say it takes too long. Are there any better algorithm when the given field is finite?
abstract-algebra polynomials field-theory polynomial-rings multivariate-polynomial
abstract-algebra polynomials field-theory polynomial-rings multivariate-polynomial
edited Jan 4 at 11:02
zxcv
asked Jan 4 at 6:21
zxcvzxcv
1879
1879
$begingroup$
How large exactly is the system?
$endgroup$
– Erik Parkinson
Jan 4 at 6:33
$begingroup$
@Erik It can be arbitrarily large. But I would be happy if I can solve a system having 84 variables and 156 equations over $mathbb F_5$ in a reasonable time. But ultimately the algorithm has to handle systems having arbitrarily many (but finite) number of variables and polynomials over arbitrary $mathbb F_p$ ($p$ is a prime number). So the computational complexity shouldn't grow too fast.
$endgroup$
– zxcv
Jan 4 at 6:43
$begingroup$
And what degree polynomials are they typically? I can confirm that creating a reduced Groebner Basis will definitely take to long, even with just a few variables that is slow. I have a lot of experience with this problem over the reals, but not in a finite field so I'll have to think about it.
$endgroup$
– Erik Parkinson
Jan 4 at 6:49
$begingroup$
@Erik Typically degrees aren't that big. In the special case I mentioned above (system with 84 variables and 156 equations), all the polynomials have the highest total degree of 2, 4, and 6. Degrees aren't affected by the number of equations and variables, and it is also not affected by the value of $p$ in $mathbb F_p$. So I think degrees will almost always be this small.
$endgroup$
– zxcv
Jan 4 at 7:17
$begingroup$
@Erik One more thing. The system can be over the real or even complex numbers. But I set the system to be over finite fields because I thought there would be a faster algorithm for finite fields. If there is a good algorithm over infinite fields, that is also okay. And I don't know if this would help, but I'm looking for all solutions in ${0, 1}^n$, no matter what the given field is. There is no need to find solutions outside ${0, 1}^n$.
$endgroup$
– zxcv
Jan 4 at 7:21
|
show 4 more comments
$begingroup$
How large exactly is the system?
$endgroup$
– Erik Parkinson
Jan 4 at 6:33
$begingroup$
@Erik It can be arbitrarily large. But I would be happy if I can solve a system having 84 variables and 156 equations over $mathbb F_5$ in a reasonable time. But ultimately the algorithm has to handle systems having arbitrarily many (but finite) number of variables and polynomials over arbitrary $mathbb F_p$ ($p$ is a prime number). So the computational complexity shouldn't grow too fast.
$endgroup$
– zxcv
Jan 4 at 6:43
$begingroup$
And what degree polynomials are they typically? I can confirm that creating a reduced Groebner Basis will definitely take to long, even with just a few variables that is slow. I have a lot of experience with this problem over the reals, but not in a finite field so I'll have to think about it.
$endgroup$
– Erik Parkinson
Jan 4 at 6:49
$begingroup$
@Erik Typically degrees aren't that big. In the special case I mentioned above (system with 84 variables and 156 equations), all the polynomials have the highest total degree of 2, 4, and 6. Degrees aren't affected by the number of equations and variables, and it is also not affected by the value of $p$ in $mathbb F_p$. So I think degrees will almost always be this small.
$endgroup$
– zxcv
Jan 4 at 7:17
$begingroup$
@Erik One more thing. The system can be over the real or even complex numbers. But I set the system to be over finite fields because I thought there would be a faster algorithm for finite fields. If there is a good algorithm over infinite fields, that is also okay. And I don't know if this would help, but I'm looking for all solutions in ${0, 1}^n$, no matter what the given field is. There is no need to find solutions outside ${0, 1}^n$.
$endgroup$
– zxcv
Jan 4 at 7:21
$begingroup$
How large exactly is the system?
$endgroup$
– Erik Parkinson
Jan 4 at 6:33
$begingroup$
How large exactly is the system?
$endgroup$
– Erik Parkinson
Jan 4 at 6:33
$begingroup$
@Erik It can be arbitrarily large. But I would be happy if I can solve a system having 84 variables and 156 equations over $mathbb F_5$ in a reasonable time. But ultimately the algorithm has to handle systems having arbitrarily many (but finite) number of variables and polynomials over arbitrary $mathbb F_p$ ($p$ is a prime number). So the computational complexity shouldn't grow too fast.
$endgroup$
– zxcv
Jan 4 at 6:43
$begingroup$
@Erik It can be arbitrarily large. But I would be happy if I can solve a system having 84 variables and 156 equations over $mathbb F_5$ in a reasonable time. But ultimately the algorithm has to handle systems having arbitrarily many (but finite) number of variables and polynomials over arbitrary $mathbb F_p$ ($p$ is a prime number). So the computational complexity shouldn't grow too fast.
$endgroup$
– zxcv
Jan 4 at 6:43
$begingroup$
And what degree polynomials are they typically? I can confirm that creating a reduced Groebner Basis will definitely take to long, even with just a few variables that is slow. I have a lot of experience with this problem over the reals, but not in a finite field so I'll have to think about it.
$endgroup$
– Erik Parkinson
Jan 4 at 6:49
$begingroup$
And what degree polynomials are they typically? I can confirm that creating a reduced Groebner Basis will definitely take to long, even with just a few variables that is slow. I have a lot of experience with this problem over the reals, but not in a finite field so I'll have to think about it.
$endgroup$
– Erik Parkinson
Jan 4 at 6:49
$begingroup$
@Erik Typically degrees aren't that big. In the special case I mentioned above (system with 84 variables and 156 equations), all the polynomials have the highest total degree of 2, 4, and 6. Degrees aren't affected by the number of equations and variables, and it is also not affected by the value of $p$ in $mathbb F_p$. So I think degrees will almost always be this small.
$endgroup$
– zxcv
Jan 4 at 7:17
$begingroup$
@Erik Typically degrees aren't that big. In the special case I mentioned above (system with 84 variables and 156 equations), all the polynomials have the highest total degree of 2, 4, and 6. Degrees aren't affected by the number of equations and variables, and it is also not affected by the value of $p$ in $mathbb F_p$. So I think degrees will almost always be this small.
$endgroup$
– zxcv
Jan 4 at 7:17
$begingroup$
@Erik One more thing. The system can be over the real or even complex numbers. But I set the system to be over finite fields because I thought there would be a faster algorithm for finite fields. If there is a good algorithm over infinite fields, that is also okay. And I don't know if this would help, but I'm looking for all solutions in ${0, 1}^n$, no matter what the given field is. There is no need to find solutions outside ${0, 1}^n$.
$endgroup$
– zxcv
Jan 4 at 7:21
$begingroup$
@Erik One more thing. The system can be over the real or even complex numbers. But I set the system to be over finite fields because I thought there would be a faster algorithm for finite fields. If there is a good algorithm over infinite fields, that is also okay. And I don't know if this would help, but I'm looking for all solutions in ${0, 1}^n$, no matter what the given field is. There is no need to find solutions outside ${0, 1}^n$.
$endgroup$
– zxcv
Jan 4 at 7:21
|
show 4 more comments
2 Answers
2
active
oldest
votes
$begingroup$
I quick description of what the Grobner basis is doing that is too long for a comment.
Background fact: The typical way to go about finding zeros of a one dimensional system uses what is called a companion matrix. Given a polynomial $f(x)$ of degree $d$, you make a vector of length $d$ representing a generic polynomial of degree $d-1$ (each spot is a monomial), and find the matrix $M$ that represents the multiplication by $x$ operator on the vector modulo ${f(x)}$. The eigenvalues of $M$ are then the roots of $f$.
The idea behind a Grobner Basis is to build the same type of matrix, but it is a little more complicated in higher dimensions. In general, say you have polynomials $f_1,...,f_n$. You need to find a set of monomials $V$ such that you can multiply any of the monomials by some $x_i$, mod out by your list of polynomials and any monomial multiple of those polynomials, and reduce the answer back into $V$. You can then find $M_i$ as the matrix that represents the multiplication by $x_i$ operator on $V$ modulo your polynomial. Simultaneously finding the eigenvalues of the $M_i$ then gives the zeros.
The point behind computing a reduced Grobner Basis is that it gives you $V$, and makes computing the $M_i$ easy.
However, this is slow for multiple reasons.
Finding V is slow. It basically comes down putting an ordering on the monomials and then doing long division on your polynomials until the monomials are as small as you can get them. So if you have any very simple polynomials (especially ones that only have a few variables) that will be very useful as they can hopefully reduce the others faster. But because you use monomial multiples of the polynomials to reduce, your reduced polynomials can end up with lots of monomials that weren't even in the original polynomials. So the size of $V$ can end up huge, regardless of how many monomials are in the original set.
Finding the eigenvalues will be slow if $V$ is big. If $V$ has $n$ elements, then $M$ is an $ntimes n$ matrix. With 84 variables you could easily end up with millions of monomials in $V$, which would make the eigenvalue problem impossible on a typical computer.
Conclusion: It is possible it will work but unlikely for that many variables, unless you get really nice cancelation. Even then, depending on what software you use to calculate the Grobner Basis it might not reduce things optimally and so could take longer than needed.
$endgroup$
add a comment |
$begingroup$
When $p = 2$ even determining whether such a solution exists is equivalent to SAT, the Boolean satisfiability problem (where multiplication = AND and addition = XOR), which is NP-complete. So the existence of an efficient algorithm to determine even whether solutions exist in this case is equivalent to P = NP.
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3061360%2fis-there-an-efficient-algorithm-to-find-all-zeros-of-systems-of-multivariate-pol%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
I quick description of what the Grobner basis is doing that is too long for a comment.
Background fact: The typical way to go about finding zeros of a one dimensional system uses what is called a companion matrix. Given a polynomial $f(x)$ of degree $d$, you make a vector of length $d$ representing a generic polynomial of degree $d-1$ (each spot is a monomial), and find the matrix $M$ that represents the multiplication by $x$ operator on the vector modulo ${f(x)}$. The eigenvalues of $M$ are then the roots of $f$.
The idea behind a Grobner Basis is to build the same type of matrix, but it is a little more complicated in higher dimensions. In general, say you have polynomials $f_1,...,f_n$. You need to find a set of monomials $V$ such that you can multiply any of the monomials by some $x_i$, mod out by your list of polynomials and any monomial multiple of those polynomials, and reduce the answer back into $V$. You can then find $M_i$ as the matrix that represents the multiplication by $x_i$ operator on $V$ modulo your polynomial. Simultaneously finding the eigenvalues of the $M_i$ then gives the zeros.
The point behind computing a reduced Grobner Basis is that it gives you $V$, and makes computing the $M_i$ easy.
However, this is slow for multiple reasons.
Finding V is slow. It basically comes down putting an ordering on the monomials and then doing long division on your polynomials until the monomials are as small as you can get them. So if you have any very simple polynomials (especially ones that only have a few variables) that will be very useful as they can hopefully reduce the others faster. But because you use monomial multiples of the polynomials to reduce, your reduced polynomials can end up with lots of monomials that weren't even in the original polynomials. So the size of $V$ can end up huge, regardless of how many monomials are in the original set.
Finding the eigenvalues will be slow if $V$ is big. If $V$ has $n$ elements, then $M$ is an $ntimes n$ matrix. With 84 variables you could easily end up with millions of monomials in $V$, which would make the eigenvalue problem impossible on a typical computer.
Conclusion: It is possible it will work but unlikely for that many variables, unless you get really nice cancelation. Even then, depending on what software you use to calculate the Grobner Basis it might not reduce things optimally and so could take longer than needed.
$endgroup$
add a comment |
$begingroup$
I quick description of what the Grobner basis is doing that is too long for a comment.
Background fact: The typical way to go about finding zeros of a one dimensional system uses what is called a companion matrix. Given a polynomial $f(x)$ of degree $d$, you make a vector of length $d$ representing a generic polynomial of degree $d-1$ (each spot is a monomial), and find the matrix $M$ that represents the multiplication by $x$ operator on the vector modulo ${f(x)}$. The eigenvalues of $M$ are then the roots of $f$.
The idea behind a Grobner Basis is to build the same type of matrix, but it is a little more complicated in higher dimensions. In general, say you have polynomials $f_1,...,f_n$. You need to find a set of monomials $V$ such that you can multiply any of the monomials by some $x_i$, mod out by your list of polynomials and any monomial multiple of those polynomials, and reduce the answer back into $V$. You can then find $M_i$ as the matrix that represents the multiplication by $x_i$ operator on $V$ modulo your polynomial. Simultaneously finding the eigenvalues of the $M_i$ then gives the zeros.
The point behind computing a reduced Grobner Basis is that it gives you $V$, and makes computing the $M_i$ easy.
However, this is slow for multiple reasons.
Finding V is slow. It basically comes down putting an ordering on the monomials and then doing long division on your polynomials until the monomials are as small as you can get them. So if you have any very simple polynomials (especially ones that only have a few variables) that will be very useful as they can hopefully reduce the others faster. But because you use monomial multiples of the polynomials to reduce, your reduced polynomials can end up with lots of monomials that weren't even in the original polynomials. So the size of $V$ can end up huge, regardless of how many monomials are in the original set.
Finding the eigenvalues will be slow if $V$ is big. If $V$ has $n$ elements, then $M$ is an $ntimes n$ matrix. With 84 variables you could easily end up with millions of monomials in $V$, which would make the eigenvalue problem impossible on a typical computer.
Conclusion: It is possible it will work but unlikely for that many variables, unless you get really nice cancelation. Even then, depending on what software you use to calculate the Grobner Basis it might not reduce things optimally and so could take longer than needed.
$endgroup$
add a comment |
$begingroup$
I quick description of what the Grobner basis is doing that is too long for a comment.
Background fact: The typical way to go about finding zeros of a one dimensional system uses what is called a companion matrix. Given a polynomial $f(x)$ of degree $d$, you make a vector of length $d$ representing a generic polynomial of degree $d-1$ (each spot is a monomial), and find the matrix $M$ that represents the multiplication by $x$ operator on the vector modulo ${f(x)}$. The eigenvalues of $M$ are then the roots of $f$.
The idea behind a Grobner Basis is to build the same type of matrix, but it is a little more complicated in higher dimensions. In general, say you have polynomials $f_1,...,f_n$. You need to find a set of monomials $V$ such that you can multiply any of the monomials by some $x_i$, mod out by your list of polynomials and any monomial multiple of those polynomials, and reduce the answer back into $V$. You can then find $M_i$ as the matrix that represents the multiplication by $x_i$ operator on $V$ modulo your polynomial. Simultaneously finding the eigenvalues of the $M_i$ then gives the zeros.
The point behind computing a reduced Grobner Basis is that it gives you $V$, and makes computing the $M_i$ easy.
However, this is slow for multiple reasons.
Finding V is slow. It basically comes down putting an ordering on the monomials and then doing long division on your polynomials until the monomials are as small as you can get them. So if you have any very simple polynomials (especially ones that only have a few variables) that will be very useful as they can hopefully reduce the others faster. But because you use monomial multiples of the polynomials to reduce, your reduced polynomials can end up with lots of monomials that weren't even in the original polynomials. So the size of $V$ can end up huge, regardless of how many monomials are in the original set.
Finding the eigenvalues will be slow if $V$ is big. If $V$ has $n$ elements, then $M$ is an $ntimes n$ matrix. With 84 variables you could easily end up with millions of monomials in $V$, which would make the eigenvalue problem impossible on a typical computer.
Conclusion: It is possible it will work but unlikely for that many variables, unless you get really nice cancelation. Even then, depending on what software you use to calculate the Grobner Basis it might not reduce things optimally and so could take longer than needed.
$endgroup$
I quick description of what the Grobner basis is doing that is too long for a comment.
Background fact: The typical way to go about finding zeros of a one dimensional system uses what is called a companion matrix. Given a polynomial $f(x)$ of degree $d$, you make a vector of length $d$ representing a generic polynomial of degree $d-1$ (each spot is a monomial), and find the matrix $M$ that represents the multiplication by $x$ operator on the vector modulo ${f(x)}$. The eigenvalues of $M$ are then the roots of $f$.
The idea behind a Grobner Basis is to build the same type of matrix, but it is a little more complicated in higher dimensions. In general, say you have polynomials $f_1,...,f_n$. You need to find a set of monomials $V$ such that you can multiply any of the monomials by some $x_i$, mod out by your list of polynomials and any monomial multiple of those polynomials, and reduce the answer back into $V$. You can then find $M_i$ as the matrix that represents the multiplication by $x_i$ operator on $V$ modulo your polynomial. Simultaneously finding the eigenvalues of the $M_i$ then gives the zeros.
The point behind computing a reduced Grobner Basis is that it gives you $V$, and makes computing the $M_i$ easy.
However, this is slow for multiple reasons.
Finding V is slow. It basically comes down putting an ordering on the monomials and then doing long division on your polynomials until the monomials are as small as you can get them. So if you have any very simple polynomials (especially ones that only have a few variables) that will be very useful as they can hopefully reduce the others faster. But because you use monomial multiples of the polynomials to reduce, your reduced polynomials can end up with lots of monomials that weren't even in the original polynomials. So the size of $V$ can end up huge, regardless of how many monomials are in the original set.
Finding the eigenvalues will be slow if $V$ is big. If $V$ has $n$ elements, then $M$ is an $ntimes n$ matrix. With 84 variables you could easily end up with millions of monomials in $V$, which would make the eigenvalue problem impossible on a typical computer.
Conclusion: It is possible it will work but unlikely for that many variables, unless you get really nice cancelation. Even then, depending on what software you use to calculate the Grobner Basis it might not reduce things optimally and so could take longer than needed.
answered Jan 4 at 8:43
Erik ParkinsonErik Parkinson
1,16519
1,16519
add a comment |
add a comment |
$begingroup$
When $p = 2$ even determining whether such a solution exists is equivalent to SAT, the Boolean satisfiability problem (where multiplication = AND and addition = XOR), which is NP-complete. So the existence of an efficient algorithm to determine even whether solutions exist in this case is equivalent to P = NP.
$endgroup$
add a comment |
$begingroup$
When $p = 2$ even determining whether such a solution exists is equivalent to SAT, the Boolean satisfiability problem (where multiplication = AND and addition = XOR), which is NP-complete. So the existence of an efficient algorithm to determine even whether solutions exist in this case is equivalent to P = NP.
$endgroup$
add a comment |
$begingroup$
When $p = 2$ even determining whether such a solution exists is equivalent to SAT, the Boolean satisfiability problem (where multiplication = AND and addition = XOR), which is NP-complete. So the existence of an efficient algorithm to determine even whether solutions exist in this case is equivalent to P = NP.
$endgroup$
When $p = 2$ even determining whether such a solution exists is equivalent to SAT, the Boolean satisfiability problem (where multiplication = AND and addition = XOR), which is NP-complete. So the existence of an efficient algorithm to determine even whether solutions exist in this case is equivalent to P = NP.
answered Jan 4 at 8:52
Qiaochu YuanQiaochu Yuan
281k32596941
281k32596941
add a comment |
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3061360%2fis-there-an-efficient-algorithm-to-find-all-zeros-of-systems-of-multivariate-pol%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
How large exactly is the system?
$endgroup$
– Erik Parkinson
Jan 4 at 6:33
$begingroup$
@Erik It can be arbitrarily large. But I would be happy if I can solve a system having 84 variables and 156 equations over $mathbb F_5$ in a reasonable time. But ultimately the algorithm has to handle systems having arbitrarily many (but finite) number of variables and polynomials over arbitrary $mathbb F_p$ ($p$ is a prime number). So the computational complexity shouldn't grow too fast.
$endgroup$
– zxcv
Jan 4 at 6:43
$begingroup$
And what degree polynomials are they typically? I can confirm that creating a reduced Groebner Basis will definitely take to long, even with just a few variables that is slow. I have a lot of experience with this problem over the reals, but not in a finite field so I'll have to think about it.
$endgroup$
– Erik Parkinson
Jan 4 at 6:49
$begingroup$
@Erik Typically degrees aren't that big. In the special case I mentioned above (system with 84 variables and 156 equations), all the polynomials have the highest total degree of 2, 4, and 6. Degrees aren't affected by the number of equations and variables, and it is also not affected by the value of $p$ in $mathbb F_p$. So I think degrees will almost always be this small.
$endgroup$
– zxcv
Jan 4 at 7:17
$begingroup$
@Erik One more thing. The system can be over the real or even complex numbers. But I set the system to be over finite fields because I thought there would be a faster algorithm for finite fields. If there is a good algorithm over infinite fields, that is also okay. And I don't know if this would help, but I'm looking for all solutions in ${0, 1}^n$, no matter what the given field is. There is no need to find solutions outside ${0, 1}^n$.
$endgroup$
– zxcv
Jan 4 at 7:21