Инструкция решение СЛАУ(Система линейных алгебраических уравнений) с помощью sympy
from sympy import *
import numpy
➖sympy - библиотека для символьной математики
➖numpy - библиотека для численных вычислений
a1, a2 = symbols('a1, a2')
eq1 = 4.1 * a1 + 3.9 * a2 - 4
eq2 = 4.7 * a1 + 4.2 * a2 - 4.3➖symbols('a1, a2') говорит SymPy: «будут переменные a1 и a2».
➖eq1 и eq2 - это выражения, которые равны нулю, если уравнение истинно. То есть 4.1*a1 + 3.9*a2 - 4 == 0
nonlinsolve([eq1, eq2], [a1, a2])
➖nonlinsolve - общий решатель систем (подходит и для нелинейных).
linsolve([eq1, eq2], [a1, a2])
➖linsolve - специализированный решатель линейных систем.
X_augmented = Matrix([[4.1, 3.9, 4], [4.7, 4.2, 4.3]])
➖ Это таблица коэффициентов вместе со столбцом свободных членов: каждый ряд, одно уравнение:
[4.1 3.9 | 4]
[4.7 4.2 | 4.3]
X = Matrix([[4.1, 3.9], [4.7, 4.2]])
a = Matrix(symbols('a1 a2')) # столбец [a1, a2]^T
b = Matrix([4, 4.3]) # столбец правых частей
X * a # даёт столбец: [4.1*a1 + 3.9*a2, 4.7*a1 + 4.2*a2]
X * a - b # "остаток" — если подставить правильные a1,a2, будет ноль
➖Представление системы в матричной форме: X * a = b.
➖Если подставить найденные значения a1 и a2, то X*a - b станет нулевым вектором
#sympy