problems with find_root



Never mind, problem solved.

On 12/ 6/10 02:19 PM, Kostas Oikonomou wrote:
> Hi,
>
> I'm having some difficulties with find_root, and I wonder if anyone can
> help. I've already searched the mailing list archives, and I've found
> some pertinent posts which led me to quote the expression given to
> find_root, but this doesn't seem to help.
>
> Here is the problem. In the following call, delta and mphi have
> numerical values (and so do all other function arguments that appear in
> the code below, although I am not giving these values here).
>
> ahatp(delta,1e-6,0.005,mphi)
>
> Maxima encountered a Lisp error:
> Binding stack exhausted.
>
> PROCEED WITH CAUTION.
> Automatically continuing.
> To enable the Lisp debugger set *debugger-hook* to nil.
> INFO: Binding stack guard page unprotected
> Binding stack guard page temporarily disabled: proceed with caution
> INFO: Binding stack guard page reprotected
>
>
> Now the complete code is below. Thanks for any help.
>
>
> Kostas
>
>
> ===================================================================
>
> ahatp(delta,epsilon,theta,min_phi) := block([a0],
> a0 : alpha0(theta),
> find_root('(N1th2(alpha,delta,epsilon,theta,min_phi) -
> 1/(2*theta_0p(alpha,delta,theta,min_phi))), 'alpha, 0, a0)
> );
>
>
> theta_0p(alpha,delta,theta,min_phi) :=
> min(theta_inf(delta), alpha*theta/m, min_phi);
>
> psi(alpha,theta) := 0.5*theta^2 -
> if alpha > 0 then alpha*theta*log(m/(alpha*theta)) else 0;
>
> alpha0(theta) := find_root(psi(alpha,theta), alpha, theta^2, 1);
>
> C1p(alpha,theta) := (0.5*(m+mu_s)-1) / psi(alpha,theta);
> C2p(alpha,epsilon,theta) :=
> (m*log(1.2) + 1.0023*mu_s + log(2/epsilon+2.0) - 0.5*mu_s*log(float(mu_s)))
> / psi(alpha,theta);
>
>
> /* The N_1 of Th. 2 */
> N1th2(alpha,delta,epsilon,theta,min_phi) := block([c1,c2],
> c1 : C1p(alpha,theta),
> c2 : C2p(alpha,epsilon,theta),
> if c1 < 0 then
> error("this shouldn't happen!!"),
> if c2 > 0 and c1+c2 >= 21 then
> 1.5*c1*log(c1+c2) + c2
> elseif c2 <= 0 then
> 1.5*c1*log(c1)+c2
> else
> error("with C2 > 0, must have C1+C2 >= 21!")
> );
>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima