2017-09-22 8 views
1

Ich benutze Python v.3.6 läuft auf der Jupyter QtConsole. Ich versuche, eine lineare Algebra in einem Datensatz zu verwenden, indem ich Sympy für ein persönliches Projekt verwende, das Vorhersagen mit Umfragewerten verbindet.sympy Problem ein lineares System zu lösen

Im Wesentlichen habe ich eine erweiterte Matrix mit N = 14 linearen Gleichungen und M = 5 Unbekannten eingerichtet und versuche das System zu lösen. Mein Problem ist, dass, wenn ich den solve_linear_system Befehl auf meiner erweiterten Matrix verwenden, ich habe keine Ausgabe für meinen Code erhalten:

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) 
>> 

Kann jemand erklären, was das Problem sein könnte und wie die Situation zu verbessern? Ich habe andere Matrizen ausprobiert und es scheint mit ihnen zu funktionieren, also gibt es etwas grundlegend falsches mit dem, was ich Sympy Todo frage, oder ist es die Methode? Danke.

Antwort

1

Der Grund ist, dass es in Bezug auf das erweiterte System keine Lösungen gibt.
(wahrscheinlich zu viele Einschränkungen, können Sie versuchen, es zu entspannen, indem sie einige der überflüssigen Gleichungen eliminiert)

Wenn Sie starren auf Ihre Matrix für eine kleine Weile, werden Sie feststellen, dass es nicht kompatibel Gleichungen, sind zum Beispiel Reihen 2 & 3: (0,0, -1,0, -1,3), (0,0, -1,0, -1,2), oder Zeilen 0 und 1: (1,1, -1, 0,0,1), (1,1, -1,0,0,2). Es kann auch redundante geben.

+0

Danke für die rechtzeitige Antwort, noch habe ich 7 Gleichungen (die, wo der letzte Wert nicht gleich 2 war) und immer noch keine Ausgabe, mehr als das und Sorgen über einige Informationsverlust. Aber wenn das die einzige Lösung ist, kann ich darüber nachdenken, mehr darüber nachzudenken? – Jonesn11

+0

Wenn Sie eine Weile auf Ihre Matrix starren, werden Sie feststellen, dass es inkompatible Gleichungen gibt, zum Beispiel Zeilen 2 und 3: '(0,0, -1,0, -1,3), (0,0 , -1,0, -1,2) ', oder Zeilen 0 und 1:' (1,1, -1,0,0,1), (1,1, -1,0,0,2) ' . Es kann auch redundante geben. –

+0

Richtig, das macht Sinn. Aber wenn ich es auch mit allen Gleichungen außer denen, die gleich 2 sind, ausprobieren würde, wäre es dann immer noch in der Lage, eine Lösung zu finden? – Jonesn11

Verwandte Themen