Bien le bonjour,

Fraîchement initié à Python, je cherche à résoudre un système de 24 équations à 24 inconnues (rien que ça) à l'aide de la fonction "solve" de la bibliothèque Sympy.
Le but de l'opération est de déterminer les efforts et moments dans un système en fonction de paramètres (longueurs de certains éléments, masse du système et un angle de rotation entre 2 éléments).

Voici mon bout de code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
>>> from math import *
>>> from sympy import *
#Définition des paramètres particuliers
>>> m,g,Stheta,Ctheta,F = symbols('m g Stheta Ctheta F')
#Définition des paramètres - distances
>>> XAG,YAG,ZAG,XAB,YAB,ZAB,XAU,YAU,ZAU,XCH,YCH,ZCH,XCB,YCB,ZCB,XAE,YAE,ZAE,XAH,YAH,ZAH,XCE,YCE,ZCE,XCI,YCI,ZCI =symbols('XAG YAG ZAG XAB YAB ZAB XAU YAU ZAU XCH YCH ZCH XCB YCB ZCB XAE YAE ZAE XAH YAH ZAH XCE YCE ZCE XCI YCI ZCI')
#Définition des variables symboliques - Efforts et moments
>>> XA51,YA51,ZA51,LA51,MA51,XB31,YB31,LB31,MB31,XH43,YH43,ZH43,XC03,YC03,ZC03,LC03,MC03,YE04,LE04,XI64,YI64,ZI64,LI64,MI64 =symbols('XA51 YA51 ZA51 LA51 MA51 XB31 YB31 LB31 MB31 XH43 YH43 ZH43 XC03 YC03 ZC03 LC03 MC03 YE04 LE04 XI64 YI64 ZI64 LI64 MI64')
#Création de B, contenant toutes les équations
>>> B = [XB31+XA51,-m*g-F+YB31+YA51,ZA51,ZAG*m*g-ZAU*F*Ctheta+LB31-ZAB*YB31+LA51,-ZAU*F*Stheta+MB31+ZAB*XB31+MA51,-XAG*m*g+XAU*F*Ctheta+YAU*F*Stheta+XAB*YB31-YAB*XB31,XH43+XC03-XB31,YH43+YC03-YB31,ZH43+ZC03,YCH*ZH43-ZCH*YH43+LC03-LB31+ZCB*YB31,-XCH*ZH43+ZCH*XH43+MC03-MB31-ZCB*XB31,XCH*YH43-YCH*XH43-XCB*YB31+YCB*XB31,-XA51-XH43+XI64,-YA51+YE04-YH43+YI64,-ZA51-ZH43+ZI64,-LA51+LE04-ZAE*YE04-YAH*ZH43+ZAH*YH43+LI64,-MA51+XAH*ZH43-ZAH*XH43+MI64,XAE*YE04-XAH*YH43+YAH*XH43,XC03+XI64,YC03+YE04+YI64,ZC03+ZI64,-LC03-LE04+ZCE*YE04-LI64-YCI*ZI64+ZCI*YI64,-MC03-MI64+XCI*ZI64-ZCI*XI64,-XCE*YE04-XCI*YI64+YCI*XI64]
#Résolution
>>> solve(B,[XA51,YA51,ZA51,LA51,MA51,XB31,YB31,LB31,MB31,XH43,YH43,ZH43,XC03,YC03,ZC03,LC03,MC03,YE04,LE04,XI64,YI64,ZI64,LI64,MI64])
[]
Et voilà, en utilisant solve je n'obtiens qu'un maigre "[]", qui apparaît d'ailleurs après une longue minute d'attente.
J'ai consulté l'aide de Sympy, je n'y ai rien trouvé de bien concluant.

J'ai vérifié et revérifié mes équations et n'ai pas trouvé d'erreur.
Mes questions donc:
- Quelle peut être mon erreur? Pourquoi est-ce que je n'obtiens pas de résultat?
- Y aurait-il un moyen autre de résoudre ce système d'équations?

Voici un exemple de résolutions réussies d'équations (2 inconnues - 2 équations) présentée dans l'aide de Sympy:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
>>> x, y, z = symbols('x y z')
>>> solve([x*y - 7, x + y - 6], [x, y])
[(-sqrt(2) + 3, sqrt(2) + 3), (sqrt(2) + 3, -sqrt(2) + 3)]
>>> solve([x - y + 2, x + y - 3], [x, y])
{y: 5/2, x: 1/2}
Je vous remercie de l'aide que vous pourrez m'apporter,

Bien cordialement