Python решить подмножество линейных уравнений - PullRequest
0 голосов
/ 11 марта 2020

Так что я знаю о решителе линейных алгебр sympy и numpy, но я пытаюсь сделать что-то другое. У меня нет уравнений для формирования разрешимой матрицы, чтобы я мог решать с этими библиотеками, поэтому я пытаюсь найти единственную переменную, комбинируя 2 или более уравнений. Например:

A + B + C = 2
B + C = 1

Комбинируя эти уравнения, мы видим, что получаем A + 1 = 2 или A = 1.

Как я могу go реализовать нечто подобное в python, поскольку я не могу просто создать матрицу и решить ее? Конечная цель состоит в том, чтобы в итоге получить единственную переменную, равную 0 или 1, а если это невозможно, то просто кратчайшую форму, которую она может go объединить с помощью уравнений. Чтобы добавить, коэффициенты переменных всегда будут 1, поэтому другими словами никогда не будет что-то вроде 2A + B = 3.

1 Ответ

2 голосов
/ 11 марта 2020
from sympy import *
a, b, c = symbols('a, b, c')
f1 = a+b+c
f2 = b+c
result = solve([f1-2, f2-1], (a, b, c))

Выход:

{b: 1 - c, a: 1}
...