Матрицы являются одними из наиболее широко используемых математических конструкций в информатике. Это особенно полезно для быстрого решения большого количества уравнений с меньшими вычислительными затратами. Используя повседневный пример, представляем основные концепции матриц и показываем, как их можно использовать для решения системы линейных уравнений.

Нам необходимо разработать быстрый алгоритм, когда нам нужно решить линейную систему уравнений большого размера. Чтобы решить систему быстрее, нам может потребоваться калькулятор с большой оперативной памятью и / или высокой тактовой частотой (ЦП). Но недостаточно, когда быстрее означает дни (или больше), если мы решаем проблему неправильно. [5]

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

Намерение

В этой статье мы рассмотрим матрицы. Решим задачу [1] яблок и апельсинов и узнаем:

  • Почему матрицы являются важными кирпичиками для решения одновременных уравнений.
  • Как использовать матрицы для одновременных уравнений.
  • Как узнать стоимость отдельных позиций с помощью матриц, когда у нас есть только общий счет.

Что такое матрицы?

Матрицы - это объекты, которые вращают и растягивают векторы. И они также являются объектами, которые позволяют нам решать такого рода проблемы.

Где в игру вступают матрицы?

Теперь мы знаем, что матрица обладает определенным свойством, которое может иметь решающее значение для разработки быстрого алгоритма или даже для доказательства того, что решение существует, или что решение имеет какое-то хорошее свойство. Следует отметить несколько важных моментов:

  • Линейную систему можно увидеть в матрично-векторной форме.
  • Матрицы выглядят как причудливый и компактный способ записать систему уравнений, простые таблицы чисел.
  • Просто взглянув на матрицу, мы сможем понять, есть ли у этой системы решение.
  • Мы также можем понять, является ли решение неотрицательным (что означает, что все компоненты решения неотрицательны) или нет. Мы не сможем прийти к такому выводу, просто взглянув на систему, не пытаясь ее решить.
  • Мы также можем утверждать, что для решения этой системы, сколько операций нам нужно (одна операция представляет собой одно сложение / вычитание / деление / умножение), даже если мы построим более крупную систему с тем же шаблоном.

Как использовать матрицы для одновременных уравнений?

Матрицы можно использовать для компактного написания и работы с системами уравнений, и ими можно манипулировать так же, как и нормальным уравнением. Это очень полезно, когда мы начинаем работать с системами уравнений. Полезно понять, как организовать матрицы для решения этих систем. [6]

Важно сделать следующее:

  • Убедитесь, что все уравнения написаны одинаково, то есть переменные должны быть в одном порядке.
  • Убедитесь, что одна сторона уравнения - это только переменные и их коэффициенты, а другая сторона - просто константы.

Пример

Допустим, мы заходим в магазин фруктов и покупаем два яблока и три апельсина, и предположим, что это стоит 8 долларов. Запишем это в это уравнение:

2a + 3b = 8

Здесь,

а = яблоко

b = апельсин

Теперь предположим, что мы идем в тот фруктовый магазин в другой день и покупаем 10 яблок и 1 апельсин. А владелец магазина берет с нас 13 долларов. Итак, уравнение:

10a + 1b = 13

Это пример задачи линейной алгебры.

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

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

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

Итак, уравнения…

2a + 3b = 8

10a + 1b = 13

Постоянные линейные коэффициенты в этих уравнениях: 2, 10, 3, 1

Это связывает входные переменные A и B с выходными данными 8 и 13. Мы можем рассматривать его как вектор [a, b], который описывает цены на яблоки и апельсины.

Здесь 8 и 13 - это стоимость (сколько мы можем купить).

Это просто одновременные уравнения, и мы можем записать их по-другому, в виде матричной задачи:

Считайте это…

[Известные значения] [Неизвестные значения] = [Вывод]

Эта матрица представляет собой объект с числами в 2, 3, 10, 1, где:

  • Наша первая поездка: 2, 3
  • Наша вторая поездка: 10, 1

Опять таки…

Операции с матрицами…

Теперь мы умножим это следующим образом:

  • Мы бы умножили элементы в строках на элементы в столбце.
  • Мы умножим верхнюю строку на этот столбец: (2 X a) + (3 X b).
  • И мы бы сказали, что (2a + 3b) равно верхней строке справа.

  • И сделайте то же самое для следующей строки, умноженная на эту строку: 10a + 1b, равна строке внизу справа.

