Калькулятор матриц
Результат
Результат, строка 1 столбец 1
- Результат, строка 1 столбец 2
- 36,0000
- Результат, строка 2 столбец 1
- 20,0000
- Результат, строка 2 столбец 2
- 28,0000
- Определитель A
- 10,0000
Калькулятор матриц складывает, перемножает и обращает матрицы 2×2 и печатает четыре элемента результата вместе с определителем первой матрицы. Заполняйте каждую матрицу по строке на поле: строка 4 7 идёт в одно поле, строка 2 6 в следующее, а два числа разделяются пробелом или запятой. Выберите действие в списке, и остальное страница сделает сама. Пустыми можно оставить только поля второй матрицы, и нужно ли их вообще заполнять — зависит от того, что вы выбрали: сложение и умножение используют обе матрицы, обращение читает только первую, поэтому при выбранном обращении вторая матрица не читается вовсе. Три действия, и каждое — вещь своего рода. Сложение складывает матрицы поэлементно — левый верхний с левым верхним и так далее, — и это единственное из трёх, которое ведёт себя как обычные числа. Умножение поэлементным не является: каждый элемент ответа получается из целой строки первой матрицы и целого столбца второй, почленно перемноженных и сложенных, поэтому левый верхний элемент ответа не равен произведению левых верхних элементов входов. А обращение просит матрицу, которая отменяет первую, — ту, на которую нужно умножить, чтобы получить единичную. У обращения есть условие: определитель должен быть не равен нулю, и при нулевом определителе страница отказывает, а не возвращает что попало, потому что матрицы, которая отменила бы эту, не существует. Складывать и умножать матрицу с нулевым определителем можно совершенно спокойно — пропадает только обратная матрица. Сам определитель печатается при любом расчёте, какое бы действие вы ни выбрали, и всегда принадлежит первой матрице. Это сделано намеренно: это факт о самой матрице, а не о той арифметике, которую вы заказали, поэтому он остаётся на месте, пока вы переключаетесь между сложением, умножением и обращением одного и того же ввода. Именно это число решает, существует ли обратная матрица, а его знак говорит, переворачивает ли матрица плоскость, — поэтому видеть его на экране рядом с ответом полезнее, чем на отдельной странице.
Матрицы 2×2 и их обратные
| Матрица A, строка 1 | Матрица A, строка 2 | Определитель A | Результат, строка 1 столбец 1 | Результат, строка 1 столбец 2 | Результат, строка 2 столбец 1 | Результат, строка 2 столбец 2 |
|---|---|---|---|---|---|---|
| 4 7 | 2 6 | 10 | 0.6 | -0.7 | -0.2 | 0.4 |
| 1 0 | 0 1 | 1 | 1 | 0 | 0 | 1 |
| 1 2 | 3 4 | -2 | -2 | 1 | 1.5 | -0.5 |
| 2 0 | 0 3 | 6 | 0.5 | 0 | 0 | 0.3333 |
| 0 1 | 1 0 | -1 | 0 | 1 | 1 | 0 |
| 2 4 | 1 3 | 2 | 1.5 | -2 | -0.5 | 1 |
| 3 5 | 1 2 | 1 | 2 | -5 | -1 | 3 |
| 1 1 | 1 2 | 1 | 2 | -1 | -1 | 1 |
Восемь матриц и их обратные, и таблица показывает одно действие, а не три: каждая строка здесь — это обращение, потому что именно против него читаются столбцы и потому что сложению и умножению нужна вторая матрица, которой таблица одиночных матриц дать не может. Первая строка — та, с которой страница открывается: определитель 10 и четыре элемента, которые выходят точно, поскольку 10 делит переставленные элементы нацело. Вторая строка — единичная матрица, обратная самой себе. Третья — наименьшая матрица с отрицательным определителем, и минус меняет знак у каждого элемента обратной: это самый быстрый способ увидеть, что делает знак определителя. Четвёртая диагональная, и обратная — просто две диагональные величины, перевёрнутые вверх дном; отсюда же и самый частый неаккуратный ответ этой страницы, потому что одна треть нацело не делится. У пятой единицы стоят вне диагонали, а не на ней, — это матрица, меняющая две координаты вектора местами. Её определитель равен −1, поэтому обратная снова точна, и матрица обратна самой себе. У шестой определитель 2, и на выходе получаются половины. У седьмой определитель 1, и получаются целые числа — ровно это и даёт определитель, равный единице: деление целой присоединённой матрицы на 1 ничего в ней не меняет. Определитель 1 стоит узнавать уже по этой причине. У восьмой определитель тоже 1, и она тоже выходит целыми числами. Ни у одной строки здесь нет нулевого определителя, и это сделано намеренно: такие матрицы страница обращать отказывается, а строка из четырёх прочерков в справочной таблице сказала бы меньше, чем одно предложение в разделе ограничений. Каждое число пересчитывается при сборке страницы, а пробелы в первых двух столбцах — это разделители, а не часть чисел. И замечание о чтении: числа, посчитанные внутри ячеек, напечатаны с точкой, а текст этой заметки использует запятую — это одно и то же число, записанное двумя способами, а не два разных числа.
Формула
A + B = (aᵢⱼ + bᵢⱼ) (A × B)ᵢⱼ = aᵢ₁b₁ⱼ + aᵢ₂b₂ⱼ det A = a₁₁a₂₂ − a₁₂a₂₁ A⁻¹ = (1 ÷ det A) × (a₂₂, −a₁₂; −a₂₁, a₁₁)
- Матрица A, строка 1 / строка 2
- Первая матрица: по строке на поле и по два числа в каждом, например 4 7 и 2 6. Строки, а не четыре отдельные ячейки, потому что матрица — один объект: четыре поля превратили бы один ввод в четыре и позволили бы заполнить то, что матрицей вовсе не является
- Матрица B, строка 1 / строка 2
- Вторая матрица, записанная так же, и единственный необязательный ввод на странице. Сложению и умножению она нужна, обращение её полностью игнорирует, так что при этом действии оба поля можно оставить пустыми. Пустое поле здесь не ошибка — ключа просто нет
- Действие
- Что именно сделать: сложить две матрицы, перемножить их или обратить первую. Одна страница вместо трёх, потому что все три принимают один и тот же ввод и различаются только арифметикой над ним
- Результат, строка 1 столбец 1
- Левый верхний элемент ответа, а с ним и остальные три под такими же именами. При сложении это два левых верхних числа, сложенных между собой; при умножении это вся первая строка A против всего первого столбца B, и поэтому он не равен просто произведению двух левых верхних элементов
- det A
- Определитель первой матрицы: левый верхний на правый нижний минус правый верхний на левый нижний. Печатается при любом действии и всегда принадлежит A, а не ответу: это свойство набранной вами матрицы, поэтому он не меняется, когда вы переключаетесь со сложения на умножение и на обращение одних и тех же чисел
- 1 ÷ det A
- Множитель в обратной матрице и причина, по которой нулевой определитель отклоняется: именно на это число обратная матрица делится. Ни сложению, ни умножению он не нужен, поэтому они продолжают работать и на матрице с нулевым определителем
- A⁻¹
- Матрица, которая отменяет A: перемножьте их в любом порядке и получите единичную — единицы по диагонали и нули вне неё. Ради этого она и нужна, и существует она ровно тогда, когда определитель не равен нулю
- Единичная матрица
- Матрица с единицами по диагонали и нулями вне неё — то же для матричного умножения, чем является число 1 для обычного. Проверка обратной матрицы состоит в том, чтобы перемножить и получить именно её
- Четыре знака после запятой
- Ширина, с которой печатаются результаты. Сложение и умножение целых чисел дают точные ответы, как и обращение любой матрицы с определителем 1 или −1; остальные округлены, и диагональная матрица с тройкой на диагонали — самый частый случай, который нацело не выходит
Сложение — действие, которое почти никому не нужно, и стоит оно здесь главным образом для того, чтобы все три стояли рядом: оно складывает поэлементно, работает всегда, и это единственное место, где матрицы ведут себя как обычные числа. Умножение важно для преобразований: повернуть фигуру, а потом растянуть её — значит перемножить две соответствующие матрицы, и порядок умножения — это порядок применения. Обращение служит для отмены: если матрица переводит координаты одним способом, обратная переводит их назад, а это ровно то, что нужно, когда результат преобразования есть, а вход, который его дал, неизвестен. Определитель, напечатанный рядом, стоит читать и сам по себе. Нулевой определитель означает, что матрица сплющивает плоскость в прямую: разные входы попадают в один выход, и отменить уже ничего нельзя — это то же самое утверждение, что и отсутствие обратной матрицы. Такая матрица называется вырожденной, и узнать её стоит по одному этому числу. А знак определителя говорит, сохраняет матрица ориентацию плоскости или переворачивает её. Две вещи стоит помнить, пользуясь этой страницей. Умножение не коммутативно: перестановка двух матриц даёт другой ответ, поэтому если вы составляете преобразования, порядок — часть задачи, а не подробность. И показан только определитель первой матрицы, так что если нужен ещё и определитель второй, обратите её отдельно: именно выбранное действие, а не поля, решает, какая матрица считается первой.
Разобранные примеры
Строки 4 7 и 2 6, умноженные на строки 1 2 и 3 4
- Левый верхний: (4 × 1) + (7 × 3) = 4 + 21 = 25
- Правый верхний: (4 × 2) + (7 × 4) = 8 + 28 = 36
- Левый нижний: (2 × 1) + (6 × 3) = 2 + 18 = 20
- Правый нижний: (2 × 2) + (6 × 4) = 4 + 24 = 28
- Определитель A: (4 × 6) − (7 × 2) = 24 − 14 = 10
Ввод, с которым страница открывается. Каждый элемент ответа — это целая строка первой матрицы против целого столбца второй, и вот на что здесь стоит смотреть: левый верхний элемент ответа равен 25, а ни одно из двух чисел, стоящих в левом верхнем углу входов, 4 и 1, на 25 не похоже. Их произведение равно 4. Определитель 10 печатается здесь же, и он принадлежит A — матрице из строк 4 7 и 2 6, — а не ответу.
Те же две матрицы, сложение
- Левый верхний: 4 + 1 = 5
- Правый верхний: 7 + 2 = 9
- Левый нижний: 2 + 3 = 5
- Правый нижний: 6 + 4 = 10
- Определитель A: по-прежнему 10, потому что A — та же матрица, что и в предыдущем примере
Предыдущий пример с одной изменённой вещью: выбранным действием. Теперь каждый элемент — обычная сумма, и это единственное из трёх действий, где матрицы ведут себя как обычные числа: порядок не важен, и сломаться нечему. Определитель остался равен 10, потому что это факт о матрице A, а A не изменилась. Переключать действие туда и обратно между сложением и умножением — самый быстрый способ увидеть, что определитель не является свойством вычисления.
Обращение матрицы со строками 4 7 и 2 6
- Определитель A: (4 × 6) − (7 × 2) = 24 − 14 = 10
- Меняем местами два диагональных элемента: 6 и 4
- Меняем знаки у двух внедиагональных: −7 становится 7, а 2 становится −2
- Делим каждый на определитель: 6 ÷ 10 = 0,6; −7 ÷ 10 = −0,7; −2 ÷ 10 = −0,2; 4 ÷ 10 = 0,4
- Проверка: (4 × 0,6) + (7 × −0,2) = 2,4 − 1,4 = 1, а это левый верхний элемент единичной матрицы
Первое из трёх действий с условием, и поля второй матрицы здесь пусты намеренно: обращение читает только A, и страница не возражает. Рецепт каждый раз один и тот же, из четырёх шагов: поменять местами диагональ, сменить знаки у двух оставшихся, разделить на определитель. Проверку в конце стоит один раз проделать руками: умножение ответа обратно на исходную матрицу даёт единицы по диагонали и нули вне неё, а любой другой результат означает, что где-то потерялся знак.
Строки 1 2 и 3 4, умноженные на строки 5 6 и 7 8
- Левый верхний: (1 × 5) + (2 × 7) = 5 + 14 = 19
- Правый верхний: (1 × 6) + (2 × 8) = 6 + 16 = 22
- Левый нижний: (3 × 5) + (4 × 7) = 15 + 28 = 43
- Правый нижний: (3 × 6) + (4 × 8) = 18 + 32 = 50
- Определитель A: (1 × 4) − (2 × 3) = 4 − 6 = −2
Строка, ради которой стоит поменять матрицы местами. Введите те же четыре числа, поменяв A и B, и ответ станет 23, 34, 31 и 46 — совершенно другая матрица из тех же входов в другом порядке. Матричное умножение не коммутативно, и вот что это значит на практике: если две матрицы — это два преобразования, то порядок их умножения и есть порядок применения. Заметьте, что определитель A здесь равен −2 и там равен −2, поскольку у обеих матриц он случайно оказался одинаковым: два ответа различаются четырьмя элементами результата, а столбец определителя их не различает.
Матрица с нулевым определителем, умножение
- Левый верхний: (1 × 1) + (2 × 3) = 1 + 6 = 7
- Правый верхний: (1 × 2) + (2 × 4) = 2 + 8 = 10
- Левый нижний: (2 × 1) + (4 × 3) = 2 + 12 = 14
- Правый нижний: (2 × 2) + (4 × 4) = 4 + 16 = 20
- Определитель A: (1 × 4) − (2 × 2) = 4 − 4 = 0
У первой матрицы определитель равен нулю — её вторая строка ровно вдвое больше первой, так что она сжимает плоскость в прямую, — и умножение всё равно считается как обычно. В этом и смысл примера: нулевой определитель мешает обращению и больше ничему. Попросите ту же страницу обратить эту матрицу — она откажется. Попросите сложить или умножить — ответит, потому что у обоих этих действий здесь вполне определённые ответы. Столбец определителя и там и тут читается как 0.
Ограничения
Принимаются только матрицы 2×2, по строке на поле, по два числа в каждой. Для больших матриц нужна была бы другая раскладка, а не поле побольше: число ячеек растёт как квадрат размера. Поля второй матрицы можно оставить пустыми, и нужно ли их заполнять, зависит от действия, а не от поля: сложению и умножению нужны обе матрицы, обращение читает только первую. Обратная матрица существует только при ненулевом определителе, и эта проверка сравнивает определитель с точным нулём, а не с почти нулём, — это и ограничение, и решение сразу. Допуск пришлось бы взять таким, чтобы он отвергал заведомо обратимые матрицы, лишь бы поймать случаи у самой границы, поэтому допуска нет; цена в том, что матрица с десятичными элементами, вырожденная в точной арифметике, может дать определитель порядка 1,4 × 10⁻¹⁷ вместо нуля и быть обращена, а на выходе получатся четыре огромных числа вместо отказа. Целые числа снимают этот вопрос целиком, а настолько маленький определитель — сам по себе сигнал. Показан только определитель первой матрицы, поэтому определитель второй придётся считать, поставив её на первое место. Числа в строке читаются как обычные числа: запятая с пробелом после неё разделяет два числа строки, а запятая между двумя цифрами — десятичный разделитель, так что дробь записывается привычным образом. Дальше начинается ловушка, которой нет в английской версии: числа в строке разделяет и пробел, а неразрывный пробел — это ровно тот знак, которым в русском отделяют тысячи. Поэтому строка 1 500, скопированная из таблицы или из другого документа, будет молча прочитана как два числа строки, 1 и 500, и никакой ошибки при этом не появится: в строке как раз и должно быть два числа, проверка проходит, а матрица получается не та, которую вы имели в виду. Запись с запятой, после которой стоит ровно три цифры, при ненулевой целой части отклоняется целиком: она одинаково похожа и на десятичную дробь, и на тысячу пятьсот. Целые числа пишите без разделителя: 1500. Четыре знака после запятой — это ширина печати, а не заявление о точности, и обратная матрица считается по неокруглённому определителю, поэтому умножение напечатанного ответа обратно на A может не дать ровно единиц и нулей по напечатанным числам. Единиц измерения на этой странице нет нигде и не подразумевается: элементы — простые числа, и четыре знака после запятой — единственное, что о них утверждается.
Частые вопросы
- Почему по одному полю на строку, а не по одному на каждое число?
- Потому что матрица — один объект, а четыре поля превратили бы её в четыре независимых ввода, которые можно заполнить как угодно, в том числе так, что матрицы не получится вовсе. Целая матрица в одном поле даёт обратную беду: нельзя отличить пропущенный элемент от переставленного. Поле на строку держит два числа строки вместе и всё же позволяет странице проверить, что в строке ровно два числа.
- Когда можно оставить вторую матрицу пустой?
- Когда выбранному действию она не нужна. Обращение читает только первую матрицу, поэтому оба поля второй можно оставить пустыми, и ничего не пропало. Сложению и умножению нужны обе, и страница подождёт, а не станет ругаться, пока вы ещё печатаете. Обязательность поля решает действие, а не само поле.
- Почему обращение иногда отклоняется?
- Потому что обратная матрица отменяет первую, а у вырожденной матрицы такой обратной нет. Вырожденная матрица — это матрица с нулевым определителем: она сплющивает плоскость в прямую, разные входы попадают в один выход, и развернуть это нельзя. Страница отказывает, а не печатает четыре числа, похожие на ответ. Сложение и умножение той же самой матрицы работают как обычно.
- Какой матрице принадлежит определитель?
- Всегда первой, какое бы действие вы ни выбрали, поэтому он остаётся на месте, пока вы переключаетесь между сложением, умножением и обращением одного и того же ввода. Это свойство самой матрицы, а не ответа, и именно оно решает, существует ли обратная. Если нужен определитель второй матрицы, поставьте её на первое место и выберите обращение.
- Важен ли порядок двух матриц?
- Для умножения — да, и это настоящее различие, а не формальность: перестановка двух матриц даёт четыре других элемента. Если это два преобразования, порядок умножения и есть порядок применения. Сложение — исключение: матрицы складываются так же, как обычные числа, и порядок не значит ничего.
- Зачем вообще нужна единичная матрица?
- Она делает с матричным умножением то же, что число 1 делает с обычным: ничего не меняет. Единичная матрица — это единицы по диагонали и нули вне неё, и на неё умножают, когда проверяют обратную матрицу: произведение обязано дать ровно её. Отсюда и определение обратной — матрица, которая в произведении с исходной даёт единичную.
Источники
- Matrix — the object this page takes as input, with the definitions of addition, multiplication and the identity matrix that the three operations here follow — Wolfram MathWorld (United States)
- Matrix inverse — the matrix that undoes another, its formula for the 2×2 case as used on this page, and the condition that it exists only when the determinant is not zero — Wolfram MathWorld (United States)
- Determinant — the number the page prints beside every answer: how it is computed for a 2×2 matrix, why the inverse is divided by it, and what a value of zero says about the matrix — Wolfram MathWorld (United States)