Найти в Дзене
Георгий Багаев

Системы линейных уравнений

Доброго времени суток, сегодня поговорим о системах линейных уравнений, что это, зачем они нужны и как их посчитать в коде с помощью языка программирования Python. Для чего нужна линейная алгебра и ее алгоритмы в частности решение систем линейных уравнений? Линейная алгебра — это раздел математики, который чрезвычайно полезен в Data Science и машинном обучении. Владение линейной алгеброй — это также самый важный математический навык в машинном обучении. Большинство моделей машинного обучения могут быть выражены в матричном виде. Сам набор данных часто представляется в виде матрицы. Линейная алгебра используется при предварительной обработке данных, в преобразовании данных и оценке моделей. Вот темы, с которыми вы должны быть знакомы: Система линейных уравнений— система уравнений, каждое уравнение в которой является линейным алгебраическим уравнением первой степени. Общий вид системы линейных алгебраических уравнений: Матричная запись систем линейных уравнений Чтобы понять, как постро

Доброго времени суток, сегодня поговорим о системах линейных уравнений, что это, зачем они нужны и как их посчитать в коде с помощью языка программирования Python.

Для чего нужна линейная алгебра и ее алгоритмы в частности решение систем линейных уравнений?

Линейная алгебра — это раздел математики, который чрезвычайно полезен в Data Science и машинном обучении. Владение линейной алгеброй — это также самый важный математический навык в машинном обучении. Большинство моделей машинного обучения могут быть выражены в матричном виде. Сам набор данных часто представляется в виде матрицы. Линейная алгебра используется при предварительной обработке данных, в преобразовании данных и оценке моделей. Вот темы, с которыми вы должны быть знакомы:

  • Векторы.
  • Матрицы.
  • Транспонирование матрицы.
  • Обратная матрица.
  • Определитель матрицы.
  • След матрицы.
  • Скалярное произведение.
  • Собственные значения.
  • Собственные векторы.

Система линейных уравнений— система уравнений, каждое уравнение в которой является линейным алгебраическим уравнением первой степени.

Общий вид системы линейных алгебраических уравнений:

Матричная запись систем линейных уравнений

Чтобы понять, как построение прямой зависит от данных и какие в этом процессе могут быть сложности, обратимся к линейной алгебре и геометрии. Нам понадобятся матричные произведения.

Система линейных алгебраических уравнений может быть представлена в матричной форме как:

-2

С помощью произведения матрицы на вектор можно представить систему уравнений. Для этого нужно:

  • собрать коэффициенты при переменных системы в матрицу
  • справа домножить её на вектор-столбец самих переменных k и m
  • и приравнять полученное произведение вектору из значений правой части системы.

Систему линейных уравнений можно представить в виде Av=y,

где A — матрица, v и y — векторы. Этот вид называется матричной формой записи системы.

Подумаем, как можно решить матричное уравнение вида. Av=y.

Если матрица A имеет обратную, то мы можем умножить обе части равенства на A^{-1} и сразу найти вектор v:

Av=y,

A^−1Av=A^−1y,

v=A^−1y.

^ - возведение в степень.

Другими словами, так мы можем решить нашу систему!

Давайте рассмотрим это на примере.

Для расчёта обратной матрицы воспользуемся Python.

Задача.

Найдите решение данной системы линейных уравнений с помощью Python. Результат сохраните в переменной result и выведите.

​2k2​+m=9,

k2​+m=−4,

k1​−3k2​+m​=​9

Решение системы линейных уравнений с помощью языка программирования Python.
Решение системы линейных уравнений с помощью языка программирования Python.

# Задаём систему в матричном виде.

import numpy as np

A = np.array([[0, 2, 1],

[0, -1, 1],

[-1, -3, 1],

])

y = np.array([ 9, -4, 9])

# Считаем обратную матрицу.

A_inv = np.linalg.inv(A)

# Находим решение системы.

result = A_inv @ y

print( result)

Результат вычислений системы уравнений.
Результат вычислений системы уравнений.

Здесь используется библиотека numpy. Она подключается оператором import -"import numpy as np".

Для того чтобы , библиотека numpy заработала необходимо установить ее сначала , командой pip install numpy и убедитесь , что используете последнюю версию Python. Команду необходимо вводить в cmd.exe.

В других ОС, существуют подобные командные строки, я работаю в операционной системе Windows.

Ссылка на другую мою статью, про обратные матрицы и транспонирование матриц: https://dzen.ru/media/id/5f572502b7204709f04ab67c/primer-vychisleniia-obratnoi-matricy-v-kode-na-iazyke-programmirovaniia-python-640ae49697036f7610331184

Чтобы запустить этот код в среде разработки Python нужно в меню выбрать пункт File->New File, в появившемся окне набрать код или скопировать его туда, проверить ошибки, в меню появившегося окна выбрать Run->Run Module, программа выполнится.

Вот-так, относительно просто можно получить обратные матрицы и транспонировать матрицы в языке программирования Python.

Маленькая просьба, поставить лайк в Дзене, если Вам понравилась публикация и подписаться, это поможет развитию канала: https://dzen.ru/id/5f572502b7204709f04ab67c