I'm sorry for the deluge of questions, but I hope you will bear with me as I come up to speed. This one is more substantive and I think related to my first question yesterday about simplify() not simplifying enough. Now, I have two equations with two unknowns I'm trying to solve and I'm getting 3 solutions. Two are correct, but the third yields a division by zero error if I try to plug it back into the equations. And the real problem is that the solution I care about is missing! These particular two equations are symmetric, so I could (and have) solved it by subsituting x1 for x2 and solving just one equation with one unknown. That works and that's how I know the missing solution. But I want to solve slightly different sets of equations that are _not_ symmetric and the fact that sage/Maxima fails me here makes me pessimistic that my results for the asymmetric versions are correct.
Here's my code: var('x1, x2') eqn1 = (1/2*((x1^2 + 2*x1 - 4)*x2^2 + 2*(x1^2 + x1)*x2 + x1^2) / ((x1^2 + 2*x1 + 1)*x2^2 + 2*(x1^2 + x1)*x2 + x1^2) == 0) eqn2 = (1/2*((x1^2 + 2*x1 + 1)*x2^2 + 2*(x1^2 + x1)*x2 - 4*x1^2) / ((x1^2 + 2*x1 + 1)*x2^2 + 2*(x1^2 + x1)*x2 + x1^2) == 0) print "eqn1: ", eqn1 print "eqn2: ", eqn1 sols = solve([eqn1, eqn2], x1, x2, solution_dict=True) print "number of sols: ", len(sols) print "sols: ", sols foo = eqn1.lhs().subs(x1=sqrt(5) - 2, x2=sqrt(5) - 2) print "What about sqrt(5)-2 in eqn1?", foo bar = eqn2.lhs().subs(x1=sqrt(5) - 2, x2=sqrt(5) - 2) print "What about sqrt(5)-2 in eqn2?", bar print "But these both simplify to zero after a simplify_full: ", foo.simplify_full() print "But these both simplify to zero after a simplify_full: ", bar.simplify_full() print "The third solution I do get yields a divide by zero error, but I'm willing to forgive this:" eqn1.lhs().subs(sols[2]) *** And here's what I get when I run it: *** sage: load problem.sage eqn1: 1/2*((x1^2 + 2*x1 - 4)*x2^2 + 2*(x1^2 + x1)*x2 + x1^2)/((x1^2 + 2*x1 + 1)*x2^2 + 2*(x1^2 + x1)*x2 + x1^2) == 0 eqn2: 1/2*((x1^2 + 2*x1 - 4)*x2^2 + 2*(x1^2 + x1)*x2 + x1^2)/((x1^2 + 2*x1 + 1)*x2^2 + 2*(x1^2 + x1)*x2 + x1^2) == 0 number of sols: 3 sols: [{x2: -sqrt(5), x1: -(sqrt(5) - 10)/(2*sqrt(5) - 1)}, {x2: sqrt (5), x1: -(sqrt(5) + 10)/(2*sqrt(5) + 1)}, {x2: 0, x1: 0}] What about sqrt(5)-2 in eqn1? 1/2*((sqrt(5) - 2)^2*((sqrt(5) - 2)^2 + 2*sqrt(5) - 8) + (sqrt(5) - 2)^2 + 2*(sqrt(5) - 2)*((sqrt(5) - 2)^2 + sqrt(5) - 2))/((sqrt(5) - 2)^2*((sqrt(5) - 2)^2 + 2*sqrt(5) - 3) + (sqrt(5) - 2)^2 + 2*(sqrt(5) - 2)*((sqrt(5) - 2)^2 + sqrt(5) - 2)) What about sqrt(5)-2 in eqn2? 1/2*((sqrt(5) - 2)^2*((sqrt(5) - 2)^2 + 2*sqrt(5) - 3) - 4*(sqrt(5) - 2)^2 + 2*(sqrt(5) - 2)*((sqrt(5) - 2)^2 + sqrt(5) - 2))/((sqrt(5) - 2)^2*((sqrt(5) - 2)^2 + 2*sqrt(5) - 3) + (sqrt(5) - 2)^2 + 2*(sqrt(5) - 2)*((sqrt(5) - 2)^2 + sqrt(5) - 2)) But these both simplify to zero after a simplify_full: 0 But these both simplify to zero after a simplify_full: 0 The third solution I do get yields a divide by zero error, but I'm willing to forgive this: --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) ... RuntimeError: power::eval(): division by zero As usual, any help would be greatly appreciated! Thank you, Doug --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---