<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<font face="Courier New, Courier, monospace">Denis, <br>
<br>
What I meant is that convergence is a limiting process. On
average, as the number of iterations rises you´ll be closer to the
limit, bu there is no guarantee that any single iteration will
bring you any closer; it may be a question of luck. Maybe (though
it would require a proof, it is not self-evident for me) in the
exact case of a single multiple root as (x - a)^n the convergence
process is monotonous, but what if you have (x - a1)* ... * (x -
an) where ak are all very similar but not identical, say, with
relative differences of the order of those reported by the
application of the regular version of roots. <br>
Regards,<br>
<br>
Federico Miyara<br>
<br>
<br>
</font>
<div class="moz-cite-prefix">On 14/01/2019 13:47, CRETE Denis wrote:<br>
</div>
<blockquote
cite="mid:73bfc1ad05ad4a648ffbf5057f891688@thalesgroup.com"
type="cite">
<pre wrap="">Thank you Frederico!
According to the page you refer to, the method seems to converge more rapidly with this factor equal to the multiplicity of the root.
About overshoot, it is well known to occur for |x|^a where a <1. But for a>1, the risk of overshoot with the Newton-Raphson method seems to be very small...
Best regards
Denis
[@@ THALES GROUP INTERNAL @@]
Unité Mixte de Physique CNRS / THALES
1 Avenue Augustin Fresnel
91767 Palaiseau CEDEx - France
Tel : +33 (0)1 69 41 58 52 Fax : +33 (0)1 69 41 58 78
e-mail :
<a class="moz-txt-link-abbreviated" href="mailto:denis.crete@thalesgroup.com">denis.crete@thalesgroup.com</a> <a class="moz-txt-link-rfc2396E" href="mailto:%20denis.crete@thalesgroup.com"><mailto:%20denis.crete@thalesgroup.com></a>
<a class="moz-txt-link-freetext" href="http://www.trt.thalesgroup.com/ump-cnrs-thales">http://www.trt.thalesgroup.com/ump-cnrs-thales</a>
<a class="moz-txt-link-freetext" href="http://www.research.thalesgroup.com">http://www.research.thalesgroup.com</a>
-----Message d'origine-----
De : users [<a class="moz-txt-link-freetext" href="mailto:users-bounces@lists.scilab.org">mailto:users-bounces@lists.scilab.org</a>] De la part de Federico Miyara
Envoyé : samedi 12 janvier 2019 07:52
À : Users mailing list for Scilab
Objet : Re: [Scilab-users] improve accuracy of roots
Denis,
I've found the correction here,
<a class="moz-txt-link-freetext" href="https://en.wikipedia.org/wiki/Newton%27s_method">https://en.wikipedia.org/wiki/Newton%27s_method</a>
It is useful to accelerate convergence in case of multiple roots, but I
guess it is not valid to apply it once to improve accuracy because of
the risk of overshoot.
Regards,
Federico Miyara
On 10/01/2019 10:32, CRETE Denis wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hello,
I tried this correction to the initial roots z:
z-4*(1+z).^4 ./([ones(z),z,z.^2,z.^3]*(C(2:5).*(1:4))')
ans =
-1. - 1.923D-13i
-1. + 1.189D-12i
-1. - 1.189D-12i
-1. - 1.919D-13i
// Evaluation of new error, (and defining Z as the intended root, i.e. here Z=-1):
z2=z-4*(z-Z).^4 ./([ones(z),z,z.^2,z.^3]*(C(2:5).*(1:4))')
z2 - Z
ans =
2.233D-08 - 1.923D-13i
-2.968D-08 + 1.189D-12i
-2.968D-08 - 1.189D-12i
2.131D-08 - 1.919D-13i
The factor 4 in the correction is a bit obscure to me, but it seems to work also for R=(3+p)^4, again with an accuracy on the roots of a ~2E-8.
HTH
Denis
-----Message d'origine-----
De : users [<a class="moz-txt-link-freetext" href="mailto:users-bounces@lists.scilab.org">mailto:users-bounces@lists.scilab.org</a>] De la part de Federico Miyara
Envoyé : jeudi 10 janvier 2019 00:32
À : <a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
Objet : [Scilab-users] improve accuracy of roots
Dear all,
Consider this code:
// Define polynomial variable
p = poly(0, 'p', 'roots');
// Define fourth degree polynomial
R = (1 + p)^4;
// Find its roots
z = roots(R)
The result (Scilab 6.0.1) is
z =
-1.0001886
-1. + 0.0001886i
-1. - 0.0001886i
-0.9998114
It should be something closer to
-1.
-1.
-1.
-1.
Using these roots
C = coeff((p-z(1))*(p-z(2))*(p-z(3))*(p-z(4)))
yield seemingly accurate coefficients
C =
1. 4. 6. 4. 1.
but
C - [1 4 6 4 1]
shows the actual error:
ans =
3.775D-15 1.243D-14 1.155D-14 4.441D-15 0.
This is acceptable for the coefficients, but the error in the roots is
too large. Somehow the errors cancel out when assembling back the
polynomial but each individual zero should be closer to the theoretical
value
Is there some way to improve the accuracy?
Regards,
Federico Miyara
---
El software de antivirus Avast ha analizado este correo electrónico en busca de virus.
<a class="moz-txt-link-freetext" href="https://www.avast.com/antivirus">https://www.avast.com/antivirus</a>
_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
</pre>
</blockquote>
<pre wrap="">
_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
</pre>
</blockquote>
<br>
<div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br /> <table style="border-top: 1px solid #D3D4DE;">
<tr>
<td style="width: 55px; padding-top: 18px;"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;" /></a></td>
<td style="width: 470px; padding-top: 17px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">Libre de virus. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank" style="color: #4453ea;">www.avast.com</a> </td>
</tr>
</table>
<a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"> </a></div></body>
</html>