<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Bonjour,</p>
<p>Ma source, tout simplement Wikipedia.</p>
<p><a class="moz-txt-link-freetext" href="https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Cardan">https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Cardan</a><br>
</p>
<p>Merci pour ce très beau texte !</p>
<p> Mon erreur provient probablement de la formule 8 de Cardan dans
ce texte, où la solution est exprimée en fonction des angles 2PI/3
avec une inversion des coefficients.</p>
<p>Je l'avais vérifié sur mes résultats, les parties réelles étaient
correctes, mais les parties imaginaires non.<br>
</p>
<p>Cela dit, le décodage des indices d'un produit tensoriel en
indices des matrices du produit (donc le passage i*j vers (i,j)
est le coeur de ma question. Peut-être existe-til une fonction de
type matrice dans scilab ?</p>
<p>JLuc<br>
</p>
<span>-------------------------<br>
Jean-Luc <span class="SpellE">BABIGEON</span> <br>
CNRS/Lal/<span class="SpellE">Dacc</span> <br>
<span class="SpellE">Laboratoire</span> de <span class="SpellE">L'accélérateur</span>
<span class="SpellE">Linéaire</span> <br>
Centre <span class="SpellE">scientifique</span> d'Orsay - Bat 200
- BP 34 <br>
91898 - Orsay Cedex <br>
<span class="SpellE">tel</span> 0164468247 <span class="SpellE">ou</span>
8427 <a moz-do-not-send="true"
href="mailto:-babigeon@lal.in2p3.fr">
-babigeon@lal.in2p3.fr</a> </span><span></span>
<br>
<br>
<div class="moz-cite-prefix">On 09/11/18 11:04, Rafael Guerra wrote:<br>
</div>
<blockquote
cite="mid:VI1PR04MB4109A5E50CACF03441A85995CC040@VI1PR04MB4109.eurprd04.prod.outlook.com"
type="cite">
<meta http-equiv="Context-Type" content="text/html;
charset=iso-8859-1">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 15">
<meta name="Originator" content="Microsoft Word 15">
<div class="WordSection1">
<p class="MsoNormal"><span lang="FR">Bonjour,</span></p>
<p class="MsoNormal"><span lang="FR"> </span></p>
<p class="MsoNormal"><span lang="FR">Avez-vous une référence
pour les formules analytiques que vous essayez d'implémenter
dans Scilab?</span></p>
<p class="MsoNormal"><span lang="FR"> </span></p>
<p class="MsoNormal"><span lang="FR">Il me semble que la
référence ci-dessous conduit à une implémentation plus
simple:</span></p>
<p class="MsoNormal"><span lang="FR"><a moz-do-not-send="true"
href="https://www.ias.ac.in/article/fulltext/reso/011/08/0053-0061">https://www.ias.ac.in/article/fulltext/reso/011/08/0053-0061</a></span></p>
<p class="MsoNormal"><span lang="FR"> </span></p>
<p class="MsoNormal"><span class="SpellE"><span>Cordialement</span></span><span>,</span></p>
<p class="MsoNormal"><span lang="FR">Rafael</span></p>
<p class="MsoNormal"><span lang="FR"> </span></p>
<p class="MsoNormal"><span lang="FR"> </span></p>
<div>
<div>
<p class="MsoNormal"><b><span>From:</span></b><span> users-<span
class="SpellE">fr</span>
<a class="moz-txt-link-rfc2396E" href="mailto:users-fr-bounces@lists.scilab.org"><users-fr-bounces@lists.scilab.org></a> <b><span>On
Behalf Of
</span></b><span class="SpellE">jlb</span><br>
<b><span>Sent:</span></b> Tuesday, September 11, 2018
10:51 AM<br>
<b><span>To:</span></b> <a class="moz-txt-link-abbreviated" href="mailto:users-fr@lists.scilab.org">users-fr@lists.scilab.org</a><br>
<b><span>Subject:</span></b> [Users-<span class="SpellE">fr</span>]
<span class="SpellE">produit</span> <span
class="SpellE">tensoriel</span> et <span
class="SpellE">
décodage</span> inverse des indices</span></p>
</div>
</div>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Bonjour,<br>
<br>
Pour la <span class="SpellE">compréhension</span> <span
class="SpellE">uniquement</span>,
<span class="SpellE">j'essaie</span> de comparer <span
class="SpellE">une</span> <span class="SpellE">
résolution</span> <span class="SpellE">analytique</span>
de Tartaglia Cardan avec la solution
<span class="SpellE">numérique</span> de <span
class="SpellE">scilab</span>.<br>
<br>
Voila le script<br>
<br>
//<br>
//<span class="SpellE">stacksize</span>('max');<br>
<br>
Z0=1; <br>
Z02=1; <br>
a0=(Z02/Z0)^2;<br>
<br>
//Determination du <span class="SpellE">facteur</span> K
par resolution <span class="SpellE">
analytique</span> (Tartaglia-Cardan)<br>
//Resolution de l equation K^3 + K -a0 = 0 avec
a0=(Z02/Z0)^2<br>
<br>
//determinant <span class="SpellE">auxiliaire</span> de l
equation X2 -a0X -1/27 =0<br>
<span class="SpellE">delta_aux</span>=(-a0)^2 +
(4/27)*(1)^3;<br>
//<span class="SpellE">delta_aux</span> <span
class="SpellE">est</span> <span class="SpellE">
toujours</span> <span class="SpellE">positif</span><br>
<br>
//<span class="SpellE">racines</span> <span class="SpellE">auxiliaires</span><br>
X1=(1/2)*(+a0+sqrt(<span class="SpellE">delta_aux</span>) );<br>
X2=(1/2)*(+a0-sqrt(<span class="SpellE">delta_aux</span>) );<br>
<br>
//<span class="SpellE">Calcul</span> des variables <span
class="SpellE">auxiliaires</span><br>
u=(X1)^(1/3);<br>
v=(X2)^(1/3);<br>
<br>
v=-v*<span class="SpellE">exp</span>(-%i*<span
class="SpellE">atan</span>(<span class="SpellE">imag</span>(v)/real(v)));
//<span class="SpellE">choix</span> de la solution
<span class="SpellE">reelle</span> car <span class="SpellE">scilab</span>
ne <span class="SpellE">
previent</span> pas !!<br>
<br>
u_1=u;<br>
u_2=u*( cos(2*%pi/3)+%i*sin(2*%pi/3) );<br>
u_3=u*( cos(-2*%pi/3) +%i*sin(-2*%pi/3) );<br>
<br>
v_1=v;<br>
v_2=v*( cos(2*%pi/3)+%i*sin(2*%pi/3) );<br>
v_3=v*( cos(-2*%pi/3) +%i*sin(-2*%pi/3) );<br>
<br>
<span class="SpellE">u_anal</span>=[u_1,u_2,u_3];<br>
<span class="SpellE">v_anal</span>=[v_1,v_2,v_3];<br>
<br>
<span class="SpellE">uv_anal</span>=<span class="SpellE">u_anal</span>.*.<span
class="SpellE">v_anal</span>';<br>
<br>
<span class="SpellE">indice_anal</span>=find(real(<span
class="SpellE">uv_anal</span>+(1/3)*ones(3,3)) <10^(-5)
);<br>
<br>
<span class="SpellE">col_u_anal</span>=ceil(<span
class="SpellE">indice_anal</span>./(3*ones(1,size(<span
class="SpellE">indice_anal</span>)(2))));<br>
<br>
<span class="SpellE">modulo_v_anal</span>=modulo(<span
class="SpellE">indice_anal,size</span>(uv_anal,2) );<br>
<br>
for j=1:1:size(uv_anal,2)<br>
if <span class="SpellE">modulo_v_anal</span>(j)==0 then<br>
<span class="SpellE">modulo_v_anal</span>(j)=3;<br>
end<br>
<span class="SpellE">end</span>;<br>
for j=1:1:size(uv_anal,2)<br>
<span class="SpellE">u_anal</span>(j)=<span
class="SpellE">u_anal</span>(<span class="SpellE">col_u_anal</span>(j))<br>
<span class="SpellE">v_anal</span>(j)=<span
class="SpellE">v_anal</span>(<span class="SpellE">modulo_v_anal</span>(j))<br>
end;<br>
<br>
<span class="SpellE">K_sol_anal</span>=<span class="SpellE">u_anal+v_anal</span>;<br>
<br>
//determination de K par <span class="SpellE">methode</span>
<span class="SpellE">
numerique</span><br>
<br>
<span class="SpellE">vect_pol</span>=[-a0,1,0,1];<br>
<span class="SpellE">polyno</span>=poly(vect_pol,'X','<span
class="SpellE">coeff</span>');<br>
<span class="SpellE">K_sol_num</span>=roots(<span
class="SpellE">polyno</span>);<br>
<br>
*********************************************<br>
<br>
<span class="SpellE">Evidemment</span> <span class="SpellE">c'est</span>
loin d'être
<span class="SpellE">optimisé</span> (!) <span
class="SpellE">mais</span> surtout
<span class="SpellE">j'ai</span> du mal à <span
class="SpellE">décoder</span> les indices du
<span class="SpellE">produit</span> <span class="SpellE">tensoriel</span>
des solutions
<span class="SpellE">u_anal</span> et <span class="SpellE">v_anal</span>.
Mon <span class="SpellE">
algorithme</span> ne <span class="SpellE">fonctionne</span>
pas, à mon <span class="SpellE">
avis</span> <span class="SpellE">il</span> y a <span
class="SpellE">une</span> <span class="SpellE">
erreur</span> <span class="SpellE">dans</span> les <span
class="SpellE">boucles</span> de la fin.
<br>
<br>
De <span class="SpellE">façon</span> <span class="SpellE">général</span>,
comment
<span class="SpellE">remonter</span> <span class="SpellE">proprement</span>
de la
<span class="SpellE">matrice</span> <span class="SpellE">tij</span>
= xi prod <span class="SpellE">
yj</span> <br>
<span class="SpellE">où</span> prod <span class="SpellE">est</span>
le <span class="SpellE">
produit</span> <span class="SpellE">tensoriel</span> ???<br>
<br>
Merci pour <span class="SpellE">vos</span> <span
class="SpellE">avis</span><br>
Bien <span class="SpellE">cordialement</span>,<br>
<span class="SpellE">JLuc</span><br>
<br>
</span><span></span><br>
</p>
</div>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
users-fr mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users-fr@lists.scilab.org">users-fr@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users-fr">http://lists.scilab.org/mailman/listinfo/users-fr</a>
</pre>
</blockquote>
<br>
</body>
</html>