On Jun 26, 5:44 pm, nandan jha <nandanjh...@gmail.com> 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] ^^^^^^^^ I'm not familiar with Mathematica, but does this mean you want infinite accuracy? This seems hard to achieve. :)
> ------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Can someone tell me if this can be solved in sympy In sympy use nsolve(), but this uses simply Newton's method and requires a very good starting point (so rather try scipy). Mathematica is more advanced I think. > and shouldn't the > Mathematica itself change the initial value and do a computation to > get the answer. That is sadly not trivial. Vinzent --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---