I would recommend looking at scipy.optimize.fsolve(), as Alan suggested. If you have a decent initial guess, it should work. ~Luke
On Jun 26, 9:43 am, Alan Bromborsky <abro...@verizon.net> wrote: > nandan jha wrote: > > Hello > > > I am trying to solve a set of non-linear equations in Mathematica 7.0 > > and every time it shows a error message : > > "FindRoot::jsing: Encountered a singular Jacobian at the point > > {B1,B2,B3,Ea1,Ea2,Ea3} = > > {31.501,0.9004,38.5013,-1000.1,-1000.01,-2000.1}. Try perturbing the > > initial point(s). >> ". > > > Sometimes it also shows this error message: "FindRoot::lstol: The line > > search decreased the step size to within tolerance specified by > > AccuracyGoal and PrecisionGoal but was unable to find a sufficient > > decrease in the merit function. You may need more than > > MachinePrecision digits of working precision to meet these tolerances. > > >>> " . > > > The equations that I am trying to solve are: > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------ > > FindRoot[{Exp[B1 + Ea1*0.000374526] + Exp[B2 + Ea2*0.000374526] + > > Exp[B3 + Ea3*0.000374526] == 0.0183, > > Exp[B1 + Ea1*0.00037925] + Exp[B2 + Ea2*0.00037925] + > > Exp[B3 + Ea3*0.00037925] == 0.00995, > > Exp[B1 + Ea1*0.00038287] + Exp[B2 + Ea2*0.00038287] + > > Exp[B3 + Ea3*0.00038287] == 0.0075, > > Exp[2*B1 + 2*Ea1*0.000374526] + Exp[2*B2 + 2*Ea2*0.000374526] + > > Exp[2*B3 + 2*Ea3*0.000374526] + > > 2*Exp[B1 + B2 + (Ea1 + Ea2)*0.000374526] + > > 2*Exp[B2 + B3 + (Ea3 + Ea2)*0.000374526] - > > 2*Exp[B1 + B3 + (Ea1 + Ea3)*0.000374526] == 0.01784*0.01784, > > Exp[2*B1 + 2*Ea1*0.00037925] + Exp[2*B2 + 2*Ea2*0.00037925] + > > Exp[2*B3 + 2*Ea3*0.00037925] + > > 2*Exp[B1 + B2 + (Ea1 + Ea2)*0.00037925] + > > 2*Exp[B2 + B3 + (Ea3 + Ea2)*0.00037925] - > > 2*Exp[B1 + B3 + (Ea1 + Ea3)*0.00037925] == 0.00983*0.00983, > > Exp[2*B1 + 2*Ea1*0.00038287] + Exp[2*B2 + 2*Ea2*0.00038287] + > > Exp[2*B3 + 2*Ea3*0.00038287] + > > 2*Exp[B1 + B2 + (Ea1 + Ea2)*0.00038287] + > > 2*Exp[B2 + B3 + (Ea3 + Ea2)*0.00038287] - > > 2*Exp[B1 + B3 + (Ea1 + Ea3)*0.00038287] == 0.00742*0.00742}, {B1, > > 40.001}, {B2, 110.9004}, {B3, > > 47.001309}, {Ea1, -1000.1}, {Ea2, -1000.01}, {Ea3, -2000.1}, > > MaxIterations -> Infinity, AccuracyGoal -> Infinity] > > ------------------------------------------------------------------------------------------------------------------------------------------------------------- > > > Can someone tell me if this can be solved in sympy and shouldn't the > > Mathematica itself change the initial value and do a computation to > > get the answer. > > > Thanks for any help in advance. > > Nandan > > You might want to look at the root finders in scipy. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sympy?hl=en -~----------~----~----~----~------~----~------~--~---