Как из числа сделать матрицу
Перейти к содержимому

Как из числа сделать матрицу

  • автор:

Математика для чайников. Матрицы и основные действия над ними

Основные действия над матрицами

1-й курс, высшая математика, изучаем матрицы и основные действия над ними. Здесь мы систематизируем основные операции, которые можно проводить с матрицами. С чего начать знакомство с матрицами? Конечно, с самого простого — определений, основных понятий и простейших операций. Заверяем, матрицы поймут все, кто уделит им хотя бы немного времени!

Определение матрицы

Матрица – это прямоугольная таблица элементов. Ну а если простым языком – таблица чисел.

Обычно матрицы обозначаются прописными латинскими буквами. Например, матрица A, матрица B и так далее. Матрицы могут быть разного размера: прямоугольные, квадратные, также есть матрицы-строки и матрицы-столбцы, называемые векторами. Размер матрицы определяется количеством строк и столбцов. Например, запишем прямоугольную матрицу размера m на n, где m – количество строк, а n – количество столбцов.

мтарицы, основные определения

Элементы, для которых i=j (a11, a22, .. ) образуют главную диагональ матрицы, и называются диагональными.

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

Операции сложения и вычитания матриц

Сразу предупредим, что можно складывать только матрицы одинакового размера. В результате получится матрица того же размера. Складывать (или вычитать) матрицы просто – достаточно только сложить их соответствующие элементы. Приведем пример. Выполним сложение двух матриц A и В размером два на два.

Операции сложения и вычитания матриц

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

Умножение матрицы на число

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

Операция умножения матриц

Перемножить между собой удастся не все матрицы. Например, у нас есть две матрицы — A и B. Их можно умножить друг на друга только в том случае, если число столбцов матрицы А равно числу строк матрицы В. При этом каждый элемент получившейся матрицы, стоящий в i-ой строке и j-м столбце, будет равен сумме произведений соответствующих элементов в i-й строке первого множителя и j-м столбце второго. Чтобы понять этот алгоритм, запишем, как умножаются две квадратные матрицы:

И пример с реальными числами. Умножим матрицы:

Операция транспонирования матрицы

Транспонирование матрицы – это операция, когда соответствующие строки и столбцы меняются местами. Например, транспонируем матрицу A из первого примера:

Транспонирование матриц

Определитель матрицы

Определитель, о же детерминант – одно из основных понятий линейной алгебры. Когда-то люди придумали линейные уравнения, а за ними пришлось выдумать и определитель. В итоге, разбираться со всем этим предстоит вам, так что, последний рывок!

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

Определитель матрицы первого порядка, то есть состоящей из одного элемента, равен этому элементу.

А если матрица три на три? Тут уже посложнее, но справиться можно.

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

К счастью, вычислять определители матриц больших размеров на практике приходится редко.

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

Создать матрицу из набора чисел полученных из CSV файлa

У меня есть CSV файл, где записаны числа. Мне нужно, из этих чисел сделать матрицу:

И т.д., там 426 строк и 13 столбцов, это только часть.

Как мне теперь из этого сделать матрицу?

0xdb's user avatar

Воспользуйтесь специально предназначенной для этого функцией — np.genfromtxt(. )

также можно воспользоваться модулем Pandas — результатом будем DataFrame, который можно легко преобразовать в матрицу:

MaxU - stand with Ukraine's user avatar

S. Nick's user avatar

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.9.5.43611

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

NumPy: матрицы и операции над ними

В этом ноутбуке из сторонних библиотек нам понадобится только NumPy. Для удобства импортируем ее под более коротким именем:

1. Создание матриц

Приведем несколько способов создания матриц в NumPy.

Самый простой способ — с помощью функции numpy.array(list, dtype=None, . ).

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

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

Например, матрицу из списка списков целых чисел можно создать следующим образом:

Второй способ создания — с помощью встроенных функций numpy.eye(N, M=None, . ), numpy.zeros(shape, . ), numpy.ones(shape, . ).

Первая функция создает единичную матрицу размера N×M ; если M не задан, то M = N .

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

Примеры:

Обратите внимание: размерность массива задается не двумя аргументами функции, а одним — кортежем!

Вот так — np.ones(7, 5) — создать массив не получится, так как функции в качестве параметра shape передается 7, а не кортеж (7, 5).

