Hello,
I am trying to obtain Groebner bases of a system of equations. Below is my code (1) -> m : List DMP([ca,sa,x,y],FRAC POLY INT) (2) -> m := [x^2+y^2-r1^2,(x+lab*ca)^2+(y+lab*sa)^2-r2^2,(x+lac*(ca*cb-sa*sb))^2+(y+lac*(sa*cb+ca*sb))^2-r3^2,ca^2+sa^2-1] asking for groebner bases is leading to (3) -> groebner(m) (3) [1] Type: List(DistributedMultivariatePolynomial([ca,sa,x,y],Fraction(Polynomial(Integer)))) which does not make sense to me. The equations are based on a physical system and I can't see any reason that would lead to an inconsistency. Why am I getting [1] as the result? Any help or insight would be well-appreciated. Best Regards, -- View this message in context: http://nongnu.13855.n7.nabble.com/Groebner-bases-of-a-set-of-equations-tp179213.html Sent from the axiom-math mailing list archive at Nabble.com. _______________________________________________ Axiom-math mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/axiom-math |
Try a larger set of variables (generators). Other unlisted symbols
default to being parameters (from FRAC POLY INT). For example [ca,cb,sa,sb,x,y] gives a basis of 12 polynomials. See http://axiom-wiki.newsynthesis.org/SandBoxGroebnerBasis#msg20140219000533+0000@... On 18 February 2014 11:23, sahin <[hidden email]> wrote: > Hello, > > I am trying to obtain Groebner bases of a system of equations. Below is my > code > > (1) -> m : List DMP([ca,sa,x,y],FRAC POLY INT) > (2) -> m := > [x^2+y^2-r1^2,(x+lab*ca)^2+(y+lab*sa)^2-r2^2,(x+lac*(ca*cb-sa*sb))^2+(y+lac*(sa*cb+ca*sb))^2-r3^2,ca^2+sa^2-1] > > asking for groebner bases is leading to > (3) -> groebner(m) > > (3) [1] > Type: > List(DistributedMultivariatePolynomial([ca,sa,x,y],Fraction(Polynomial(Integer)))) > > which does not make sense to me. The equations are based on a physical > system and I can't see any reason that would lead to an inconsistency. Why > am I getting [1] as the result? Any help or insight would be > well-appreciated. > > Best Regards, > > > > -- > View this message in context: http://nongnu.13855.n7.nabble.com/Groebner-bases-of-a-set-of-equations-tp179213.html > Sent from the axiom-math mailing list archive at Nabble.com. > > _______________________________________________ > Axiom-math mailing list > [hidden email] > https://lists.nongnu.org/mailman/listinfo/axiom-math _______________________________________________ Axiom-math mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/axiom-math |
Thank you for the help. I tried your suggestion and I am indeed getting
some results. But if we extend the number of variables by defining a few of the parameters (in this case cb,sb) while keeping the equations unchanged, would this effect the polynomial equations and therefore the solutions? Also, is this a standard way to attack this kind of a problem, i.e. equations with parameters, in axiom? I guess this needs some experimentation to obtain the solution. I was initially thinking that if I get [1] as a Groebner bases, then it means that there is no solution to the system of equations. But given this example, I guess I was wrong in my interpretation. What does getting [1] as a Groebner bases in axiom or another computer algebra system mean? Best Regards, On Tue, 2014-02-18 at 18:39 -0500, Bill Page wrote: > Try a larger set of variables (generators). Other unlisted symbols > default to being parameters (from FRAC POLY INT). For example > > [ca,cb,sa,sb,x,y] > > gives a basis of 12 polynomials. See > > http://axiom-wiki.newsynthesis.org/SandBoxGroebnerBasis#msg20140219000533+0000@... > > On 18 February 2014 11:23, sahin <[hidden email]> wrote: > > Hello, > > > > I am trying to obtain Groebner bases of a system of equations. Below is my > > code > > > > (1) -> m : List DMP([ca,sa,x,y],FRAC POLY INT) > > (2) -> m := > > [x^2+y^2-r1^2,(x+lab*ca)^2+(y+lab*sa)^2-r2^2,(x+lac*(ca*cb-sa*sb))^2+(y+lac*(sa*cb+ca*sb))^2-r3^2,ca^2+sa^2-1] > > > > asking for groebner bases is leading to > > (3) -> groebner(m) > > > > (3) [1] > > Type: > > List(DistributedMultivariatePolynomial([ca,sa,x,y],Fraction(Polynomial(Integer)))) > > > > which does not make sense to me. The equations are based on a physical > > system and I can't see any reason that would lead to an inconsistency. Why > > am I getting [1] as the result? Any help or insight would be > > well-appreciated. > > > > Best Regards, > > > > > > > > -- > > View this message in context: http://nongnu.13855.n7.nabble.com/Groebner-bases-of-a-set-of-equations-tp179213.html > > Sent from the axiom-math mailing list archive at Nabble.com. > > > > _______________________________________________ > > Axiom-math mailing list > > [hidden email] > > https://lists.nongnu.org/mailman/listinfo/axiom-math _______________________________________________ Axiom-math mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/axiom-math |
Dear Sureyya:
I suggest you put the parameters in DMP and set the main equation variables in DMP or POLY. That way, you won't have any ambiguity. A groebner basis consisting of just 1 means the ideal generated by the given set of polynomials is the whole ring, but you need to know which ring your original set of parametric polynomials are in to interpret the result. Moreover, a system of parametric equations is DIFFERENT from a system of equations whose coefficient ring is another polynomial ring, because you are then solving the parametric system generically, rather than parametrically. As an example, if you solve bx=1, where b is a parameter and x the unknown in DMP([x], FRAC POLY INT) (pseudo code only, as I don't remember the correct syntax), you will get x = 1/b, and clearly this is not valid when b = 0 (but of course, b is NOT zero in FRAC POLY INT---it is an indeterminate. Solving a parametric algebraic system [1] should produce a covering of the parametric space where each "regime" in the cover is defined by a set of equations and inequations in the parametric variables and a solution in the main variables under the parametric conditions of the regime. In the simple example above, the cover consists of two regimes: b = 0 (no solution) and b \neq 0 (solution x = 1/b). [1] Not to be confused with "parametric equations", which is parametrization or parametric representation of solutions of an algebraic equation, such as using x = cos theta, y = sin theta for x^2 + y^2 = 1. For LINEAR systems in the main variables, I have a package called PLEQN (Parametric linear equations) that you may want to check out. See my paper on the subject: http://www.sciencedirect.com/science/article/pii/S0747717108801046 I am not aware of any package to solve general parametric algebraic equations in Axiom (but I have not kept up-to-date on Axiom). Mathematica has a built-in function called Reduce that seems to do that (it is even more general as it deals with inequalities as well, but the algorithm appears to be proprietary and it does not produce a Groebner basis). William On Wed, 19 Feb 2014 08:15:41 -0500 Sureyya Sahin <[hidden email]> wrote: > Thank you for the help. I tried your suggestion and I am >indeed getting > some results. But if we extend the number of variables >by defining a few > of the parameters (in this case cb,sb) while keeping the >equations > unchanged, would this effect the polynomial equations >and therefore the > solutions? Also, is this a standard way to attack this >kind of a > problem, i.e. equations with parameters, in axiom? I >guess this needs > some experimentation to obtain the solution. > > I was initially thinking that if I get [1] as a Groebner >bases, then it > means that there is no solution to the system of >equations. But given > this example, I guess I was wrong in my interpretation. >What does > getting [1] as a Groebner bases in axiom or another >computer algebra > system mean? > > Best Regards, > > On Tue, 2014-02-18 at 18:39 -0500, Bill Page wrote: >> Try a larger set of variables (generators). Other >>unlisted symbols >> default to being parameters (from FRAC POLY INT). For >>example >> >> [ca,cb,sa,sb,x,y] >> >> gives a basis of 12 polynomials. See >> >> http://axiom-wiki.newsynthesis.org/SandBoxGroebnerBasis#msg20140219000533+0000@... >> >> On 18 February 2014 11:23, sahin <[hidden email]> >>wrote: >> > Hello, >> > >> > I am trying to obtain Groebner bases of a system of >>equations. Below is my >> > code >> > >> > (1) -> m : List DMP([ca,sa,x,y],FRAC POLY INT) >> > (2) -> m := >> > >>[x^2+y^2-r1^2,(x+lab*ca)^2+(y+lab*sa)^2-r2^2,(x+lac*(ca*cb-sa*sb))^2+(y+lac*(sa*cb+ca*sb))^2-r3^2,ca^2+sa^2-1] >> > >> > asking for groebner bases is leading to >> > (3) -> groebner(m) >> > >> > (3) [1] >> > Type: >> > >>List(DistributedMultivariatePolynomial([ca,sa,x,y],Fraction(Polynomial(Integer)))) >> > >> > which does not make sense to me. The equations are >>based on a physical >> > system and I can't see any reason that would lead to >>an inconsistency. Why >> > am I getting [1] as the result? Any help or insight >>would be >> > well-appreciated. >> > >> > Best Regards, >> > >> > >> > >> > -- >> > View this message in context: >>http://nongnu.13855.n7.nabble.com/Groebner-bases-of-a-set-of-equations-tp179213.html >> > Sent from the axiom-math mailing list archive at >>Nabble.com. >> > >> > _______________________________________________ >> > Axiom-math mailing list >> > [hidden email] >> > https://lists.nongnu.org/mailman/listinfo/axiom-math > > > > _______________________________________________ > Axiom-math mailing list > [hidden email] > https://lists.nongnu.org/mailman/listinfo/axiom-math William Sit, Professor Emeritus Mathematics, City College of New York Office: R6/291D Tel: 212-650-5179 Home Page: http://scisun.sci.ccny.cuny.edu/~wyscc/ _______________________________________________ Axiom-math mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/axiom-math |
Hi William:
Thank you for your post regarding my problem on solving the Groebner bases of a set of polynomial equation. The main problem is that not all of the variables are associated with the set of polynomials, i.e., in this case I have Q[x,y,ca,sa]. The rest of the variables are independent parameters which can be interpreted as rational functions. I already tried simpler polynomial equations and axiom gives me meaningful results. Just as an example, if you try the following code in Q(a2,a3,a4,rx,ry)[c3,s3,c4,s4]; n : List DMP([c3,s3,c4,s4], FRAC POLY INT) n := [a2*c2+a3*c3-a4*c4-rx,a2*s2+a3*s3-a4*s4-ry,c3^2+s3^2-1,c4^2+s3^2-1] g := groebner(n) You will obtain meaningful results. This is the solution of the kinematic equations of a simple four-bar linkage and the other parameters a2,a3,a4,rx,ry are just symbols, yet axiom is capable of giving me solution in this case. Here I am not talking about whether the Groebner bases is defined or not, I am obtaining a set of Groebner base solutions in terms of the symbolic variables. On my original question: I am obtaining [1] as the Groebner base solution which I interpreted as the solution set is the whole Q[ca,sa,x,y], which would imply no solution as a consequence of Nullstellensatz. Thus, I interpreted this as I have inconsistent (meaningless) equations. But the equations describe a physically meaningful system. And I can't catch an error on the equations. So, I thought I may misinterpret the [1] that I receive from axiom. To my understanding you think [1] may be coming from the symbolic variables; but this does not make sense to me as I already defined Q[ca,sa,x,y] and the rest is being taken as symbols as in the simple example I illustrated. I may yet try including the rest of the variables in the definition of the polynomial, i.e., Q[ca,sa,x,y,cb,sb,r1,r2,r3,..]. But I have my doubts as I have already shown that axiom can solve equations in Q(cb,sb,r1,r2,r3,..)[ca,sa,x,y]. I may be misinterpreting your suggestion, can you give more details of your recommendation? Thank you for including your study on linear systems as well. Generally, I am dealing with nonlinear polynomials in trigonometric/transcendental functions. Thus, I will not be able to use a solution in linear polynomials. Yet I will read to gain a bit more insight into the symbolic computation. Best Regards, On Wed, 2014-02-19 at 13:26 -0500, William Sit wrote: > Dear Sureyya: > > I suggest you put the parameters in DMP and set the main > equation variables in DMP or POLY. That way, you won't > have any ambiguity. > > A groebner basis consisting of just 1 means the ideal > generated by the given set of polynomials is the whole > ring, but you need to know which ring your original set of > parametric polynomials are in to interpret the result. > Moreover, a system of parametric equations is DIFFERENT > from a system of equations whose coefficient ring is > another polynomial ring, because you are then solving the > parametric system generically, rather than parametrically. > > As an example, if you solve bx=1, where b is a parameter > and x the unknown in DMP([x], FRAC POLY INT) (pseudo > code only, as I don't remember the correct syntax), you > will get x = 1/b, and clearly this is not valid when b = 0 > (but of course, b is NOT zero in FRAC POLY INT---it is an > indeterminate. > > Solving a parametric algebraic system [1] should produce a > covering of the parametric space where each "regime" in > the cover is defined by a set of equations and inequations > in the parametric variables and a solution in the main > variables under the parametric conditions of the regime. > In the simple example above, the cover consists of two > regimes: b = 0 (no solution) and b \neq 0 (solution x = > 1/b). > > [1] Not to be confused with "parametric equations", which > is parametrization or parametric representation of > solutions of an algebraic equation, such as using x = cos > theta, y = sin theta for x^2 + y^2 = 1. > > For LINEAR systems in the main variables, I have a package > called PLEQN (Parametric linear equations) that you may > want to check out. See my paper on the subject: > http://www.sciencedirect.com/science/article/pii/S0747717108801046 > I am not aware of any package to solve general parametric > algebraic equations in Axiom (but I have not kept > up-to-date on Axiom). Mathematica has a built-in function > called Reduce that seems to do that (it is even more > general as it deals with inequalities as well, but the > algorithm appears to be proprietary and it does not > produce a Groebner basis). > > William > > On Wed, 19 Feb 2014 08:15:41 -0500 > Sureyya Sahin <[hidden email]> wrote: > > Thank you for the help. I tried your suggestion and I am > >indeed getting > > some results. But if we extend the number of variables > >by defining a few > > of the parameters (in this case cb,sb) while keeping the > >equations > > unchanged, would this effect the polynomial equations > >and therefore the > > solutions? Also, is this a standard way to attack this > >kind of a > > problem, i.e. equations with parameters, in axiom? I > >guess this needs > > some experimentation to obtain the solution. > > > > I was initially thinking that if I get [1] as a Groebner > >bases, then it > > means that there is no solution to the system of > >equations. But given > > this example, I guess I was wrong in my interpretation. > >What does > > getting [1] as a Groebner bases in axiom or another > >computer algebra > > system mean? > > > > Best Regards, > > > > On Tue, 2014-02-18 at 18:39 -0500, Bill Page wrote: > >> Try a larger set of variables (generators). Other > >>unlisted symbols > >> default to being parameters (from FRAC POLY INT). For > >>example > >> > >> [ca,cb,sa,sb,x,y] > >> > >> gives a basis of 12 polynomials. See > >> > >> http://axiom-wiki.newsynthesis.org/SandBoxGroebnerBasis#msg20140219000533+0000@... > >> > >> On 18 February 2014 11:23, sahin <[hidden email]> > >>wrote: > >> > Hello, > >> > > >> > I am trying to obtain Groebner bases of a system of > >>equations. Below is my > >> > code > >> > > >> > (1) -> m : List DMP([ca,sa,x,y],FRAC POLY INT) > >> > (2) -> m := > >> > > >>[x^2+y^2-r1^2,(x+lab*ca)^2+(y+lab*sa)^2-r2^2,(x+lac*(ca*cb-sa*sb))^2+(y+lac*(sa*cb+ca*sb))^2-r3^2,ca^2+sa^2-1] > >> > > >> > asking for groebner bases is leading to > >> > (3) -> groebner(m) > >> > > >> > (3) [1] > >> > Type: > >> > > >>List(DistributedMultivariatePolynomial([ca,sa,x,y],Fraction(Polynomial(Integer)))) > >> > > >> > which does not make sense to me. The equations are > >>based on a physical > >> > system and I can't see any reason that would lead to > >>an inconsistency. Why > >> > am I getting [1] as the result? Any help or insight > >>would be > >> > well-appreciated. > >> > > >> > Best Regards, > >> > > >> > > >> > > >> > -- > >> > View this message in context: > >>http://nongnu.13855.n7.nabble.com/Groebner-bases-of-a-set-of-equations-tp179213.html > >> > Sent from the axiom-math mailing list archive at > >>Nabble.com. > >> > > >> > _______________________________________________ > >> > Axiom-math mailing list > >> > [hidden email] > >> > https://lists.nongnu.org/mailman/listinfo/axiom-math > > > > > > > > _______________________________________________ > > Axiom-math mailing list > > [hidden email] > > https://lists.nongnu.org/mailman/listinfo/axiom-math > > William Sit, Professor Emeritus > Mathematics, City College of New York > Office: R6/291D Tel: 212-650-5179 > Home Page: http://scisun.sci.ccny.cuny.edu/~wyscc/ _______________________________________________ Axiom-math mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/axiom-math |
Free forum by Nabble | Edit this page |