Начало: Математика для чайников. Глава 1. Что такое математическая абстракция.
Предыдущая глава: Математика для чайников. Глава 9. Основы матанализа
В публикации Математика для чайников. Глава 4. Алгебра я уже кратко писал, что такое линейная алгебра. Напомню, что это про векторы, матрицы и прочее тому подобное, и этот раздел математики вам жизненно необходим если вы хотите стать программистом в области искусственного интеллекта и Data Science . Предметом изучения линейной алгебры являться различные объекты линейной природы, а именно:
· Векторы
· Матрицы и определители
· Системы линейных уравнений
· Тензоры и тензорное исчисление.
· Теория инвариантов.
Кроме программирования, линейная алгебра так же используется в экономике и физике (особенно в квантовой механике).
Теперь разберемся с понятиями линейной алгебры. И так, вектор . С точки зрения математики, это объект, который характеризуется величиной и направлением. А если сказать проще, то вектор – это стрелка. Проще всего, конечно, изобразить двумерный вектор:
Как видим, вектор характеризуется двумя точками: началом и концом. Вообще, различают векторы, которые:
· Жестко заданы в одном месте.
· Можно двигать вдоль линии, на которой вектор лежит.
· Можно двигать как вдоль линии, на которой он лежит, так переносить на другие линии, параллельный ей – так называемый параллельный перенос.
Нам особо интересный третий случай. Тогда начало вектора можно перенести в начало координат – в точку (0,0). Тогда точка конца вектора будет равна значению вектора. Или, если начало не в начале координат, тогда значение вектора можно получить, вычтя соответствующие координаты начала вектора из соответствующих координат конца вектора.
Таким образом, двумерный вектор – это два числа. Трехмерный (пространственный) вектор – это три числа. Но мерность вектора может быть и больше. Конечно, мы вряд ли сможем представить себе четырехмерное или даже пятимерное пространство, но как математический объект оно вполне себе может существовать.
Теперь о том, что можно сделать с векторами? Во-первых, их можно складывать. В координатах сложение векторов происходит поэлементно, первую координату складываем с первой, вторую со второй и так далее. Геометрический смысл сложения состоит в том, что мы конец первого вектора совмещаем с началом второго и проводим вектор из начала первого вектора в конец второго:
Что в геометрическом понимании, что в математическом, вообще без разницы, в какой последовательности складывать вектора. Поэтому здесь тоже действует алгебраический закон: «от перестановки слагаемых сумма не меняется», то есть:
Еще векторы можно умножать. А вот тут интересней. Можно конечно, перемножить их координаты (векторное произведение). Но особого смысла в этом нет. А можно сложить поэлементные произведения и получить некоторое число (скалярное произведение):
Смысл скалярного произведения состоит в том, что это косинус угла между векторами, умноженный на произведение их длин, то есть:
Таким образом, через скалярное произведение мы можем вычислить угол между векторами:
Где можно использовать понятие скалярное произведения векторов? Как я уже говорил, для определения угла между векторами, для определения длины вектора, проекции одного вектора на другой, нахождение перпендикуляра многих других операций, о которых я подробнее расскажу в будущих уроках. А сейчас поехали дальше.
Нетрудно заметить, что скалярное произведение так же подчиняется закону перестановки множителей, то есть:
Существует насколько обозначений произведения векторов. Это знак умножения (точка), просто без знака, и угловые скобки:
Последнее называется обозначение Дирака и используется в квантовой механике для обозначения состояния.
Перейдем к следующему объекту: матрица . Если вектор – это просто несколько чисел (в отличии от множества, тут порядок важен), то матрица – это уже таблица чисел. Вообще-то матрица необязательно состоит из чисел, там могут быть другие математические объекты, но для упрощения понимания пока думайте, что матрица – это таблица чисел. Эта таблица имеет размеры ( n , m ), где n – количество строк, m – количество столбцов. Запомните, в матрице сначала индексируются строки, а потом столбцы. Как правило, матрица обозначается заглавной латинской буквой, а ее элемент – строчной. Допустим, у нас есть матрица A , элемент ее строки i и столбца j будет обозначен как
Матрица может быть задана явно в виде таблицы, в таком случае она обозначается вот так:
Часто, запятую опускают (если индекс понятен и без запятой):
Что можно сделать с матрицами? Можно их поэлементно складывать (если размер матриц одинаков). Такая операция называется сложением матриц и так же подчиняется закону перестановки слагаемых:
Аналогично, матрицы можно вычитать и умножать на число.
Другая интересная операция с матрицами – это матричное умножение. Многим оно не очень понятно, многие в нем путаются и многих оно пугает. Но на самом деле ничего сложно в этом нет. Давайте вернемся к скалярному произведению векторов. Только на этот раз первый вектор будет строка, а второй – столбец:
Кстати, это так и называется вектор – строка и вектор столбец. По сути, вектор – это частный случай матрицы, которая состоит или из одной строки, или из одного столбца.
А что если вместо вектора строки мы возьмем матрицу? По сути, это будет несколько векторов-строк? Тогда для каждого вектора-строки мы посчитаем скалярное произведение. В нашем примере первая матрица содержит две строки:
В итоге нас получился вектор столбец из двух элементов. Ну или матрица из двух строк и одного столбца. Вообще, если мы умножаем матрицу на вектор-столбец, то у нас в итоге образуется матрица с количеством строк, как в этой матрице.
Аналогично, если мы умножаем одну строку на несколько столбцов, только теперь результаты будут уже в столбцы записывать, не в строки, и на выходе мы получим вектор-строку:
Теперь осталось разобраться с умножением матрицы на матрицу. Очевидно, что количество строк в первой матрице должно быть равно количеству столбцов во второй матрице. И тогда мы берем каждую сторожку первой матрицы и считаем скалярное произведение на каждый столбец второй матрицы, результат записывая в ячейку с номером строки из первой матрицы и соответствующим номером столбца из второй матрицы.
Математически формулу умножения матриц можно записать так:
Пусть существует матрица A размером l x m :
И матрица B размером m x n :
Тогда матрица C , являющаяся произведением матрицы A и B :
Будет матрица из элементов, которые вычисляются по следующей формуле:
Если сказать по-русски, то мы считаем скалярное произведение каждой строки на каждый столбце и результат пишем в точку их пересечения:
Может возникнуть вопрос, а для чего это вообще нужно, перемножать матрицы? Для ответа на этот вопрос рассмотрим систему линейных уравнений:
Ее можно представить в матричной форме:
Или:
Если бы это было уравнение из элементарной алгебры, то мы могли бы записать:
Но можно ли так же сделать в матричном виде? Существует ли деление матриц. На самом деле в матричном исчислении есть такое понятие, как обратная матрица. Она обозначается
Что же за штука такая, обратная матрица? Это такая матрица, что если ее умножить на исходную матрицу то получиться единичная матрица, то есть:
Единичная матрица обозначается буковкой E и состоит из единиц по диагонали, остальные нули, то есть:
То есть с нашей системой уравнений мы можем следить вот такой трюк:
Тогда получаем:
Нетрудно догадаться (или можете проверить сами), что умножая единичную матрицу на любую другую матрицу, мы получаем ту же самую матрицу. Тогда:
И все, система уравнений решена. Осталось только найти обратную матрицу. Существует даже метод нахождения такой обратной матрицу. Но его мы рассмотрим позже, когда будет изучать линейную алгебру более подробно. А на сегодня все.