Newton Raphson implementation, not converging, maybe error in implementation

I have implemented Newton-Raphson method for my non-linear function with one variable "aa" and others are constant.
I read that Newton-Raphson method does not depend much on the initial guess. My implementation is not converging and it is not getting me a solution. I know the solution for this problem based on other method as 0.0142. I would like to know the mistakes in implementation, please take a look at it and let me know your suggestions.
% Predefined parameters
dd = 0.1069;
vv = 0.7889;
L = 1;
% Define the function and its derivative
func = @(aa) ( (-(sqrt(L^2-vv^2)/2)) + (aa*sinh((dd/2)/aa)) );
func_derivative = @(aa) (sinh(dd/(2*aa)) - ((-dd/(2*aa))*(cosh( (dd/(2*aa))/aa ))) );
% Initial guess
aa_guess = 0.01; % You can choose any initial guess
% Tolerance and maximum iterations
tol = 1e-6;
max_iter = 1000;
% Newton-Raphson method
iter = 0;
while true
iter = iter + 1;
% Evaluate the function and its derivative at the current guess
f = func(aa_guess);
%f_prime = func_derivative(aa_guess);
f_prime = (func(aa_guess+1e-6)-f)*1e6
% Newton-Raphson update rule
aa_new = aa_guess - f / f_prime;
% Display iteration results
fprintf('Iteration %d: aa = %f, f(aa) = %f, f''(aa) = %f\n', iter, aa_guess, f, f_prime);
% Check for convergence
if abs(aa_new - aa_guess) < tol || iter >= max_iter
break;
end
% Update the guess
aa_guess = aa_new;
end
f_prime = -455.1300
Iteration 1: aa = 0.010000, f(aa) = 0.740505, f'(aa) = -455.130017
f_prime = -178.3815
Iteration 2: aa = 0.011627, f(aa) = 0.269331, f'(aa) = -178.381458
f_prime = -89.7550
Iteration 3: aa = 0.013137, f(aa) = 0.076755, f'(aa) = -89.754985
f_prime = -64.3456
Iteration 4: aa = 0.013992, f(aa) = 0.011643, f'(aa) = -64.345556
f_prime = -60.2285
Iteration 5: aa = 0.014173, f(aa) = 0.000376, f'(aa) = -60.228463
f_prime = -60.0928
Iteration 6: aa = 0.014179, f(aa) = 0.000000, f'(aa) = -60.092768
if iter >= max_iter
disp('Newton-Raphson method did not converge within maximum iterations.');
else
fprintf('Root found at aa = %f after %d iterations.\n', aa_guess, iter);
end
Root found at aa = 0.014179 after 6 iterations.

4 comentarios

Torsten
Torsten el 7 de Feb. de 2024
Editada: Torsten el 7 de Feb. de 2024
Seems your analytical derivative of the function is incorrect (see above for the result after substitution by a finite-difference quotient).
@Torsten I looked into your code and saw that you have changed the analytical derivative to finite difference. I am unable to understand why you multiplied it with 10^-6 after taking the difference ?
f_prime = (func(aa_guess+1e-6)-f)*1e6;
I also saw that you changed the initial guess from 0.1 to 0.01 . I made the intial guess at 0.1 and the code did not work. It gives me an conclusion that Newton-Raphson method highly depends on inital guess ? Am I correct ? Is there any other method which is not highly affected by the initial guess ?
"I am unable to understand why you multiplied it with 10^-6 after taking the difference ?"
That is not multiplication with 10^-6, but division by 10^-6, which results in multiplication by 10^6. Note the sign of the exponent.
Basically that is f' = (f(x+del) - f(x))/del
Are there methods that depend less on the initial guess? YES, and sometimes, no. And this is big reason why you don't want to write your own solvers, but also why you need to learn about the solvers, and how to use them properly.
For example, fzero is a better choice of solver almost always than writing a Newton method of your own. It will converge rapidly when the problem is well behaved. But it also has ways of avoiding problems.
dd = 0.1069;
vv = 0.7889;
L = 1;
% Define the function and its derivative
func = @(aa) ( (-(sqrt(L^2-vv^2)/2)) + (aa*sinh((dd/2)/aa)) );
[xval,fval,exitflag] = fzero(func,0.1)
xval = 0.0142
fval = -5.5511e-17
exitflag = 1
Even better is if you will provide a bracket around the root, as that will insure it finds a proper solution.
[xval,fval,exitflag] = fzero(func,[1e-2,0.1])
xval = 0.0142
fval = -5.5511e-17
exitflag = 1
USE EXISTING TOOLS WHENEVER POSSIBLE. Unless of course, you can do a better job than the professional who wrote that tool.
Finally, you should note that had you used fzero here, it would have saved you perhaps hours of time writing code, and trying then to figure out where you went wrong. And it took me one line of code to solve the problem. I never even needed to compute the derivative, which you apparently got wrong.

