2017-09-22 1 views
1

J'utilise Python v.3.6 en cours d'exécution sur Jupyter QtConsole. J'essaie de faire de l'algèbre linéaire sur un ensemble de données en utilisant Sympy pour un projet personnel reliant des prédictions avec des résultats d'enquête.Problème Sympy résolvant un système linéaire

En substance, j'ai mis en place une matrice augmentée, avec N = 14 équations linéaires et M = 5 inconnues, et j'essaie de résoudre le système. Mon problème est que lorsque j'utilise la commande solve_linear_system sur ma matrice augmentée, je ne reçois pas de sortie pour mon code:

import sympy 
from sympy import * 
from sympy import Matrix, solve_linear_system 
from sympy.abc import x, y, z, u, v 
system = Matrix(((1,1,-1,0,0,1),(1,1,-1,0,0,2),(0,0,-1,0,-1,3), 
(0,0,-1,0,-1,2),(0,0,0,1,0,1),(1,0,1,1,-1,2),(0,0,-1,0,-1,2),(1,0,1,0,0,1), 
(1,1,1,0,1,3),(1,1,1,0,0,2),(-1,1,0,0,-1,3),(1,-1,-1,-1,0,2),(-1,1,1,1,-1,3), 
(0,-1,0,0,0,2))) 
solve_linear_system(system, x, y, z, u, v) 
>> 

Quelqu'un peut-il expliquer ce qui pourrait être la question et comment remédier à la situation? J'ai essayé d'autres matrices et cela semble fonctionner avec elles, donc y a-t-il quelque chose de fondamentalement faux avec ce que je demande à Sympy ou est-ce la méthode? Merci.

Répondre

1

La raison en est qu'il n'y a pas de solutions au système augmenté en référence.
(probablement trop de contraintes, vous pouvez essayer de se détendre en éliminant certaines des équations superflues)

Si vous regardez à votre matrice pour un peu de temps, vous constaterez qu'il ya des équations incompatibles, par exemple, les lignes 2 & 3: (0,0, -1,0, -1,3), (0,0, -1,0, -1,2), ou les lignes 0 et 1: (1,1, -1, 0,0,1), (1,1, -1,0,0,2). Il peut aussi y avoir des redondants.

+0

Merci pour la réponse rapide, mais j'ai essayé 7 équations (celles où la dernière valeur n'a pas égalé 2) et toujours pas de sortie, pas plus que cela et de s'inquiéter de la perte d'information. Mais si c'est la seule solution, je peux envisager de l'examiner de plus près? – Jonesn11

+0

Si vous observez votre matrice pendant un petit moment, vous constaterez qu'il existe des équations incompatibles, par exemple, les rangées 2 et 3: '(0,0, -1,0, -1,3), (0,0 , -1,0, -1,2) ', ou les lignes 0 et 1:' (1,1, -1,0,0,1), (1,1, -1,0,0,2) ' . Il peut aussi y avoir des redondants. –

+0

Droit qui a du sens. Mais étant donné que je l'ai essayé aussi avec toutes les équations à l'exclusion de celles qui sont égales à 2, ne serait-il pas encore capable de trouver une solution? – Jonesn11