И, наконец, третий способ — с помощью функции numpy.arange([start, ]stop, [step, ], . ), которая создает одномерный массив последовательных чисел из промежутка [start, stop) с заданным шагом step, и метода array.reshape(shape).

Параметр shape, как и в предыдущем примере, задает размерность матрицы (кортеж чисел). Логика работы метода ясна из следующего примера:

Более подробно о том, как создавать массивы в NumPy, см. документацию.

2. Индексирование

Для получения элементов матрицы можно использовать несколько способов. Рассмотрим самые простые из них.

Для удобства напомним, как выглядит матрица d:

Элемент на пересечении строки i и столбца j можно получить с помощью выражения array[i, j].

Обратите внимание: строки и столбцы нумеруются с нуля!

Из матрицы можно получать целые строки или столбцы с помощью выражений array[i, :] или array[:, j] соответственно:

Еще один способ получения элементов — с помощью выражения array[list1, list2], где list1, list2 — некоторые списки целых чисел. При такой адресации одновременно просматриваются оба списка и возвращаются элементы матрицы с соответствующими координатами. Следующий пример более понятно объясняет механизм работы такого индексирования:

Примеры использования слайсинга:

Более подробно о различных способах индексирования в массивах см. документацию.

3. Векторы, вектор-строки и вектор-столбцы

Следующие два способа задания массива кажутся одинаковыми:

Однако, на самом деле, это задание одномерного массива (то есть вектора) и двумерного массива:

Обратите внимание: вектор (одномерный массив) и вектор-столбец или вектор-строка (двумерные массивы) являются различными объектами в NumPy, хотя математически задают один и тот же объект. В случае одномерного массива кортеж shape состоит из одного числа и имеет вид (n,), где n — длина вектора. В случае двумерных векторов в shape присутствует еще одна размерность, равная единице.

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

4. Datatypes

Все элементы в массиве numpy принадлежат одному типу. В этом плане массивы ближе к C, чем к привычным вам листам питона. Numpy имеет множество встренных типов, подходящих для решения большинства задач.

5. Математические операции

К массивам (матрицам) можно применять известные вам математические операции. Следут понимать, что при этом у элементов должны быть схожие размерности. Поведение в случае не совпадения размерностей хорошо описанно в документации numpy.

6. Умножение матриц и столбцов

Напоминание теории. Операция умножения определена для двух матриц, таких что число столбцов первой равно числу строк второй.

Пусть матрицы A и B таковы, что A ∈ ℝ n×k и B ∈ ℝ k×m . Произведением матриц A и B называется матрица C , такая что cij = ∑ k r = 1 airbrj , где cij — элемент матрицы C , стоящий на пересечении строки с номером i и столбца с номером j .

В NumPy произведение матриц вычисляется с помощью функции numpy.dot(a, b, . ) или с помощью метода array1.dot(array2), где array1 и array2 — перемножаемые матрицы.

Матрицы в NumPy можно умножать и на векторы:

Обратите внимание: операция * производит над матрицами покоординатное умножение, а не матричное!

Более подробно о матричном умножении в NumPy см. документацию.

7. Объединение массивов

Массивы можно Объединенять. Есть горизонтальное и вертикальное объединение.

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

Задания: (Блок 1)

Задание 1:

Решите без использования циклов средставми NumPy (каждый пункт решается в 1-2 строчки)

  1. Создайте вектор с элементами от 12 до 42
  2. Создайте вектор из нулей длины 12, но его пятый елемент должен быть равен 1
  3. Создайте матрицу (3, 3), заполненую от 0 до 8
  4. Найдите все положительные числа в np.array([1,2,0,0,4,0])
  5. Умножьте матрицу размерности (5, 3) на (3, 2)
  6. Создайте матрицу (10, 10) так, чтобы на границе были 0, а внтури 1
  7. Создайте рандомный вектор и отсортируйте его
  8. Каков эквивалент функции enumerate для numpy массивов?
  9. *Создайте рандомный вектор и выполните нормализацию столбцов (из каждого столбца вычесть среднее этого столбца, из каждого столбца вычесть sd этого столбца)
  10. *Для заданного числа найдите ближайший к нему элемент в векторе
  11. *Найдите N наибольших значений в векторе