Iniciar sesión para comentar.

 Respuesta aceptada

There are some significant misunderstandings on your part that I want to clear up, as well as perhaps help you solve your problem.
First, that you can always choose any start point. WRONG.
It is not true that a Newton scheme can start anywhere. Some start points may cause your method to diverge to +/- inf. Some start points may cause your scheme to converge to a non-solution. Some start points may cause numerical problems in the evaluation. So it is not at all true that any point is acceptable!
For example, consider the simple cubic polynomial...
syms x
y = expand((x+1)*(x-1)*(x-2) + 1)
y = 
fplot(y,[-2,3])
yline(0)
Clearly, it has only one real root, near -1.5. If you start the solver in the region of that root, it will converge to the root we want.
But imagine you decide to start the solver out around x==2? Now it will probably get stuck in that valley. A Newton scheme may just oscillate in that valley around 1.5, and never escape.
And suppose we decide to start the solver at one of two flat spots on the curve, where the slope is exactly zero? It will diverge to plus or minus infinity at the first step, due to the resulting divide by zero.
The concept of a basin of attraction is an important one. It is the set of starting points that will converge to a valid solution. As long as you start the solver in a spot that lies in the basin of attraction, AND that does not create a numerical problem, like an underflow or overflow in double precision arithmetic, then yes, you can succeed. But you stated several times that it does not matter where you start. And that is simply wrong.
Now we can look at your specific problem.
dd = 0.1069;
vv = 0.7889;
L = 1;
% Define the function and its derivative
% Use the dotted operators to allow the code to be vectorized
func = @(aa) ( (-(sqrt(L^2-vv^2)/2)) + (aa.*sinh((dd/2)./aa)) );
% PLOT THE FUNCTION!!!!!!!!!!!! ALWAYS PLOT EVERYTHING!!!!!!!!!
fplot(func)
It looks like your function has a spike in it around zero. Zoom in.
fplot(func,[-.1,.1])
ylim([-.2,.2])
yline(0)
grid on
So 0.01 might not be a terrible guess as a start point. A little low, but not bad.
Next, check if your derivative is correct. I can drop the first term, since it is not a function of aa.
syms DD AA
diff(AA*sinh((DD/2)/AA),AA)
ans = 
And you wrote this:
(sinh(dd/(2*aa)) - ((-dd/(2*aa))*(cosh( (dd/(2*aa))/aa ))) );
which appears to be wrong. So fix your derivative. It looks like you divided by aa too many times.
And use fewer parens. Using more parens is not always a good thing, if it makes your code unreadable, to the extent that you cannot read it yourself.

12 comentarios

