You could solve for just two of the variables, like sym.solve((eq1, eq2, eq3), (z, x)).
Aaron Meurer On Fri, Jun 28, 2013 at 3:56 PM, Ondřej Čertík <ondrej.cer...@gmail.com> wrote: > Hi Thomas, > > On Thu, Jun 27, 2013 at 8:32 PM, Thomas Moore <tommo...@live.com.au> wrote: >> I'm contemplating using sympy in a program which will need to symbolically >> solve a set of simultaneous and possibly non-linear equations. However, it's >> obviously not possible to find symbolic solutions in many cases, but if >> sym.solve can't find an explicit solution what I'd really like is for some >> way of delivering a simplified set of simultaneous equations. >> >> Let me give an example which gives me some hope: >> >> eq1 = x + y - sym.log(x) - 3 >> eq2 = x**2 + z**2 - 4 >> eq3 = x + y - 15*z - 100 >> >> sym.solve((eq1, eq2, eq3), (x,y,z)) >> >> Obviously this is going to be tough to solve completely, and Sympy does >> fail, but the error I recieve is: >> >> NotImplementedError: could not solve 15*z - log(sqrt((-z + 2)*(z + 2))) >> + 97 >> >> And it looks like, under the hood, Sympy has in fact almost completely >> simplified the equations. We have an equation in terms of z alone, and >> (hopefully) we could have a second equation in terms of x and z and then a >> third equation in terms of all three variables. >> >> I'm just wondering if there is some function within sympy to simplify sets >> of simultaneous equations by eliminating variables. > > I don't know how to do that, apart from manually substituting one > equation into the other. > Do you know the structure of your equations? > > How do you generate them, where do they come from? Maybe it is > possible to design an algorithm that can do what you want. > > Ondrej > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+unsubscr...@googlegroups.com. > To post to this group, send email to sympy@googlegroups.com. > Visit this group at http://groups.google.com/group/sympy. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.