Перемножение матрицы: Онлайн калькулятор. Умножение матриц

13. Умножение матриц

Отметим, что перемножать матрицы А и В можно только в том случае, когда число столбцов первой матрицы равно числу строк второй матрицы.

Однострочная матрица называется Строкой, а одно столбцовая матрица называется Столбцом. Пусть даны строка А и столбец В одинаковой длины,

.

Определение 4. Произведением АВ строки А на столбец В той же длины называется сумма попарных произведений элементов строки на соответствующие элементы столбца, т. е.

.

Пусть число столбцов матрицы А равно числу столбцов матрицы В,

, .

Определение 5. Произведением АВ Матрицы А размерности m´N На матрицу В размерности n´K называется такая матрица С размерности m´K, каждый элемент которой сумма попарных произведений элементов I-й строки на соответствующие элементы j-го столбца, т.

е.

. (1)

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

Пример 1.

.

Пример 2.

.

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

Теорема 2. Для любых матриц А, В и С соответствующей размерности и для любых чисел A,BK Справедливы следующие свойства.

1. (АВ)С=А(ВС) – Ассоциативность сложения

.

2. (А+В=АС+ВС – правый дистрибутивный закон умножения относительно сложения.

3. А(В+С)=АВ+АВЛевый дистрибутивный закон умножения относительно сложения.

4. A(АВ)=(AА)В=А(AВ) – ассоциативность умножения на число.

Доказательство. Доказательства этих свойств основываются на определениях 1-3, 5 и свойствах операций в кольце К. Докажем, например, свойство 1.

Пусть матрицы соответственно размерностей M´N, N´K, K´S (обозначены только общие элементы этих матриц). Тогда Существуют и матрицы соответственно размерностей

M´K, n´S:

,

.

Отсюда матрицы имеют одинаковые размерности M´S. Докажем, что соответствующие элементы этих матриц равны. Действительно, в силу приведенных выше формул

Для . Свойство доказано.

Обозначим множество всех квадратных матриц порядка n c элементами из кольца К черех . называется Матричным кольцом.

< Предыдущая   Следующая >

7.1.3. Умножение MathCAD 12 руководство

RADIOMASTER

Лучшие смартфоны на Android в 2022 году

Серия iPhone от Apple редко чем удивляет. Когда вы получаете новый iPhone, общее впечатление, скорее всего, будет очень похожим на ваше предыдущее устройство. Однако всё совсем не так в лагере владельцев устройств на Android. Существуют телефоны Android всех форм и размеров, не говоря уже о разных ценовых категориях. Другими словами, Android-телефон может подойти многим. Однако поиск лучших телефонов на Android может быть сложной задачей.

Документация Схемотехника CAD / CAM Статьи

MathCAD 12 MatLab OrCAD P CAD AutoCAD MathCAD 8 – 11

  • Главная
  • /
  • База знаний
  • /
  • CAD / CAM
  • /
  • MathCAD 12
  • Линейная алгебра
  • 7.1. Простейшие матричные операции
    • 7.1.1. Транспонирование
    • 7. 1.2. Сложение и вычитание
    • 7.1.3. Умножение
  • 7.2. Векторная алгебра
    • 7.2.1. Модуль вектора
    • 7.2.2. Скалярное произведение
    • 7.2.3. Векторное произведение
    • 7.2.4. Векторизация массива
  • 7.3. Вычисление определителей и обращение квадратных матриц
    • 7.3.1. Определитель квадратной матрицы
    • 7.3.2. Ранг матрицы
    • 7.3.3. Обращение квадратной матрицы
    • 7.3.4. Возведение квадратной матрицы в степень
    • 7.3.5. Матричные нормы
    • 7.3.6. Число обусловленности квадратной матрицы
  • 7.4. Вспомогательные матричные функции
    • 7.4.1. Автоматическая генерация матриц
    • 7.4.2. Разбиение и слияние матриц
    • 7.4.3. Сортировка элементов матриц
    • 7.4.4. Вывод размера матрицы

При умножении следует помнить, что матрицу размерности MxN допустимо умножать только на матрицу размерности NxP (р может быть любым). В результате получается матрица размерности MхP.

Чтобы ввести символ умножения, нужно нажать клавишу со звездочкой <*> или воспользоваться панелью инструментов Matrix (Матрица), нажав на ней кнопку Dot Product (Умножение). Умножение матриц обозначается по умолчанию точкой, как показано в листинге 7.5.

Листинг 7.5. Перемножение матриц

Обратите внимание (нижняя строка листинга 7.5), что попытка перемножить матрицы А и В несоответствующего (одинакового 2х3) размера оказалась безрезультатной: после введенного знака равенства находится пустой местозаполнитель, а само выражение в редакторе Mathcad выделяется красным цветом. При установке курсора на это выражение появляется сообщение о несовпадении числа строк первой матрицы с числом столбцов второй матрицы.

Еще один пример, относящийся к умножению вектора на матрицу-строку и, наоборот, строки на вектор, приведен в листинге 7.6.

ВНИМАНИЕ!

Тот же самый оператор умножения действует на два вектора по-другому (см.

разд. 7.2.2).

Листинг 7.6. Умножение вектора и строки

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

Листинг 7.7. Умножение матрицы на скалярную величину

Нравится

Твитнуть

Теги MathCad САПР

Сюжеты MathCad

Глава 1 Основы работы с системой Mathcad 11

9861 0

Глава 10 Работа с информационными ресурсами Mathcad 11

6907 0

Глава 2 Работа с файлами Mathcad 11

12315 0

Комментарии (0)

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

Вход

О проекте Использование материалов Контакты

Новости Статьи База знаний

Радиомастер
© 2005–2022 radiomaster.ru

При использовании материалов данного сайта прямая и явная ссылка на сайт radiomaster.ru обязательна. 0.2218 s

T \]

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