Задание 2:

8. Транспонирование матриц

Напоминание теории. Транспонированной матрицей A T называется матрица, полученная из исходной матрицы A заменой строк на столбцы. Формально: элементы матрицы A T определяются как a T ij = aji , где a T ij — элемент матрицы A T , стоящий на пересечении строки с номером i и столбца с номером j .

В NumPy транспонированная матрица вычисляется с помощью функции numpy.transpose() или с помощью метода array.T, где array — нужный двумерный массив.

В следующих разделах активно используется модуль numpy.linalg, реализующий некоторые приложения линейной алгебры. Более подробно о функциях, описанных ниже, и различных других функциях этого модуля можно посмотреть в его документации.

9. Определитель матрицы

Напоминание теории. Для квадратных матриц существует понятие определителя.

Пусть A — квадратная матрица. Определителем (или детерминантом) матрицы A ∈ ℝ n×n назовем число

где α1, α2, …, αn — перестановка чисел от 1 до n , N(α1, α2, …, αn) — число инверсий в перестановке, суммирование ведется по всем возможным перестановкам длины n .

Не стоит расстраиваться, если это определение понятно не до конца — в дальнейшем в таком виде оно не понадобится.

Например, для матрицы размера 2×2 получается:

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

В NumPy определитель матрицы вычисляется с помощью функции numpy.linalg.det(a), где a — исходная матрица.

Рассмотрим одно интересное свойство определителя. Пусть у нас есть параллелограмм с углами в точках (0, 0), (c, d), (a + c, b + d), (a, b) (углы даны в порядке обхода по часовой стрелке). Тогда площадь этого параллелограмма можно вычислить как модуль определителя матрицы ⎛ ⎜ ⎝ a c b d ⎞ ⎟ ⎠ . Похожим образом можно выразить и объем параллелепипеда через определитель матрицы размера 3×3 .

10. Ранг матрицы

Напоминание теории. Рангом матрицы A называется максимальное число линейно независимых строк (столбцов) этой матрицы.

В NumPy ранг матрицы вычисляется с помощью функции numpy.linalg.matrix_rank(M, tol=None), где M — матрица, tol — параметр, отвечающий за некоторую точность вычисления. В простом случае можно его не задавать, и функция сама определит подходящее значение этого параметра.

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

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

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

Напоминание теории. Системой линейных алгебраических уравнений называется система вида Ax = b , где A ∈ ℝ n×m , x ∈ ℝ m×1 , b ∈ ℝ n×1 . В случае квадратной невырожденной матрицы A решение системы единственно.

В NumPy решение такой системы можно найти с помощью функции numpy.linalg.solve(a, b), где первый аргумент — матрица A , второй — столбец b .

Убедимся, что вектор x действительно является решением системы:

Бывают случаи, когда решение системы не существует. Но хотелось бы все равно “решить” такую систему. Логичным кажется искать такой вектор x , который минимизирует выражение ‖ Axb ‖ 2 — так мы приблизим выражение Ax к b .

В NumPy такое псевдорешение можно искать с помощью функции numpy.linalg.lstsq(a, b, . ), где первые два аргумента такие же, как и для функции numpy.linalg.solve(). Помимо решения функция возвращает еще три значения, которые нам сейчас не понадобятся.

12. Обращение матриц

Напоминание теории. Для квадратных невырожденных матриц определено понятие обратной матрицы.

Пусть A — квадратная невырожденная матрица. Матрица A − 1 называется обратной матрицей к A , если

где I — единичная матрица.

В NumPy обратные матрицы вычисляются с помощью функции numpy.linalg.inv(a), где a — исходная матрица.

13. Собственные числа и собственные вектора матрицы

Напоминание теории. Для квадратных матриц определены понятия собственного вектора и собственного числа.

Пусть A — квадратная матрица и A ∈ ℝ n×n . Собственным вектором матрицы A называется такой ненулевой вектор x ∈ ℝ n , что для некоторого λ ∈ ℝ выполняется равенство Ax = λx . При этом λ называется собственным числом матрицы A . Собственные числа и собственные векторы матрицы играют важную роль в теории линейной алгебры и ее практических приложениях.