Наконец, это похоже на наши два одновременных уравнения:

Теперь давайте проверим, что произойдет, если мы умножим эту матрицу на единичный базисный вектор (ось x).

  • Шаг 1: (2 X 1) + (3 X 0) = 2.
  • Шаг 2: (10 X 1) + (1 X 0) = 10.

Результат…

Он берет маленький единичный вектор, который мы назвали e1 hat, и преобразует его в другое место:

Сделаем это с другим базисным вектором. Умножаем 2, 3, 10, 1 на 0, 1:

  • Шаг 1: (2 X 0) + (3 X 1) = 3.
  • Шаг 2: (10 X 0) + (1 X 1) = 1.

И результат…

Другой базисный вектор e2 hat преобразуется в 3, 1:

Итак, полная картина ...

Примечание

e1 prime = изменено e1

e2 prime = изменено e2

Матрица 2, 3, 10, 1 - это функция, которая

  • Работает с входными векторами и дает нам другие выходные векторы, и
  • Он каким-то образом перемещает базисные векторы, он их трансформирует, он меняет пространство.

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

Заключение

Мы узнали, почему матрицы являются важными кирпичиками для решения одновременных уравнений и как их использовать. Я надеюсь, что эта статья дала нам представление о том, почему изучение матриц и их свойств имеет решающее значение в попытках повысить эффективность линейных решателей. Я обновлю эту статью и продолжу до следующей.

Определения используемых терминов

Одновременные уравнения

Одновременные уравнения - это два или более уравнения, каждое с равным числом неизвестных переменных, которые связаны друг с другом и являются одновременными, потому что они решаются вместе. [2]

Пример. Эти 2 уравнения содержат равное количество неизвестных переменных ...

2a + 3b = 8

10a + 1b = 13

Коэффициент

Коэффициенты - это числа, умноженные на переменные. Таким образом, для уравнения 2a + 3b = 8 коэффициенты равны 2, 3. [3]

Матрица

(Множественное число: матрицы)

Матрица - это набор / прямоугольное расположение чисел, упорядоченных по строкам и столбцам. Обычно это действительные числа. [4]

Пример матрицы 2 × 2 (2 строки и 2 столбца):

Вектор

Вектор может относиться к любому из следующего:

  • В компьютерном программировании вектор - это либо указатель, либо массив только с одним измерением.
  • В математике вектор - это величина, имеющая как величину, так и направление.
  • В компьютерной графике термин вектор описывает линию с начальной и конечной точкой.
  • В компьютерной безопасности термин «вектор атаки» относится к конкретному методу использования уязвимости системы.

Единичный вектор

Единичные векторы - это векторы, величина которых равна точно 1 единице, а единичные векторы [0,1] и [1,0] могут вместе образовывать любой другой вектор. [7]

Тактовая частота (ЦП)

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

Но сама по себе тактовая частота обычно считается неточным показателем производительности при сравнении процессоров разных семейств. Иногда это может вводить в заблуждение, поскольку объем работы, которую могут выполнять разные процессоры за один цикл, различается. Программные тесты полезнее. [8]

[Последнее обновление 24 декабря 2020 г. ]

Ссылки:

  1. Https://www.coursera.org/learn/linear-algebra-machine-learning/
  2. Https://www.helpingwithmath.com/by_subject/equations_expressions/simpting-equations-8ee8.htm
  3. Http://mathcentral.uregina.ca/QQ/database/QQ.09.07/h/maddie1.html
  4. Https://www.khanacademy.org/math/precalculus/x9e81a4f98389efdf:matrices/x9e81a4f98389efdf:mat-intro/a/intro-to-matrices
  5. Https://math.stackexchange.com/questions/160328/what-is-the-usefulness-of-matrices
  6. Https://courses.lumenlearning.com/boundless-algebra/chapter/using-matrices-to-solve-systems-of-equations/
  7. Https://www.reddit.com/r/learnmath/comments/68l3mh/unit_vector_vs_unit_basis_vector/
  8. Https://en.wikipedia.org/wiki/Clock_rate#Comparing