Например

\[A + B = \begin{pmatrix} 1 & -5 & 4 \\ 2 & 5 & 3 \end{pmatrix} + \begin{pmatrix} 8 & -3 & -4 \\ 4 & -2 & 9 \end{pmatrix} = \begin{pmatrix} 1 + 8 & -5 – 3 & 4 – 4 \\ 2 + 4 & 5 -2 & 3 + 9Т \]

Матричное скалярное умножение Раздел

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

Например…

\[ 6*A = 6 * \begin{pmatrix} 1 & -5 & 4\\ 2 & 5 & 3 \end{pmatrix} = \begin{pmatrix} 6 * 1 & 6 * -5 & 6 * 4\\ 6 * 2 и 6 *5 и 6 * 3 \end{pmatrix} = \begin{pmatrix} 6 & -30 & 24 \\ 12 & 30 & 18 \end{pmatrix}\]

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

Например, для векторов x и y скалярное произведение рассчитывается ниже

\[ x \cdot y = \begin{pmatrix} 1 & -5 & 4 \end{pmatrix} * \begin{pmatrix} 4 & -2 & 5 \end{pmatrix} = 1*4 + (-5 )*(-2) + 4*5 = 4+10+20 = 34\]

Умножение матриц Раздел

Чтобы выполнить умножение матриц , первая матрица должна иметь такое же количество столбцов, сколько строк во второй матрице. Количество строк полученной матрицы равно количеству строк первой матрицы, а количество столбцов полученной матрицы равно количеству столбцов второй матрицы. Таким образом, матрицу 3 × 5 можно умножить на матрицу 5 × 7, получив матрицу 3 × 7, но нельзя умножить матрицу 2 × 8 на матрицу 4 × 2. Чтобы найти элементы в результирующей матрице, просто возьмите скалярное произведение соответствующей строки первой матрицы и соответствующего столбца второй матрицы. T\).

Что такое быстрое умножение матриц? – Ник Хайам

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

В 1969 году Фолькер Штрассен показал, что, когда произведение можно вычислить по формулам

, вычисление требует умножения и сложения вместо умножения и сложения для обычных формул.

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

Давайте рассмотрим количество умножений для рекурсивного алгоритма Штрассена. Обозначим числом скалярных умножений, необходимых для умножения двух матриц. У нас так

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

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

Текущая рекордная верхняя граница показателя степени , доказанная Алманом и Василевской Уильямс (2021), которая улучшилась по сравнению с предыдущей записью , доказанной Ле Галлом (2014). На следующем рисунке показана наилучшая верхняя граница показателя степени для умножения матриц. со временем.