В NumPy собственные числа и собственные векторы матрицы вычисляются с помощью функции numpy.linalg.eig(a), где a — исходная матрица. В качестве результата эта функция выдает одномерный массив w собственных чисел и двумерный массив v, в котором по столбцам записаны собственные вектора, так что вектор v[:, i] соотвествует собственному числу w[i].

Обратите внимание: у вещественной матрицы собственные значения или собственные векторы могут быть комплексными.

14. Расстояния между векторами

Вспомним некоторые нормы, которые можно ввести в пространстве ℝ n , и рассмотрим, с помощью каких библиотек и функций их можно вычислять в NumPy.

p-норма

p-норма (норма Гёльдера) для вектора x = (x1, …, xn) ∈ ℝ n вычисляется по формуле:

В частных случаях при: * p = 1 получаем 1 норму * p = 2 получаем 2 норму

Далее нам понабится модуль numpy.linalg, реализующий некоторые приложения линейной алгебры. Для вычисления различных норм мы используем функцию numpy.linalg.norm(x, ord=None, . ), где x — исходный вектор, ord — параметр, определяющий норму (мы рассмотрим два варианта его значений — 1 и 2). Импортируем эту функцию:

1 норма

1 норма (также известная как манхэттенское расстояние) для вектора x = (x1, …, xn) ∈ ℝ n вычисляется по формуле:

Ей в функции numpy.linalg.norm(x, ord=None, . ) соответствует параметр ord=1.

2 норма

2 норма (также известная как евклидова норма) для вектора x = (x1, …, xn) ∈ ℝ n вычисляется по формуле:

Ей в функции numpy.linalg.norm(x, ord=None, . ) соответствует параметр ord=2.

Более подробно о том, какие еще нормы (в том числе матричные) можно вычислить, см. документацию.

15. Расстояния между векторами

Для двух векторов x = (x1, …, xn) ∈ ℝ n и y = (y1, …, yn) ∈ ℝ n 1 и 2 раccтояния вычисляются по следующим формулам соответственно:

16. Скалярное произведение и угол между векторами

Скалярное произведение в пространстве ℝ n для двух векторов x = (x1, …, xn) и y = (y1, …, yn) определяется как:

Длиной вектора x = (x1, …, xn) ∈ ℝ n называется квадратный корень из скалярного произведения, то есть длина равна евклидовой норме вектора:

Теперь, когда мы знаем расстояние между двумя ненулевыми векторами и их длины, мы можем вычислить угол между ними через скалярное произведение:

где α ∈ [0, π] — угол между векторами x и y .

17. Комплексные числа в питоне

Напоминание теории. Комплексными числами называются числа вида x + iy , где x и y — вещественные числа, а i — мнимая единица (величина, для которой выполняется равенство i 2 = − 1 ). Множество всех комплексных чисел обозначается буквой ℂ (подробнее про комплексные числа см. википедию).

В питоне комплескные числа можно задать следующим образом (j обозначает мнимую единицу):

С комплексными числами в питоне можно производить базовые арифметические операции так же, как и с вещественными числами:

Задания: (Блок 2)

Задание 3:

Рассмотрим сложную математическую функцию на отрезке [1, 15]:

f(x) = sin(x / 5) * exp(x / 10) + 5 * exp(-x / 2)

images/lab14/func.png

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

Как известно, многочлен степени n (то есть w0 + w1x + w2x 2 + … + wnx n ) однозначно определяется любыми n + 1 различными точками, через которые он проходит. Это значит, что его коэффициенты w0 , … wn можно определить из следующей системы линейных уравнений:

images/lab14/eqs.png

где через x1, . xn, xn + 1 обозначены точки, через которые проходит многочлен, а через f(x1), . f(xn), f(xn + 1) — значения, которые он должен принимать в этих точках.

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

Матрицы: примеры с решением и объяснением

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

Размер матрицы определяется её порядками — количеством строчек $m$ и столбцов $n$, которые в ней присутствуют. Строчки образованы элементами, стоящими на горизонтальных линиях, а столбцы — элементами, стоящими на прямых вертикальных линиях. В случае если количество строчек эквивалентно количеству столбцов — порядок рассматриваемой таблички определяется лишь одним значением $m = n$.