@John D'Errico Thanks a lot for the detailed answer and clearing my wrong understanding. I understand the need and reason for starting in the right region. I guess the valley you are referring to is like a local minima and a function can have many local minima / valleys and if i start there then it will get struck there as the derivative will not be able to yield a direction from that point. I will also make sure that I use only required number of brackets and follow BODMAS rule more efficiently.
I mainly want to use the available tools and I have a problem statement of changing parameters for which I cannot choose a constant search region in my simulation hence, I have been trying 3 ways - fzero, fsolve and newton-raphson.
I will explain you my problem in detail here.
The 2 constant parameters of d (horizontal distance) and v (vertical distance) can vary to any number. Their maximum variation is constrained by L (physical length) following pythogoras theoreom and minimum can be very less close to 0. Due to this variation, I am unable to keep a constant search region, I believe as the parameters vary the search region also varies because I have this function
fun = @(a) ( (-(sqrt(L^2-v^2)/2)) + (a*sinh((d/2)/a)) ) ;
In this function, the second term a*sinh will not have a zero crossing (I need to plot and check it), whereas the first part of the equation makes the function to have a zero crossing. The parameter v is affecting it the zero crossing and the parameter d is affecting the shape of the curve.
While, I was running the simulation for a trajectory, for few configurations example the data point I provided above made the simulation to break as fzero was not able to find the right roots due to incorrect search region. This lead to the search for other methods to solve it.
If I am correct fsolve (True region method), will also suffer from this incorrect search region problem just like fzero and newton-raphson. Am I correct ?
I have explained my problem in detail. I would really like your suggestion to solve this problem for all possible range of configurations for my nonlinear function. I am looking forward to hearing from you.
If I am correct fsolve (True region method), will also suffer from this incorrect search region problem just like fzero and newton-raphson. Am I correct ?
Yes.
I have explained my problem in detail. I would really like your suggestion to solve this problem for all possible range of configurations for my nonlinear function.
Find two points xl and xr for a with f(xl)*f(xr) < 0 and call fzero with the interval [xl xr] as initial guess. To find these points, you could successively scan the range of values for "a" that are physically senseful.
@Torsten Thanks for your answer.
I have few questions in your suggestion to understand it more.
  1. Why do you prefer fzero over folve ?
  2. I understand the reason behind f(xl)*f(xr) < 0 as it should have change of sign. Is the way to find the xl (lower limit) and xr (upper limit) based on random guess by keep searching ? I have an idea if write a script to vary all range of values for these 2 parameters (v and d) and record the zero crossings in an array. Probably this could give me a guess for selecting xl and xr.
Let me know your views on this.
dd = 0.1069;
vv = 0.7889;
L = 1;
func = @(a) ( (-(sqrt(L^2-vv^2)/2)) + (a.*sinh((dd/2)./a)) );
amin = 1e-5; % minimum lower limit for a
amax = 1; % maximum upper limit for a
deltaa = 1e-3; % Scan size for the interval [amin amax]
a = amin:deltaa:amax;
fa = func(a);
index = find(diff(fa>0),1); % find first sign change position
a = fzero(func,[a(index) a(index+1)])
a = 0.0142
John D'Errico
John D'Errico el 7 de Feb. de 2024
Editada: John D'Errico el 7 de Feb. de 2024
fzero is a more robust solver (as long as there is only one variable) than fsolve. With more than 1 variable, you have no choice as fzero would not apply. If you have a bracket around the solution where there is a change of sign, then fzero will always generate a solution.
If you have no bracket around the root, then fzero uses a fairly simple scheme to try to find a bracket (but it is not terribly intelligent in this respect.) Once it has one, then it can just drop into the default algorithm.
Is there some magic way you can be assured of finding a bracket? NO. I can always generate a function where a bracket can never be found, even though technically, one exists. There is no mathematical trick that will insure a bracket will be found. And one thing I observe with your function, if you go too far out, then you will see numerical problems.
Can you just sample the function at some set of points, and look to see if there is a pair that form a brcket? Yes. Of course. This is a simple scheme. As long as your function is reasonably smooth, you do not even need the points to be terribly close together. And if it is fairly smooth, very often the simple scheme fzero uses internally is sufficient to find the bracket on its own.
You said that sometimes, you had issues with fzero, on some problems. Is there any way to ALWAYS insure a solution will be found for ANY problem? OF COURSE NOT! For some problems, numerical issues may interfere. You may be experiencing underflows or overflows. You may be able to scale things to avoid that, but we have not been shown which which cases had a problem. Possibly, for some choices of parameters, no solution exists at all.
@Torsten Thanks a lot for the awesome code, detailing the way to do it :) :)
@John D'Errico Okay, I get it you mean fzero (Bisection method) is better than fsolve (True Region method).
The main way to solve my problem is to find a right Bracket. Can you elaborate your statement if I go too far in my function, then I will see numerical problems.
I just got an idea, my variation in the 2 constant parameters of the function are based on real world scenarios (have a length constraint, thereby they have a minimum and a maximum range). In that case, I can plot this function with the minimum (dd = 0.01, vv=0.98) and maximum range(dd=0.98, vv = 0) and also I can get some points in the middle. This can help me to plot and see how the function varies, a visual representation is always good to understand it. I would really like to see the existence of valleys (local minimas) and flat points (I didn't understand the concept of flat points earlier, can you please explain it again).
I made a small code for this visualisation
close all
clear all
clc
x1 = 0;
y1 = 1.0;
x2 = 0.01;
y2 = 1.98;
%% plot sinh
dd = abs(x1-x2);
vv = abs(y1-y2);
L = 1.0;
func = @(a) ( (-(sqrt(L^2-vv^2)/2)) + (a.*sinh((dd/2)./a)) );
figure();
[X,Y] = fplot(func);
idx = find( diff( sign( Y(1,:) ) ) ) + 1;
plot(X,Y);
yline(0, '--','Color', 'r');
ylim([-0.5 1.5]) % ADDED
grid
When I looked at the plots for some of the range of values for dd (horizontal distance) and vv (vertical distance). I was able to understand the funcction better and I was unable to see the valley or flat point in these plots. Please do help me spot them.
  1. Normal case dd = 0.5, vv = 0
2. Maximum range dd = 0.98, vv = 0
3. This is the plot where the problem started with incorrect search region dd = 0.1069 , vv = 0.788932 .
In this plot, I earlier had a start search region of 0.2, I guess this is in the flat line and when it was made to 0.01 fzero was able to find the solution as it can see the direction of the curve in that region. I guess the problem with flat line is it does not give the direction of the curve, Am I correct ?
4. This dataset d = 0.01, v = 0.98 has a problem in zero crossing as it does not cross zero. I am not sure whether any method can find this corner case
In this case, fzero did not find a solution whereas fsolve found a solution. I guess the reason could be fzero looks for exact zero crossing and fsolve is looking for a region close to zero. Based on this I am not sure why you still call fzero as robust when compared to fsolve ? Please let me know your suggestion on this case ?
This is the code i used to arrive at a solution for this corner case
dd = 0.01; %abs(x1-x2);
vv = 0.98; %abs(y1-y2);
L = 1.0;
x0 = 0.1;
func = @(a) ( (-(sqrt(L^2-vv^2)/2)) + (a.*sinh((dd/2)./a)) );
a = abs(fsolve(func, x0));
Answer a = 9.322285907071188e-04
Thanks a lot for your answers, I believe I am very close to having a complete understanding. Please do answer me the questions I have asked above about flat points, fsolve and my approach to visualise and select a good enough bracket (as it is not always possible to get a right bracket).
I am looking forward for your answers :) :)
First, that you can always choose any start point. WRONG.
In general, that is true, but I believe that Newton-Raphson is globally convergent for strictly convex functions, which in this case it is (assuming, aa>0, dd>0). You would have to threshold the iteration updates to some lower bound lb where fun(lb)>0,
aa_new=max(lb, aa_guess - f / f_prime;)
but this should converge from any starting aa>0.
It might be a problem to get a suitable lb or to formulate more complicated updates for aa:
% Predefined parameters
dd = 0.1069;
vv = 0.7889;
L = 1;
% Define the function and its derivative
func = @(aa) ( (-(sqrt(L^2-vv^2)/2)) + (aa.*sinh((dd/2)./aa)) );
func_derivative = @(aa) sinh(dd./(2*aa)) - dd*cosh( dd./(2*aa))./(2*aa);
% Initial guess
aa_guess = 1; % You can choose any initial guess
lb = 0.1;
%lb = 0.01;
% Tolerance and maximum iterations
tol = 1e-6;
max_iter = 1000;
% Newton-Raphson method
iter = 0;
while true
iter = iter + 1;
% Evaluate the function and its derivative at the current guess
f = func(aa_guess);
f_prime = func_derivative(aa_guess);
% Newton-Raphson update rule
aa_new = max(lb,aa_guess - f / f_prime);
% Display iteration results
fprintf('Iteration %d: aa = %f, f(aa) = %f, f''(aa) = %f\n', iter, aa_guess, f, f_prime);
% Check for convergence
if (abs(aa_new - aa_guess) < tol && abs(func(aa_new)) < tol) || iter >= max_iter
break;
end
% Update the guess
aa_guess = aa_new;
end
Iteration 1: aa = 1.000000, f(aa) = -0.253785, f'(aa) = -0.000051 Iteration 2: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 3: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 4: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 5: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 6: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 7: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 8: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 9: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 10: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 11: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 12: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 13: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 14: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 15: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 16: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 17: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 18: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 19: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 20: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 21: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 22: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 23: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 24: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 25: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 26: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 27: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 28: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 29: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 30: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 31: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 32: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 33: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 34: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 35: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 36: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 37: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 38: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 39: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 40: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 41: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 42: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 43: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 44: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 45: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 46: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 47: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 48: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 49: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 50: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 51: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 52: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 53: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 54: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 55: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 56: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 57: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 58: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 59: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 60: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 61: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 62: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 63: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 64: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 65: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 66: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 67: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 68: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 69: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 70: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 71: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 72: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 73: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 74: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 75: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 76: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 77: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 78: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 79: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 80: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 81: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 82: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 83: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 84: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 85: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 86: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 87: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 88: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 89: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 90: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 91: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 92: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 93: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 94: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 95: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 96: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 97: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 98: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 99: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 100: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 101: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 102: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 103: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 104: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 105: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 106: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 107: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 108: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 109: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 110: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 111: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 112: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 113: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 114: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 115: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 116: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 117: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 118: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 119: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 120: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 121: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 122: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 123: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 124: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 125: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 126: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 127: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 128: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 129: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 130: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 131: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 132: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 133: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 134: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 135: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 136: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 137: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 138: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 139: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 140: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 141: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 142: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 143: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 144: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 145: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 146: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 147: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 148: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 149: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 150: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 151: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 152: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 153: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 154: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 155: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 156: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 157: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 158: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 159: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 160: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 161: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 162: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 163: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 164: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 165: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 166: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 167: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 168: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 169: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 170: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 171: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 172: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 173: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 174: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 175: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 176: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 177: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 178: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 179: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 180: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 181: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 182: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 183: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 184: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 185: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 186: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 187: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 188: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 189: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 190: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 191: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 192: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 193: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 194: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 195: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 196: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 197: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 198: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 199: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 200: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 201: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 202: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 203: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 204: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 205: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 206: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 207: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 208: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 209: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 210: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 211: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 212: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 213: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 214: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 215: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 216: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 217: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 218: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 219: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 220: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 221: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 222: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 223: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 224: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 225: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 226: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 227: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 228: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 229: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 230: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 231: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 232: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 233: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 234: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 235: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 236: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 237: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 238: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 239: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 240: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 241: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 242: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 243: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 244: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 245: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 246: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 247: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 248: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 249: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 250: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 251: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 252: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 253: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 254: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 255: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 256: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 257: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 258: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 259: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 260: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 261: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 262: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 263: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 264: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 265: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 266: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 267: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 268: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 269: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 270: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 271: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 272: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 273: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 274: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 275: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 276: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 277: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 278: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 279: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 280: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 281: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 282: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 283: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 284: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 285: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 286: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 287: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 288: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 289: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 290: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 291: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 292: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 293: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 294: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 295: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 296: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 297: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 298: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 299: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 300: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 301: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 302: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 303: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 304: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 305: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 306: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 307: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 308: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 309: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 310: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 311: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 312: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 313: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 314: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 315: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 316: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 317: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 318: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 319: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 320: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 321: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 322: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 323: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 324: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 325: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 326: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 327: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 328: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 329: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 330: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 331: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 332: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 333: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 334: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 335: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 336: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 337: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 338: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 339: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 340: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 341: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 342: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 343: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 344: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 345: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 346: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 347: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 348: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 349: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 350: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 351: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 352: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 353: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 354: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 355: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 356: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 357: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 358: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 359: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 360: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 361: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 362: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 363: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 364: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 365: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 366: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 367: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 368: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 369: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 370: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 371: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 372: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 373: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 374: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 375: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 376: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 377: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 378: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 379: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 380: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 381: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 382: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 383: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 384: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 385: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 386: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 387: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 388: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 389: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 390: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 391: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 392: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 393: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 394: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 395: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 396: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 397: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 398: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 399: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 400: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 401: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 402: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 403: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 404: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 405: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 406: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 407: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 408: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 409: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 410: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 411: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 412: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 413: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 414: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 415: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 416: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 417: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 418: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 419: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 420: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 421: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 422: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 423: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 424: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 425: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 426: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 427: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 428: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 429: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 430: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 431: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 432: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 433: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 434: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 435: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 436: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 437: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 438: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 439: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 440: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 441: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 442: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 443: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 444: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 445: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 446: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 447: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 448: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 449: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 450: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 451: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 452: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 453: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 454: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 455: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 456: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 457: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 458: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 459: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 460: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 461: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 462: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 463: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 464: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 465: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 466: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 467: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 468: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 469: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 470: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 471: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 472: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 473: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 474: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 475: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 476: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 477: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 478: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 479: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 480: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 481: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 482: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 483: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 484: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 485: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 486: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 487: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 488: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 489: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 490: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 491: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 492: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 493: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 494: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 495: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 496: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 497: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 498: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 499: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 500: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 501: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 502: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 503: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 504: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 505: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 506: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 507: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 508: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 509: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 510: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 511: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 512: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 513: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 514: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 515: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 516: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 517: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 518: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 519: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 520: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 521: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 522: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 523: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 524: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 525: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 526: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 527: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 528: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 529: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 530: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 531: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 532: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 533: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 534: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 535: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 536: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 537: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 538: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 539: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 540: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 541: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 542: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 543: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 544: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 545: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 546: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 547: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 548: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 549: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 550: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 551: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 552: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 553: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 554: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 555: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 556: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 557: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 558: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 559: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 560: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 561: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 562: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 563: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 564: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 565: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 566: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 567: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 568: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 569: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 570: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 571: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 572: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 573: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 574: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 575: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 576: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 577: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 578: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 579: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 580: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 581: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 582: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 583: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 584: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 585: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 586: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 587: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 588: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 589: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 590: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 591: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 592: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 593: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 594: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 595: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 596: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 597: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 598: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 599: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 600: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 601: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 602: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 603: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 604: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 605: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 606: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 607: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 608: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 609: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 610: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 611: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 612: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 613: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 614: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 615: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 616: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 617: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 618: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 619: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 620: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 621: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 622: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 623: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 624: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 625: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 626: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 627: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 628: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 629: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 630: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 631: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 632: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 633: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 634: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 635: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 636: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 637: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 638: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 639: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 640: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 641: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 642: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 643: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 644: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 645: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 646: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 647: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 648: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 649: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 650: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 651: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 652: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 653: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 654: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 655: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 656: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 657: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 658: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 659: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 660: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 661: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 662: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 663: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 664: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 665: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 666: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 667: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 668: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 669: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 670: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 671: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 672: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 673: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 674: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 675: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 676: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 677: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 678: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 679: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 680: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 681: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 682: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 683: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 684: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 685: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 686: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 687: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 688: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 689: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 690: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 691: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 692: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 693: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 694: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 695: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 696: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 697: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 698: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 699: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 700: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 701: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 702: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 703: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 704: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 705: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 706: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 707: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 708: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 709: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 710: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 711: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 712: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 713: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 714: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 715: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 716: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 717: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 718: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 719: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 720: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 721: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 722: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 723: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 724: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 725: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 726: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 727: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 728: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 729: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 730: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 731: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 732: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 733: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 734: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 735: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 736: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 737: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 738: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 739: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 740: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 741: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 742: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 743: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 744: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 745: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 746: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 747: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 748: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 749: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 750: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 751: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 752: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 753: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 754: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 755: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 756: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 757: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 758: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 759: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 760: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 761: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 762: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 763: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 764: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 765: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 766: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 767: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 768: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 769: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 770: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 771: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 772: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 773: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 774: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 775: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 776: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 777: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 778: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 779: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 780: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 781: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 782: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 783: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 784: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 785: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 786: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 787: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 788: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 789: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 790: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 791: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 792: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 793: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 794: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 795: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 796: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 797: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 798: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 799: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 800: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 801: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 802: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 803: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 804: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 805: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 806: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 807: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 808: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 809: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 810: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 811: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 812: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 813: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 814: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 815: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 816: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 817: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 818: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 819: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 820: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 821: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 822: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 823: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 824: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 825: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 826: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 827: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 828: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 829: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 830: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 831: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 832: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 833: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 834: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 835: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 836: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 837: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 838: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 839: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 840: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 841: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 842: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 843: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 844: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 845: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 846: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 847: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 848: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 849: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 850: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 851: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 852: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 853: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 854: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 855: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 856: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 857: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 858: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 859: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 860: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 861: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 862: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 863: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 864: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 865: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 866: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 867: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 868: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 869: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 870: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 871: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 872: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 873: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 874: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 875: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 876: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 877: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 878: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 879: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 880: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 881: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 882: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 883: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052370 Iteration 884: aa = 0.100000, f(aa) = -0.251229, f'(aa) = -0.052...
if iter >= max_iter
disp('Newton-Raphson method did not converge within maximum iterations.');
else
fprintf('Root found at aa = %f after %d iterations.\n', aa_guess, iter);
end
Newton-Raphson method did not converge within maximum iterations.
@Matt J and @Torsten Based on the examples above and trials I belive although my function is a convex function, without proper search region (lb) the newton-raphson does not converge.
@John D'Errico and @Torsten Both of your suggestions and code snippets helped me to solve my actual problem of finding the roots of the equation when the parameters vary. I final settled with by understanding the need for finding a good search region and toggling between fzero (if I have a zero crossing, sign change) and if not I started using fsolve with a decent initial guess. I will accept this answer and close the thread. Thanks a lot :)
It might be a problem to get a suitable lb or to formulate more complicated updates for aa:
Well, bisection faces the same problem. The algorithm has to find an interval where a sign change occurs at the end points. In this case, we know the function goes to Inf at aa=0, so it should be sufficient to try lb od descending magnitude, lb=0.1, 0.01,0.001,... Until a qualified lower bound is found. As shown below, it didn't take long to find one.
% Predefined parameters
dd = 0.1069;
vv = 0.7889;
L = 1;
% Define the function and its derivative
func = @(aa) ( (-(sqrt(L^2-vv^2)/2)) + (aa.*sinh((dd/2)./aa)) );
func_derivative = @(aa) sinh(dd./(2*aa)) - dd*cosh( dd./(2*aa))./(2*aa);
% Initial guess
aa_guess = 1; % You can choose any initial guess
lb = 0.01;
%lb = 0.01;
% Tolerance and maximum iterations
tol = 1e-6;
max_iter = 1000;
% Newton-Raphson method
iter = 0;
while true
iter = iter + 1;
% Evaluate the function and its derivative at the current guess
f = func(aa_guess);
f_prime = func_derivative(aa_guess);
% Newton-Raphson update rule
aa_new = max(lb,aa_guess - f / f_prime);
% Display iteration results
fprintf('Iteration %d: aa = %f, f(aa) = %f, f''(aa) = %f\n', iter, aa_guess, f, f_prime);
% Check for convergence
if (abs(aa_new - aa_guess) < tol && abs(func(aa_new)) < tol) || iter >= max_iter
break;
end
% Update the guess
aa_guess = aa_new;
end
Iteration 1: aa = 1.000000, f(aa) = -0.253785, f'(aa) = -0.000051 Iteration 2: aa = 0.010000, f(aa) = 0.740505, f'(aa) = -455.279643 Iteration 3: aa = 0.011626, f(aa) = 0.269426, f'(aa) = -178.474720 Iteration 4: aa = 0.013136, f(aa) = 0.076826, f'(aa) = -89.802472 Iteration 5: aa = 0.013992, f(aa) = 0.011672, f'(aa) = -64.368193 Iteration 6: aa = 0.014173, f(aa) = 0.000380, f'(aa) = -60.240739 Iteration 7: aa = 0.014179, f(aa) = 0.000000, f'(aa) = -60.103653
if iter >= max_iter
disp('Newton-Raphson method did not converge within maximum iterations.');
else
fprintf('Root found at aa = %f after %d iterations.\n', aa_guess, iter);
end
Root found at aa = 0.014179 after 7 iterations.

Iniciar sesión para comentar.

Más respuestas (1)

Matt J
Matt J el 9 de Feb. de 2024
Editada: Matt J el 9 de Feb. de 2024
A simple transformation of variables z=dd/2/aa makes this problem, and its solution by NR, much easier. In particular, you can then just chose 0 as the lower bound, lb, and any non-negative initial guess z>=0 should work..
% Predefined parameters
dd = 0.1069;
vv = 0.7889;
L = 1;
const= -sqrt(L^2-vv^2)/2;
% Define the function and its derivative
func = @(z) const*z + dd.*sinh(z)/2;
func_derivative = @(z) 1+dd*cosh(z)/2;
% Initial guess
z_guess = 1; % You can choose any initial guess
lb = 0;
%lb = 0.01;
% Tolerance and maximum iterations
tol = 1e-6;
max_iter = 1000;
% Newton-Raphson method
iter = 0;
while true
iter = iter + 1;
% Evaluate the function and its derivative at the current guess
f = func(z_guess);
f_prime = func_derivative(z_guess);
% Newton-Raphson update rule
z_new = max(lb,z_guess - f / f_prime);
% Display iteration results
fprintf('Iteration %d: aa = %f, f(aa) = %f, f''(aa) = %f\n', iter, z_guess, f, f_prime);
% Check for convergence
if (abs(z_new - z_guess) < tol && abs(func(z_new)) < tol) || iter >= max_iter
break;
end
% Update the guess
z_guess = z_new;
end
Iteration 1: aa = 1.000000, f(aa) = -0.244446, f'(aa) = 1.082478 Iteration 2: aa = 1.225821, f(aa) = -0.293440, f'(aa) = 1.098895 Iteration 3: aa = 1.492853, f(aa) = -0.345781, f'(aa) = 1.124926 Iteration 4: aa = 1.800234, f(aa) = -0.395843, f'(aa) = 1.166131 Iteration 5: aa = 2.139684, f(aa) = -0.433511, f'(aa) = 1.230221 Iteration 6: aa = 2.492068, f(aa) = -0.444921, f'(aa) = 1.325216 Iteration 7: aa = 2.827803, f(aa) = -0.418580, f'(aa) = 1.453454 Iteration 8: aa = 3.115793, f(aa) = -0.355863, f'(aa) = 1.603869 Iteration 9: aa = 3.337670, f(aa) = -0.274083, f'(aa) = 1.753351 Iteration 10: aa = 3.493990, f(aa) = -0.194671, f'(aa) = 1.880519 Iteration 11: aa = 3.597510, f(aa) = -0.130451, f'(aa) = 1.976387 Iteration 12: aa = 3.663514, f(aa) = -0.084114, f'(aa) = 2.042911 Iteration 13: aa = 3.704688, f(aa) = -0.052930, f'(aa) = 2.086691 Iteration 14: aa = 3.730053, f(aa) = -0.032807, f'(aa) = 2.114575 Iteration 15: aa = 3.745568, f(aa) = -0.020147, f'(aa) = 2.131982 Iteration 16: aa = 3.755018, f(aa) = -0.012303, f'(aa) = 2.142718 Iteration 17: aa = 3.760759, f(aa) = -0.007487, f'(aa) = 2.149290 Iteration 18: aa = 3.764243, f(aa) = -0.004547, f'(aa) = 2.153297 Iteration 19: aa = 3.766354, f(aa) = -0.002758, f'(aa) = 2.155732 Iteration 20: aa = 3.767634, f(aa) = -0.001671, f'(aa) = 2.157210 Iteration 21: aa = 3.768409, f(aa) = -0.001013, f'(aa) = 2.158106 Iteration 22: aa = 3.768878, f(aa) = -0.000613, f'(aa) = 2.158649 Iteration 23: aa = 3.769162, f(aa) = -0.000371, f'(aa) = 2.158978 Iteration 24: aa = 3.769334, f(aa) = -0.000225, f'(aa) = 2.159177 Iteration 25: aa = 3.769438, f(aa) = -0.000136, f'(aa) = 2.159297 Iteration 26: aa = 3.769501, f(aa) = -0.000082, f'(aa) = 2.159370 Iteration 27: aa = 3.769539, f(aa) = -0.000050, f'(aa) = 2.159414 Iteration 28: aa = 3.769562, f(aa) = -0.000030, f'(aa) = 2.159441 Iteration 29: aa = 3.769576, f(aa) = -0.000018, f'(aa) = 2.159457 Iteration 30: aa = 3.769585, f(aa) = -0.000011, f'(aa) = 2.159467 Iteration 31: aa = 3.769590, f(aa) = -0.000007, f'(aa) = 2.159473 Iteration 32: aa = 3.769593, f(aa) = -0.000004, f'(aa) = 2.159477 Iteration 33: aa = 3.769595, f(aa) = -0.000002, f'(aa) = 2.159479 Iteration 34: aa = 3.769596, f(aa) = -0.000001, f'(aa) = 2.159480
aa= dd/2/z_guess; %undo change of variables
if iter >= max_iter
disp('Newton-Raphson method did not converge within maximum iterations.');
else
fprintf('Root found at aa = %f after %d iterations.\n', aa, iter);
end
Root found at aa = 0.014179 after 34 iterations.

Productos

Versión

R2021b

Preguntada:

el 7 de Feb. de 2024

Editada:

el 9 de Feb. de 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by