В методах, которые достигают показателей степени ниже 2,775, используются различные сложные методы, основанные на представлении умножения матриц в терминах билинейных или трилинейных форм и их представлении в виде тензоров низкого ранга. Ладерман, Пан и Ша (1993) объясняют, что для этих методов «очень большие служебные константы скрыты в обозначениях» и что методы «улучшают алгоритм Штрассена (и даже классический) только для огромных чисел».

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

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

, где и — единица округления. Для метода Штрассена у нас есть только нормальная граница ошибки. В следующем результате используется норма , которая не является согласованной нормой.

Теорема 1 (Брент). Пусть , где . Предположим, что это вычислено методом Штрассена, и это порог, при котором используется обычное умножение. Вычисленный продукт удовлетворяет

При полной рекурсии () константа в (2) равна , тогда как при одном уровне рекурсии () она равна . Их сравнивают с обычным умножением (полученным путем взятия норм в (1)). Таким образом, константа для метода Штрассена растет быстрее, чем для обычного умножения, независимо от выбора .

Тот факт, что метод Штрассена не удовлетворяет ограничению покомпонентной ошибки, является существенным недостатком метода. Действительно, метод Штрассена не может даже точно умножить на единичную матрицу. Продукт

вычисляется точно в арифметике с плавающей запятой путем обычного умножения, но метод Штрассена вычисляет

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

Еще одна слабость метода Штрассена заключается в том, что, хотя масштабирование , где диагональ, оставляет (1) без изменений, оно может изменить (2) на произвольную величину. Думитреску (1998) предлагает вычисление , где диагональные матрицы и выбираются для уравновешивания строк и столбцов в -норме; он показывает, что такое масштабирование может повысить точность результата. Дальнейшие исследования в этом направлении проводятся Ballard et al. (2016).

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

Примечания

Недавнюю работу по высокопроизводительной реализации метода Штрассена см. в Huang et al. (2016, 2020).

Теорема 1 взята из неопубликованного технического отчета Брента (1970). Доказательство можно найти у Higham (2002, §23.2.2).

Подробнее о быстром умножении матриц см. Бини (2014) и Хайэм (2002, глава 23).

Ссылки

Это минимальный набор ссылок, который содержит дополнительные полезные ссылки внутри.

  • Джош Алман и Вирджиния Василевска Уильямс. Усовершенствованный лазерный метод и более быстрое умножение матриц. В Материалы симпозиума ACM-SIAM 2021 г. по дискретным алгоритмам (SODA) , Общество промышленной и прикладной математики, январь 2021 г., страницы 522–539.
  • Грей Баллард, Остин Р. Бенсон, Алекс Друински, Бенджамин Липшиц и Одед Шварц. Улучшение численной устойчивости быстрого матричного умножения. СИАМ Дж. Матричный анал. Заявка , 37(4):1382–1418, 2016.
  • Бенсон, Алекс Друински, Бенджамин Липшиц и Одед Шварц. Улучшение численной устойчивости быстрого матричного умножения. СИАМ Дж. Матричный анал. заявл. , 37(4):1382–1418, 2016.
  • Дарио А. Бини. Быстрое умножение матриц. В Справочнике по линейной алгебре , Лесли Хогбен, редактор, второе издание, Чепмен и Холл / CRC, Бока-Ратон, Флорида, США, 2014 г., страницы 61.1–61.17.
  • Богдан Думитреску. Улучшение и оценка точности алгоритма Штрассена. Номер. Мат. , 79: 485–499, 1998.
  • Николас Дж. Хайам, Точность и стабильность численных алгоритмов, второе издание, Общество промышленной и прикладной математики, Филадельфия, Пенсильвания, США, 2002.
  • Цзяньюй Хуан, Тайлер М. Смит, Грег М. Генри и Роберт А. ван де Гейн. Алгоритм Штрассена перезагрузился. В SC16: Международная конференция по высокопроизводительным вычислениям, сетям, хранению и анализу , IEEE, ноябрь 2016 г.
  • Цзяньюй Хуанг, Ченхан Д. Ю и Роберт А. ван де Гейн. Алгоритм Штрассена перезагружен на GPU, ACM Trans. Мат. Программное обеспечение , 46(1):1:1–1:22, 2020.

Оставить комментарий