Для любого элемента матрицы номер строчки, в которой он находится, записывается первым в индексе, а номер столбца — вторым, то есть запись $a_$ обозначает, что элемент стоит в $i$-ой строчке и в $j$-ом столбце.

Сложение и вычитание

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

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

В качестве примера найдём сумму $A+B$, где:

Сумма любого элемента новой полученной матричной таблички $A + B$ равна $a_ + b_$, например, элемент с индексом $11$ равен $a_ <11>+ b_<11>$,а весь результат целиком выглядит так:

Вычитание для двух матриц $A-B$ осуществляется аналогично, но каждый элемент новой матрицы результата будет вычисляться по формуле $a_ – b_$.

Обратите внимание, что сложение и вычитание для матриц возможно осуществлять только если их порядки одинаковые.

Решите следующие матричные примеры: $A + B$; $A – B$.

$A=\begin 0 & 5 & 2 \\ 1 & -1 & 3 \\ -2 & 0 & 7 \\ \end$

$B=\begin 0 & 3 & 2 \\ -4 & 0 & -1 \\ 0 & 7 & -3 \\ \end$

Объяснение:

Действия выполняем для каждой пары элементов $a_$ и $b_$ соответственно:

$A+B=\begin 0+0 & 5+3 & 2+2 \\ 1-4 & -1+0 & 3 — 1\\ -2+0 & 0+7 & 7 — 3 \\ \end=\begin 0 & 8 & 4 \\ -3 & -1 & 2 \\ -2 & 7 & 4\\ \end$

$A-B=\begin 0-0 & 5-3 & 2-2 \\ 1+4 & -1-0 & 3 + 1\\ -2-0 & 0-7 & 7 + 3 \\ \end=\begin 0 & 2 & 0 \\ 5 & -1 & 4 \\ -2 & -7 & 10 \\ \end$

Умножение матрицы на число

Для того чтобы произвести умножение матричной таблички на какое-либо число, нужно каждый её элемент умножить на это число, то есть любой элемент новой матрицы $C$, являющейся результатом произведения $A$ на $λ$ будет равен $с_=λ \cdot a_$.

Умножьте $A$ на $λ$, где $A=\begin 1 & 0 & 2 \\ -1 & 3 & 0 \\ 2 & 1 & 3 \\ \end$, а $λ=5$:

$A \cdot λ = 5 \cdot \begin 1 & 0 & 2 \\ -1 & 3 & 0 \\ 2 & 1 & 3 \\ \end = \begin 1 \cdot 5 & 0 \cdot 5 & 2 \cdot 5 \\ -1 \cdot 5 & 3 \cdot 5 & 0 \cdot 5 \\ 2 \cdot 5 & 1\cdot 5 & 3\cdot 5 \\ \end = \begin 5 & 0 & 10 \\ -5 & 15 & 0 \\ 10 & 5 & 15 \\ \end$.

Произведение матричных таблиц

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

Для осуществления умножения двух матриц $A \cdot B$ количество столбцов в $A$ должно совпадать с количеством строчек в $B$.

Математически это можно записать так:

То есть видя перемножаемые исходные матрицы можно сразу определить порядки получаемой новой. Например, если необходимо перемножить $A_<3 \times 2>$ и $B_<2 \times 3>$ — полученный результат будет иметь размер $3 \times 3$:

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

$A \times B = ?$, если $A=\begin 1 & 0 & 2 \\ -1 & 3 & 0 \\ 2 & 1 & 3 \\ \end$ и $B = \begin 3 & — 1 & 2 \\ -4 & 0 & 2 \\ 1 & 1 & 2 \\ \end$.

$A \times B = \begin (1 \cdot 3 + 0 \cdot (-4) + 2 \cdot 1) & (1 \cdot(-1) + 0 \cdot 0 + 2 \cdot 1) & (1 \cdot 2 + 0 \cdot 2 + 2 \cdot 2) \\ (-1) \cdot 3 + 3 \cdot (-4) + 0 \cdot 1) & (-1 \cdot(-1) + 3 \cdot 0 + 0 \cdot 1) & (-1 \cdot 2 + 3 \cdot 2 + 0 \cdot 2) \\ (2 \cdot 3 + 1 \cdot (-4) + 3 \cdot 1) & 2 \cdot (-1) + 1 \cdot 0 + 3 \cdot 1) & (2 \cdot 2 + 1 \cdot 2 + 3 \cdot 2) \\ \end $

