[Users-fr] produit tensoriel et décodage inverse des indices

Stéphane Mottelet stephane.mottelet at utc.fr
Mar 11 Sep 23:31:19 CEST 2018


Bonsoir,

Tu n'as pas besoin de faire si compliqué. Voilà ce que je te propose, 
avec quelques commentaires

//Calcul des variables auxiliaires
u=sign(X1)*(abs(X1))^(1/3);
v=sign(X2)*(abs(X2))^(1/3);

u_anal=u*[1 exp(-2*%i*%pi/3) exp(2*%i*%pi/3)];
v_anal=v*[1 exp(2*%i*%pi/3) exp(-2*%i*%pi/3)];

K_sol_anal=u_anal+v_anal;

vect_pol=[-a0,1,0,1];
polyno=poly(vect_pol,'X','coeff');
K_sol_num=roots(polyno)

-Pour le calcul de u et v, attention à l'écriture x^y avec y non entier 
et x un nombre complexe. Dans Scilab cela te donnera toujours

abs(x)^y*exp(%i*atan(imag(x),real(x))*y)

Si tu veux la fonction racine cubique appliquée à x un nombre réel, 
éventuellement négatif, il faut faire comme ça dans Scilab

sign(x)*abs(x)^(1/3)

-Dans u_anal et v_anal l'ordre des racines est arbitraire, donc tu peux 
le choisir de manière à ce qu'elles donnent le bon produit directement

S.


Le 11/09/2018 à 19:42, jlb a écrit :
>
> Bonsoir Stephane,
>
> Merci, effectivement c'est une matrice de rang 2 (pas 1), et le 
> produit tensoriel coincide avec le produit (extérieur ?) des 2 
> vecteurs. Je ne m'en souvenais plus. Par contre le problème de 
> décodage me semble entier.
>
> Pour [i,j] le décodage me semble équivalent à ce que j'ai fait, il me 
> faut de toute façon  les lignes supplémentaires du script.
>
> Je sors donc une liste en 1D (indice_anal) par la même instruction 
> find que vous, puis je la décode par division modulo 3.
>
> Pardon pour l'auto documentation inexistante.
>
> JLuc
>
>
> On 09/11/18 18:46, Stéphane Mottelet wrote:
>> Bonsoir,
>>
>> Le 11/09/2018 à 18:44, jlb a écrit :
>>>
>>> Bonsoir Rafael,
>>>
>>> la procédure est d'abord de calculer les racines de l'équation du 
>>> 2eme degré.
>>>
>>> ensuite on prend les racines cubiques. Jusque la ça va, mais ensuite 
>>> il faut un algorithme de tri pour sélectionner les racines u et v 
>>> dont le produit est uv= -p/3.
>>>
>>> C'est cet algorithme qui complique tout. La solution que j'ai 
>>> trouvée consiste à calculer tous les produits possibles ui vj, donc 
>>> un produit tensoriel, puis à isoler ceux qui égalent -p/3.
>>>
>>> Vous pouvez constater en sortant le "tenseur" uv_anal, que ces 
>>> produits, -0.3333... se retrouvent à des endroits arbitraires 
>>> (qu'ils se trouvent
>>>
>> C'est juste une matrice de rang 1 que l'on peut obtenir comme ça non ?
>>
>> uv_anal=u_anal'*v_anal;
>>>
>>> sur la diagonale me semble une coincidence ?). J'ai fait une 
>>> recherche par division modulo 3, mais il y a eu quelques pièges...
>>>
>>> ensuite j'obtiens les produits i, j de telle sorte que Z_sol_anal = 
>>> ui + vj avec ui vj = -p/3 (=-0.33.. dans ce cas)
>>>
>>> C'est pourquoi je recherche une procédure i x j ----> i,j
>>>
>> [i,j]=find(...)
>>
>> S.
>>
>>> JLuc
>>>
>>>
>>>
>>> On 09/11/18 17:55, Rafael Guerra wrote:
>>>>
>>>> Bonsoir JLuc,
>>>>
>>>> Pourquoi faire simple quand vous pouvez le rendre compliqué…
>>>>
>>>> La relation entre votre produit tensoriel et l'article Wikipedia 
>>>> fourni n'est pas évidente du tout.
>>>>
>>>> Pourriez-vous être plus explicite sur ce que vous attendez du 
>>>> produit tensoriel?
>>>>
>>>> Cordialement,
>>>>
>>>> Rafale
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> users-fr mailing list
>>>> users-fr at lists.scilab.org
>>>> http://lists.scilab.org/mailman/listinfo/users-fr
>>>
>>>
>>>
>>> _______________________________________________
>>> users-fr mailing list
>>> users-fr at lists.scilab.org
>>> https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users-fr
>>
>>
>> -- 
>> Stéphane Mottelet
>> Ingénieur de recherche
>> EA 4297 Transformations Intégrées de la Matière Renouvelable
>> Département Génie des Procédés Industriels
>> Sorbonne Universités - Université de Technologie de Compiègne
>> CS 60319, 60203 Compiègne cedex
>> Tel : +33(0)344234688
>> http://www.utc.fr/~mottelet
>> http://www.utc.fr/~mottelet
>>
>>
>> _______________________________________________
>> users-fr mailing list
>> users-fr at lists.scilab.org
>> http://lists.scilab.org/mailman/listinfo/users-fr
>
>
>
> _______________________________________________
> users-fr mailing list
> users-fr at lists.scilab.org
> https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users-fr

-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://lists.scilab.org/pipermail/users-fr/attachments/20180911/1b80067f/attachment.htm>


Plus d'informations sur la liste de diffusion users-fr