You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
Newton Raphson implementation, not converging, maybe error in implementation
27 views (last 30 days)
Show older comments
VIGNESH BALAJI
on 7 Feb 2024
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 Comments
VIGNESH BALAJI
on 7 Feb 2024
@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 ?
Dyuman Joshi
on 7 Feb 2024
"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
John D'Errico
on 7 Feb 2024
Edited: John D'Errico
on 7 Feb 2024
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.
Accepted Answer
John D'Errico
on 7 Feb 2024
Edited: John D'Errico
on 7 Feb 2024
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 Comments
VIGNESH BALAJI
on 7 Feb 2024
@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.
Torsten
on 7 Feb 2024
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.
VIGNESH BALAJI
on 7 Feb 2024
@Torsten Thanks for your answer.
I have few questions in your suggestion to understand it more.
- Why do you prefer fzero over folve ?
- 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.
Torsten
on 7 Feb 2024
Edited: Torsten
on 7 Feb 2024
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
on 7 Feb 2024
Edited: John D'Errico
on 7 Feb 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.
VIGNESH BALAJI
on 7 Feb 2024
@Torsten Thanks a lot for the awesome code, detailing the way to do it :) :)
VIGNESH BALAJI
on 7 Feb 2024
@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.
- 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 :) :)
Matt J
on 7 Feb 2024
Edited: Matt J
on 7 Feb 2024
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.
Torsten
on 7 Feb 2024
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.
VIGNESH BALAJI
on 9 Feb 2024
VIGNESH BALAJI
on 9 Feb 2024
@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 :)
Matt J
on 9 Feb 2024
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.
More Answers (1)
Matt J
on 9 Feb 2024
Edited: Matt J
on 9 Feb 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.
See Also
Categories
Find more on Sparse Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)