$A \times B= \begin (3 + 0+ 2) & (-1 + 0 + 2) & (2 + 0 + 4) \\ (-3-12+0) & (1 + 0 + 0) & (-2+6+0) \\ (6-4+3) & (-2 + 0 + 3) & (4 + 2 + 6) \\ \end = \begin 5 & 1 & 6 \\ -15 & 1 & 4 \\ 5 & 1 & 12 \\ \end$.

Нахождение определителя матрицы

Определитель матрицы обозначается как $Δ$ или $\det$.

Детерминант возможно найти только для квадратных разновидностей матриц.

В простейшем случае, когда матрица состоит из всего одного элемента, её определитель равен этому элементу: $det A = |a_<11>|= a_<11>$

Вычислить определитель от матрицы порядка двух можно следуя такому правилу:

Определитель матрицы размера 2 равен разности произведений элементов, стоящих на главной диагонали с произведением элементов с побочной диагонали:

В случае если определитель матрицы задан размером $3 \times 3$, то найти его можно используя мнемонические правила: Саррюса или треугольников, также можно разложить матрицу по строчке или столбцу или воспользоваться преобразованиями Гаусса.

Для определителей большего размера можно использовать преобразования Гаусса и разложение по строчке.

Обратные матрицы

По аналогии с обычным умножением числа на обратное ему число $(1+\frac1x= 1)$, умножение обратной матрицы $A^<-1>$ на исходную матрицу даёт в результате единичную матрицу $E$.

Самый простой метод решения при поиске обратной матрицы — Жордана-Гаусса. Рядом с матрицей-подопытным кроликом записывается единичная того же размера, а затем исходная с помощью преобразований приводится к единичной, причём все выполняемые действия повторяются и с $E$.

Получить обратную матрицу.

Решение:

Пишем вместе $A$ и справа от неё соответствующего размера $E$:

$ \begin 1& 2 & 1& 0\\ 3 & 4& 0 & 1 \\ \end$

Получаем нуль в последней строчке на первой позиции:прибавляем к ней верхнюю, умноженную на $-3$:

$ \begin 1& 2 & 1 & 0\\ 0 & -2 & -3 & 1 \\ \end$

Теперь обнуляем последний элемент первой строчки. Для этого к верхней строчке плюсуем нижнюю:

$ \begin 1& 0 & -2 & 1\\ 0 & -2 & -3 & 1 \\ \end$

Делим вторую на $-2$:

$ \begin 1& 0 & -2 & 1\\ 0 & 1& 3/2 & -1/2 \\ \end$

Транспонирование матричных таблиц

Транспонирование — это смена строк и столбцов в матрице или определителе местами с сохранением их исходного порядка. Определитель траспонированной матричной таблички $A^T$ будет равен определителю исходной матрицы $A$.

Транспонируйте матрицу $A$ и проверьте себя, найдя определитель $A$ и транспонированной матричной таблички.

$A=\begin 1 & 2 & 3 \\ 4 & 5 & 6 \\ — 1 & -2 & -3\\ \end$

Решение:

Применим метод Саррюса для детерминанта:

$\det A= 1 \cdot 5 \cdot (-3) + 2 \cdot 6 \cdot (-1) + 3 \cdot 4 \cdot (-2) – 2 \cdot 4 \cdot (-3) – 1 \cdot 6 \cdot (-2) – 3 \cdot 5 \cdot (-1) = -15 – 12 – 24+ 24 + 12 + 15 = 0$.

Теперь произведём транспонирование $A$, для этого повалим матрицу на её правый бок:

$A^T = \begin 1 & 4 & -1 \\ 2 & 5 & -2 \\ 3 & 6 & -3 \\ \end$

Найдём для $A^T$ определитель, используя то же правило:

$det A^T = 1 \cdot 5 \cdot (-3) + 4 \cdot (-2) \cdot 3 + (-1) \cdot 2 \cdot 6 – 4 \cdot 2 \cdot (-3) – 1 \cdot (-2) \cdot 6 – (- 1) \cdot 5 \cdot 3 = — 15 -24 — 12+24+12+15 = 0$.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *