Матриц умножение на вектор: Умножение матрицы на вектор, формула и примеры

Содержание

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

Произведение двух матриц

Определение 1

Произведение матриц (С= АВ) — операция только для согласованных матриц А и В, у которых число столбцов матрицы А равно числу строк матрицы В:

C⏟m×n=A⏟m×p×B⏟p×n

Пример 1

 Даны матрицы:

  • A=a(ij) размеров m×n;
  • B=b(ij) размеров p×n

Матрицу C, элементы cij которой вычисляются по следующей формуле:

cij=ai1×b1j+ai2×b2j+…+aip×bpj, i=1,…m, j=1,…m

Пример 2

Вычислим произведения АВ=ВА:

А=121012, В=100111

Решение, используя правило умножения матриц:

А⏟2×3×В⏟3×2=121012×100111=1×1+2×0+1×11×0+2×1+1×10×1+1×0+2×10×0+1×1+2×1==2323⏟2×2

В⏟3×2×А⏟2×3=100111×121012=1×1+0×01×2+0×11×1+0×20×1+1×00×2+1×10×1+1×21×1+1×01×2+1×11×1+1×2=121012133⏟3×3

Произведение АВ и ВА найдены, но являются матрицами разных размеров: АВ не равна ВА.

Свойства умножения матриц

Свойства умножения матриц:

  • (АВ)С = А(ВС) — ассоциативность умножения матриц;
  • А(В+С) = АВ + АС — дистрибутивность умножения;
  • (А+В)С = АС + ВС — дистрибутивность умножения;
  • λ(АВ)=(λА)В
Пример 1

Проверяем свойство №1: (АВ)С = А(ВС):

(А×В)×А=1234×5678×1002=19224350×1002=194443100,

А(В×С)=1234×56781002=1234×512716=194443100.

Пример 2

Проверяем свойство №2: А(В+С) = АВ + АС:

А×(В+С)=1234×5678+1002=1234×66710=20264658,

АВ+АС=1234×5678+1234×1002=19224350+1438=20264658.

Произведение трех матриц

Произведение трех матриц АВС вычисляют 2-мя способами:

  • найти АВ и умножить на С: (АВ)С;
  • либо найти сначала ВС, а затем умножить А(ВС).
​​​​​Пример 3

Перемножить матрицы 2-мя способами:

4375×-289338-126×7321

Алгоритм действий:

  • найти произведение 2-х матриц;
  • затем снова найти произведение 2-х матриц.

1). АВ=4375×-289338-126=4(-28)+3×384×93+3(-126)7(-28)+5×387×93+5(-126)=2-6-621

2). АВС=(АВ)С=2-6-6217321=2×7-6×22×3-6×1-6×7+21×2-6×3+21×1=2003.

Используем формулу АВС=(АВ)С:

1). ВС=-289338-1267321=-28×7+93×2-28×3+93×138×7-126×238×3-126×1=-10914-12

2). АВС=(АВ)С=7321-10914-12=4(-10)+3×144×9+3(-12)7(-10)+5×147×9+5(-12)=2003

Ответ: 4375-289338-1267321=2003

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

Определение 2

Произведение матрицы А на число k — это матрица В=Аk того же размера, которая получена из исходной умножением на заданное число всех ее элементов:

bi,j=k×ai,j

Свойства умножения матрицы на число:

  • 1×А=А
  • 0×А=нулевая матрица
  • k(A+B)=kA+kB
  • (k+n)A=kA+nA
  • (k×n)×A=k(n×A)
Пример 4

Найдем произведение матрицы А=4290   на 5.

Решение:

5А=542905×45×25×95×0=2010450

Умножение матрицы на вектор

Определение 3

Чтобы найти произведение матрицы и вектора, необходимо умножать по правилу «строка на столбец»:

  • если умножить матрицу на вектор-столбец число столбцов в матрице должно совпадать с числом строк в векторе-столбце;
  • результатом умножения вектора-столбца является только вектор-столбец:

АВ=а11а12⋯а1nа21а22⋯а2n⋯⋯⋯⋯аm1аm2⋯аmnb1b2⋯b1n=a11×b1+a12×b2+⋯+a1n×bna21×b1+a22×b2+⋯+a2n×bn⋯⋯⋯⋯am1×b1+am2×b2+⋯+amn×bn=c1c2⋯c1m

  • если умножить матрицу на вектор-строку, то умножаемая матрица должна быть исключительно вектором-столбцом, причем количество столбцов должно совпадать с количеством столбцов в векторе-строке:

АВ=аа⋯аbb⋯b=a1×b1a1×b2⋯a1×bna2×b1a2×b2⋯a2×bn⋯⋯⋯⋯an×b1an×b2⋯an×bn=c11c12⋯c1nc21c22⋯c2n⋯⋯⋯⋯cn1cn2⋯cnn

Пример 5

Найдем произведение матрицы А и вектора-столбца В:

АВ=240-213-10112-1=2×1+4×2+0×(-1)-2×1+1×2+3×(-1)-1×1+0×2+1×(-1)=2+8+0-2+2-3-1+0-1=10-3-2

Пример 6

Найдем произведение матрицы А и вектора-строку В:

А=320-1, В=-1102

Решение:

АВ=3201×-1102=3×(-1)3×13×03×22×(-1)2×12×02×20×(-1)0×10×00×21×(-1)1×11×01×2=-3306-22040000-1102

Ответ: АВ=-3306-22040000-1102

Решение задач от 1 дня / от 150 р. Курсовая работа от 5 дней / от 1800 р. Реферат от 1 дня / от 700 р.

Автор: Ирина Мальцевская

Преподаватель математики и информатики. Кафедра бизнес-информатики Российского университета транспорта

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

Произведение двух матриц

Определение 1

Произведение матриц (С= АВ) — операция только для согласованных матриц А и В, у которых число столбцов матрицы А равно числу строк матрицы В:

C⏟m×n=A⏟m×p×B⏟p×n

Пример 1

 Даны матрицы:

  • A=a(ij) размеров m×n;
  • B=b(ij) размеров p×n

Матрицу C, элементы cij которой вычисляются по следующей формуле:

cij=ai1×b1j+ai2×b2j+…+aip×bpj, i=1,…m, j=1,…m

Пример 2

Вычислим произведения АВ=ВА:

А=121012, В=100111

Решение, используя правило умножения матриц:

А⏟2×3×В⏟3×2=121012×100111=1×1+2×0+1×11×0+2×1+1×10×1+1×0+2×10×0+1×1+2×1==2323⏟2×2

В⏟3×2×А⏟2×3=100111×121012=1×1+0×01×2+0×11×1+0×20×1+1×00×2+1×10×1+1×21×1+1×01×2+1×11×1+1×2=121012133⏟3×3

Произведение АВ и ВА найдены, но являются матрицами разных размеров: АВ не равна ВА.

Свойства умножения матриц

Свойства умножения матриц:

  • (АВ)С = А(ВС) — ассоциативность умножения матриц;
  • А(В+С) = АВ + АС — дистрибутивность умножения;
  • (А+В)С = АС + ВС — дистрибутивность умножения;
  • λ(АВ)=(λА)В
Пример 1

Проверяем свойство №1: (АВ)С = А(ВС):

(А×В)×А=1234×5678×1002=19224350×1002=194443100,

А(В×С)=1234×56781002=1234×512716=194443100.

Пример 2

Проверяем свойство №2: А(В+С) = АВ + АС:

А×(В+С)=1234×5678+1002=1234×66710=20264658,

АВ+АС=1234×5678+1234×1002=19224350+1438=20264658.

Произведение трех матриц

Произведение трех матриц АВС вычисляют 2-мя способами:

  • найти АВ и умножить на С: (АВ)С;
  • либо найти сначала ВС, а затем умножить А(ВС).
​​​​​Пример 3

Перемножить матрицы 2-мя способами:

4375×-289338-126×7321

Алгоритм действий:

  • найти произведение 2-х матриц;
  • затем снова найти произведение 2-х матриц.

1). АВ=4375×-289338-126=4(-28)+3×384×93+3(-126)7(-28)+5×387×93+5(-126)=2-6-621

2). АВС=(АВ)С=2-6-6217321=2×7-6×22×3-6×1-6×7+21×2-6×3+21×1=2003.

Используем формулу АВС=(АВ)С:

1). ВС=-289338-1267321=-28×7+93×2-28×3+93×138×7-126×238×3-126×1=-10914-12

2). АВС=(АВ)С=7321-10914-12=4(-10)+3×144×9+3(-12)7(-10)+5×147×9+5(-12)=2003

Ответ: 4375-289338-1267321=2003

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

Определение 2

Произведение матрицы А на число k — это матрица В=Аk того же размера, которая получена из исходной умножением на заданное число всех ее элементов:

bi,j=k×ai,j

Свойства умножения матрицы на число:

  • 1×А=А
  • 0×А=нулевая матрица
  • k(A+B)=kA+kB
  • (k+n)A=kA+nA
  • (k×n)×A=k(n×A)
Пример 4

Найдем произведение матрицы А=4290   на 5.

Решение:

5А=542905×45×25×95×0=2010450

Умножение матрицы на вектор

Определение 3

Чтобы найти произведение матрицы и вектора, необходимо умножать по правилу «строка на столбец»:

  • если умножить матрицу на вектор-столбец число столбцов в матрице должно совпадать с числом строк в векторе-столбце;
  • результатом умножения вектора-столбца является только вектор-столбец:

АВ=а11а12⋯а1nа21а22⋯а2n⋯⋯⋯⋯аm1аm2⋯аmnb1b2⋯b1n=a11×b1+a12×b2+⋯+a1n×bna21×b1+a22×b2+⋯+a2n×bn⋯⋯⋯⋯am1×b1+am2×b2+⋯+amn×bn=c1c2⋯c1m

  • если умножить матрицу на вектор-строку, то умножаемая матрица должна быть исключительно вектором-столбцом, причем количество столбцов должно совпадать с количеством столбцов в векторе-строке:

АВ=аа⋯аbb⋯b=a1×b1a1×b2⋯a1×bna2×b1a2×b2⋯a2×bn⋯⋯⋯⋯an×b1an×b2⋯an×bn=c11c12⋯c1nc21c22⋯c2n⋯⋯⋯⋯cn1cn2⋯cnn

Пример 5

Найдем произведение матрицы А и вектора-столбца В:

АВ=240-213-10112-1=2×1+4×2+0×(-1)-2×1+1×2+3×(-1)-1×1+0×2+1×(-1)=2+8+0-2+2-3-1+0-1=10-3-2

Пример 6

Найдем произведение матрицы А и вектора-строку В:

А=320-1, В=-1102

Решение:

АВ=3201×-1102=3×(-1)3×13×03×22×(-1)2×12×02×20×(-1)0×10×00×21×(-1)1×11×01×2=-3306-22040000-1102

Ответ: АВ=-3306-22040000-1102

Решение задач от 1 дня / от 150 р. Курсовая работа от 5 дней / от 1800 р. Реферат от 1 дня / от 700 р.

Автор: Ирина Мальцевская

Преподаватель математики и информатики. Кафедра бизнес-информатики Российского университета транспорта

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

Произведение двух матриц

Определение 1

Произведение матриц (С= АВ) — операция только для согласованных матриц А и В, у которых число столбцов матрицы А равно числу строк матрицы В:

C⏟m×n=A⏟m×p×B⏟p×n

Пример 1

 Даны матрицы:

  • A=a(ij) размеров m×n;
  • B=b(ij) размеров p×n

Матрицу C, элементы cij которой вычисляются по следующей формуле:

cij=ai1×b1j+ai2×b2j+…+aip×bpj, i=1,…m, j=1,…m

Пример 2

Вычислим произведения АВ=ВА:

А=121012, В=100111

Решение, используя правило умножения матриц:

А⏟2×3×В⏟3×2=121012×100111=1×1+2×0+1×11×0+2×1+1×10×1+1×0+2×10×0+1×1+2×1==2323⏟2×2

В⏟3×2×А⏟2×3=100111×121012=1×1+0×01×2+0×11×1+0×20×1+1×00×2+1×10×1+1×21×1+1×01×2+1×11×1+1×2=121012133⏟3×3

Произведение АВ и ВА найдены, но являются матрицами разных размеров: АВ не равна ВА.

Свойства умножения матриц

Свойства умножения матриц:

  • (АВ)С = А(ВС) — ассоциативность умножения матриц;
  • А(В+С) = АВ + АС — дистрибутивность умножения;
  • (А+В)С = АС + ВС — дистрибутивность умножения;
  • λ(АВ)=(λА)В
Пример 1

Проверяем свойство №1: (АВ)С = А(ВС):

(А×В)×А=1234×5678×1002=19224350×1002=194443100,

А(В×С)=1234×56781002=1234×512716=194443100.

Пример 2

Проверяем свойство №2: А(В+С) = АВ + АС:

А×(В+С)=1234×5678+1002=1234×66710=20264658,

АВ+АС=1234×5678+1234×1002=19224350+1438=20264658.

Произведение трех матриц

Произведение трех матриц АВС вычисляют 2-мя способами:

  • найти АВ и умножить на С: (АВ)С;
  • либо найти сначала ВС, а затем умножить А(ВС).
​​​​​Пример 3

Перемножить матрицы 2-мя способами:

4375×-289338-126×7321

Алгоритм действий:

  • найти произведение 2-х матриц;
  • затем снова найти произведение 2-х матриц.

1). АВ=4375×-289338-126=4(-28)+3×384×93+3(-126)7(-28)+5×387×93+5(-126)=2-6-621

2). АВС=(АВ)С=2-6-6217321=2×7-6×22×3-6×1-6×7+21×2-6×3+21×1=2003.

Используем формулу АВС=(АВ)С:

1). ВС=-289338-1267321=-28×7+93×2-28×3+93×138×7-126×238×3-126×1=-10914-12

2). АВС=(АВ)С=7321-10914-12=4(-10)+3×144×9+3(-12)7(-10)+5×147×9+5(-12)=2003

Ответ: 4375-289338-1267321=2003

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

Определение 2

Произведение матрицы А на число k — это матрица В=Аk того же размера, которая получена из исходной умножением на заданное число всех ее элементов:

bi,j=k×ai,j

Свойства умножения матрицы на число:

  • 1×А=А
  • 0×А=нулевая матрица
  • k(A+B)=kA+kB
  • (k+n)A=kA+nA
  • (k×n)×A=k(n×A)
Пример 4

Найдем произведение матрицы А=4290   на 5.

Решение:

5А=542905×45×25×95×0=2010450

Умножение матрицы на вектор

Определение 3

Чтобы найти произведение матрицы и вектора, необходимо умножать по правилу «строка на столбец»:

  • если умножить матрицу на вектор-столбец число столбцов в матрице должно совпадать с числом строк в векторе-столбце;
  • результатом умножения вектора-столбца является только вектор-столбец:

АВ=а11а12⋯а1nа21а22⋯а2n⋯⋯⋯⋯аm1аm2⋯аmnb1b2⋯b1n=a11×b1+a12×b2+⋯+a1n×bna21×b1+a22×b2+⋯+a2n×bn⋯⋯⋯⋯am1×b1+am2×b2+⋯+amn×bn=c1c2⋯c1m

  • если умножить матрицу на вектор-строку, то умножаемая матрица должна быть исключительно вектором-столбцом, причем количество столбцов должно совпадать с количеством столбцов в векторе-строке:

АВ=аа⋯аbb⋯b=a1×b1a1×b2⋯a1×bna2×b1a2×b2⋯a2×bn⋯⋯⋯⋯an×b1an×b2⋯an×bn=c11c12⋯c1nc21c22⋯c2n⋯⋯⋯⋯cn1cn2⋯cnn

Пример 5

Найдем произведение матрицы А и вектора-столбца В:

АВ=240-213-10112-1=2×1+4×2+0×(-1)-2×1+1×2+3×(-1)-1×1+0×2+1×(-1)=2+8+0-2+2-3-1+0-1=10-3-2

Пример 6

Найдем произведение матрицы А и вектора-строку В:

А=320-1, В=-1102

Решение:

АВ=3201×-1102=3×(-1)3×13×03×22×(-1)2×12×02×20×(-1)0×10×00×21×(-1)1×11×01×2=-3306-22040000-1102

Ответ: АВ=-3306-22040000-1102

Решение задач от 1 дня / от 150 р. Курсовая работа от 5 дней / от 1800 р. Реферат от 1 дня / от 700 р.

Автор: Ирина Мальцевская

Преподаватель математики и информатики. Кафедра бизнес-информатики Российского университета транспорта

#11. Произведение матриц и векторов, элементы линейной алгебры

Смотреть материал на видео

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

a = np.arange(1, 10).reshape(3, 3)
b = np.arange(10, 19).reshape(3, 3)
a*b

В консоли увидим результат:

array([[ 10,  22,  36],
       [ 52,  70,  90],
[112, 136, 162]])

Матричное умножение

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

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

np.dot(a, b)

Эта функция возвращает новую матрицу (двумерный массив) с результатом умножения:

array([[ 84,  90,  96],
[201, 216, 231],
[318, 342, 366]])

Тот же результат можно получить и с помощью функции:

np.matmul(a, b)

Считается, что этот вариант предпочтительнее использовать при умножении матриц.

Векторное умножение

Аналогичные операции можно выполнять и с векторами. Математически, если у нас имеются два вектора:

то их умножение можно реализовать в двух видах:

и

Первое умножение реализуется либо через функцию:

a = np.arange(1, 10)
b = np. ones(9)
np.dot(a, b) # значение 45

Либо, более предпочтительной функцией для внутреннего умножения векторов:

np.inner(a, b) # 45

Второй вариант умножения (внешнее умножение векторов) реализуется с помощью функции:

np.outer(a, b)

получим результат в виде следующей матрицы:

array([[1., 1., 1., 1., 1., 1., 1., 1., 1.],
       [2., 2., 2., 2., 2., 2., 2., 2., 2.],
       [3., 3., 3., 3., 3., 3., 3., 3., 3.],
       [4., 4., 4., 4., 4., 4., 4., 4., 4.],
       [5., 5., 5., 5., 5., 5., 5., 5., 5.],
       [6., 6., 6., 6., 6., 6., 6., 6., 6.],
       [7., 7., 7., 7., 7., 7., 7., 7., 7.],
       [8., 8., 8., 8., 8., 8., 8., 8., 8.],
[9., 9., 9., 9., 9., 9., 9., 9., 9.]])

Операция умножения матриц и векторов используется довольно часто, поэтому в пакете NumPy имеется весьма полезный перегруженный оператор, заменяющий функцию matmul:

a @ b # значение 45

или, с использованием матриц:

a. resize(3, 3)
b.resize(3, 3)
a @ b # аналог np.matmul(a, b)

Умножение вектора на матрицу

Наконец, рассмотрим умножение вектора на матрицу. Это также можно записать двумя способами:

или

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

a = np.array([1,2,3])
b = np.arange(4,10).reshape(3,2) # матрица 3x2

И, затем, воспользуемся уже знакомой нам функцией dot:

np.dot(a, b) # array([40, 46])

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

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

np.dot(b, a) # несогласованность размеров

Дело в том, что массив a должен представлять вектор длиной два элемента, так как матрица b имеет размер в 3 строки и 2 столбца:

Определим массивa в два элемента и умножим на матрицу b:

a = np. array([1, 2])
np.dot(b, a) # array([14, 20, 26])

Получаем вектор-строку (одномерный массив) как результат умножения. Обратите внимание, по правилам математики вектор aдолжен быть вектором-столбцом, то есть, быть представленным в виде:

a.shape = -1, 1 # вектор-столбец 2x1

Но мы использовали вектор-строку. В NumPyтак тоже можно делать и это не приведет к ошибке. Результат будет именно умножение матрицы как бы на вектор-столбец. Ну а если использовать вектор-столбец, то и на выходе получим вектор-столбец:

np.dot(b, a) # вектор-столбец 3x1

Этого же результат можно достичь, используя оператор @ (перегрузка функции matmul):

a @ b # вектор-столбец 3x1

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

Элементы линейной алгебры

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

Предположим, имеется квадратная матрица 3×3:

a = np.array([(1, 2, 3), (1, 4, 9), (1, 8, 27)])

Первым делом вычислим ранг этой матрицы, чтобы быть уверенным, что она состоит из линейно независимых строк и столбцов:

np.linalg.matrix_rank(a) # рангравен 3

Если ранг матрицы совпадает с ее размерностью, значит, она способна описывать систему из трех независимых линейных уравнений. В нашем случае, система уравнений будет иметь вид:

Здесь  - некие числа линейного уравнения. Например, возьмем их равными:

y = np.array([10, 20, 30])

Тогда корни уравнения можно вычислить с помощью функции solve:

np.linalg.solve(a, y) # array([-5.  , 10.   , -1.66666667])

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

Откуда получаем решения :

На уровне пакета NumPy это делается так:

invA = np.linalg.inv(a) # вычисление обратной матрицы
invA @ y # вычисление корней

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

Функция

Описание

linalg.cholesky()

Разложение Холецкого

linalg. qr()

QR-разложение матрицы

linalg.svd()

Сингулярное (SVD) разложение матрицы

linalg.norm()

Норма матрицы или вектора

linalg.cond()

Число обусловленности матрицы

linalg.det()

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

linalg.matrix_rank()

Вычисление ранга матрицы по алгоритму SVD

np.trace()

Сумма диагональных элементов массива

linalg. eig()

Вычисление собственных значений и правых собственных векторов

linalg.eigvals()

Вычисление собственных значений матрицы

linalg.solve()

Решение линейного матричного уравнения

linalg.tensorsolve()

Решение линейного тензорного уравнения

linalg.lstsq()

Решает задачу поиска наименьших квадратов для линейного матричного уравнения

linalg.inv()

Вычисление обратной матрицы

linalg. pinv()

Вычисление псевдообратной (Мура-Пенроуза) матрицы

linalg.tensorinv()

Вычисление обратного тензора (N-мерного массива)

Конечно, это не все математические функции пакета NumPy. Полное описание смотрите на сайте с официальной документацией:

https://numpy.org/doc/stable/

Видео по теме

#1. Пакет numpy — установка и первое знакомство | NumPy уроки

#2. Основные типы данных. Создание массивов функцией array() | NumPy уроки

#3. Функции автозаполнения, создания матриц и числовых диапазонов | NumPy уроки

#4. Свойства и представления массивов, создание их копий | NumPy уроки

#5. Изменение формы массивов, добавление и удаление осей | NumPy уроки

#6. Объединение и разделение массивов | NumPy уроки

#7. Индексация, срезы, итерирование массивов | NumPy уроки

#8. Базовые математические операции над массивами | NumPy уроки

#9. Булевы операции и функции, значения inf и nan | NumPy уроки

#10. Базовые математические функции | NumPy уроки

#11. Произведение матриц и векторов, элементы линейной алгебры | NumPy уроки

#12. Множества (unique) и операции над ними | NumPy уроки

#13. Транслирование массивов | NumPy уроки

Векторы и матрицы в квантовых вычислениях — Azure Quantum

  • Статья
  • Чтение занимает 5 мин

Для понимания квантовых вычислений нужно хотя бы в общих чертах разбираться в векторах и матрицах. {*} v_n. $$

Такая нотация позволяет выразить норму вектора $v$ как $\sqrt{\langle v, v\rangle}$.

При умножении вектора на число $c$ мы получим новый вектор, все элементы которого умножены на $c$. При сложении двух векторов $u$ и $v$ мы получим новый вектор, все элементы которого являются суммами соответствующих элементов $u$ и $v$. К этим операциям относятся:

$$\mathrm{Если}~u =\begin{bmatrix} u_1\\ u_2\\ \vdots\\ u_n \end{bmatrix}~\mathrm{and}~ v =\begin{bmatrix} v_1\\ v_2\\ \vdots\\ v_n \end{bmatrix},~\mathrm{то}~ au+bv =\begin{bmatrix} au_1+bv_1\\ au_2+bv_2\\ \vdots\\ au_n+bv_n \end{bmatrix}. $$

Матрица размером $m \times n$ представляет собой набор из $mn$ комплексных чисел, организованных в $m$ строк и $n$ столбцов, как показано ниже:

$$M =\begin{bmatrix} M_{11}~~ M_{12}~~\cdots~~ M_{1n}\\ M_{{21}~~ M_{22}~~\cdots~~ M_{2n}\\\ddots\\ M_{m1}~~ M_{m2}~~\cdots~~ M_{mn}\\\end{bmatrix}.$$

Обратите внимание, что вектор с размерностью $n$ полностью идентичен матрице $n \times 1$. Как и для векторов, при умножении матрицы на число $c$ мы получим новую матрицу, в которой все элементы умножены на $c$, а при сложении двух матриц одинаковых размеров мы получим новую матрицу, все элементы которой являются суммой соответствующих элементов двух исходных матриц.

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

При умножении двух матриц $M$ с размером $m\times n$ и $N$ с размером $n \times p$ мы получим новую матрицу $P$ с размером $m \times p$ по такой формуле:

\begin{\begin{align}&\begin{bmatrix} M_{{11}~~ M_{12}~~\cdots~~ M_{1n}\\ M_{21}~~ M_{22}~~\cdots~~ M_{2n}\\\ddots\\ M_{m1}~~ M_{m2}~~\cdots~~ M_{mn}\end{bmatrix}\begin{bmatrix} N_{{11}~~ N_{12}~~\cdots~~ N_{1p}\\ N_{{21}~~ N_{{22}~~\cdots~~ N_{2p}\\\ddots\\ N_{n1}~~ N_{n2}~~\cdots~~ N_{np}\end{bmatrix}=\begin{bmatrix} P_{{11}~~ P_{{12}~~\cdots~~ P_{1p}\\ P_{{21}~~ P_{22}~~\cdots~~ P_{2p}\\\ddots\\ P_{m1}~~ P_{m2}~~\cdots~~ P_{mp}\end{bmatrix}\end{align}

где элементы $P$ обозначены как $P_{ik}=\sum_j M_{ij}N_{jk}$. Например, элемент $P_{11}$ является скалярным произведением первой строки $M$ и первого столбца $N$. \dagger$.

Тензорное произведение

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

Для примера рассмотрим два вектора $v=\begin{bmatrix}a \\ b \end{bmatrix}$ и $u =\begin{bmatrix} c \\ d \\ e \end{bmatrix}$. Тензорное произведение этих векторов обозначается как $v \otimes u$, а его результатом является блочная матрица. $$\begin{bmatrix} a \\ b \end{bmatrix}\otimes\begin{bmatrix} c \\ d \\ e \end{bmatrix}=\begin{bmatrix} a \begin{bmatrix} c \\ d \\ e \end{bmatrix}\\[1.5em] b \begin{bmatrix} c \\ d \\ e\end{bmatrix}\end{bmatrix}=\begin{bmatrix} a c \\ a d \\ a e \\ b c \\ b d \\ be\end{bmatrix}$$

Обратите внимание, что операцию для получения тензорного произведения можно применить к любым матрицам и (или) векторам произвольных размеров. Тензорным произведением двух матриц $M$ размером $m\times n$ и $N$ размером $p \times q$ является более крупная матрица $P=M\otimes N$ размером $mp \times nq$, которая вычисляется на основе $M$ и $N$ по такой формуле:

\begin{align} M \otimes N &=\begin{bmatrix} M_{11}~~\cdots~~ M_{1n}\\\ddots\\ M_{m1}~~\cdots~~ M_{mn}\end{bmatrix}\otimes\begin{bmatrix} N_{{11}~~\cdots~~ N_{1q}\\\ddots\\ N_{p1}~~\cdots~~ N_{pq}\end{bmatrix}\\&=\begin{bmatrix} M_{{11}\begin{bmatrix} N_{{11}~~\cdots~~ N_{1q}\\\ddots\\ N_{p1}~~\cdots~~ N_{pq}\end{bmatrix}~~\cdots~~ M_{1n}\begin{bmatrix} N_{11}~~\cdots~~ N_{1q}\\\ddots\\ N_{p1}~~\cdots~~ N_{pq}\end{bmatrix}\\\ddots\\ M_{m1}\begin{bmatrix} N_{{11}~~\cdots~~ N_{1q}\\\ddots\\ N_{p1}~~\cdots~~ N_{pq}\end{bmatrix}~~\cdots~~ M_{mn}\begin{bmatrix} N_{{11}~~\cdots~~ N_{1q}\\\ddots\\ N_{p1}~~\cdots~~ N_{pq}\end{bmatrix}\end{bmatrix}. \end{align}

Лучше всего продемонстрировать это на конкретном примере: $$\begin{bmatrix} a\ b \\ c\ d \end{bmatrix}\otimes\begin{bmatrix} e\ f\\g\ h \end{bmatrix}=\begin{bmatrix} a\begin{bmatrix} e\ f\\ g\ h \end{bmatrix} b\begin{bmatrix} e\ f\\ g\ h \end{bmatrix}\\[1em] c\begin{bmatrix} e\ f\\ g\ h \end{bmatrix} d\begin{bmatrix} e\ f\\ g\ h \end{bmatrix}\end{bmatrix}=\begin{bmatrix} ae\ af\ be\ bf \\ ag\ ah\ bg\ bh \\ ce\ cf\ de\ df \\ cg\ ch\ dg\ dh \end{bmatrix}. {\otimes 2}=\begin{bmatrix} 0 &0&0&1 \\ 0 &0&1&0 \\ 0 &1&0&0\\ 1 &0&0&0\end{bmatrix}. \end{align}

Next Steps

  • Расширенные концепции матриц
  • Кубит в квантовых вычислениях
  • Операции с несколькими кубитами
  • Нотация Дирака
  • Измерения Паули
  • Квантовые схемы
  • Квантовые оракулы

Умножение комплексного вектора на матрицу

  • Египетские дроби. Часть вторая
  • Египетские (аликвотные) дроби
  • По сегменту определить радиус окружности
  • Круг и площадь, отсекаемая перпендикулярами
  • Деление треугольника на равные площади параллельными
  • Определение основных параметров целого числа
  • Свойства обратных тригонометрических функций
  • Разделить шар на равные объемы параллельными плоскостями
  • Взаимосвязь между организмами с различными типами обмена веществ
  • Аутотрофные и миксотрофные организмы
  • Рассечение круга прямыми на равные площади
  • Период нечетной дроби онлайн. Первые полторы тысяч разложений.
  • Представить дробь, как сумму её множителей
  • Решение системы из двух однородных диофантовых уравнений
  • Расчет основных параметров четырехполюсника
  • Цепочка остатков от деления в кольце целого числа
  • Система счисления на базе ряда Фибоначчи онлайн
  • Уравнение пятой степени. Частное решение.
  • Рассчитать площадь треугольника по трем сторонам онлайн
  • Общее решение линейного диофантового неоднородного уравнения
  • Частное решение диофантового уравнения с несколькими неизвестными
  • Онлайн разложение дробно рациональной функции
  • Корни характеристического уравнения
  • Имя пользователя при работе с Excel
  • Распределение частот появления букв русского алфавита в текстах
Элементы матрицы A
1 2 -1 2 3 0 4 -2 2 3 3 5
Элементы вектора b или c
2 1 -3

Результат умножения вектора-строки на матрицу с*A
Результат умножения матрицы на вектор-столбец A*b

Каждый вектор можно рассматривать как одностолбцовую или однострочную матрицу. Одностолбцовую матрицу будем называть вектор-столбцом, а однострочную матрицу — вектор-строкой.

Если A-матрица размера m*n, то вектор столбец b имеет размер n, а вектор строка b имеет размер m.

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

Пример.

Умножить матрицу

 

на комплексный вектор

 

Получаем результат

Результат умножения матрицы на вектор A*b
Результат умножения вектора на матрицу b*A

 

Как видите при неизменной размерности вектора, у нас могут существовать два решения.

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

 

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

 

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

 

 — матрица 

 — вектор столбец 

 — вектор-строка

 — произвольное число

1. Произведение матрицы на сумму векторов-столбцов равна сумме произведений матрицы на каждый из векторов

2. Произведение суммы векторов-строк на матрицу  равна сумме произведений векторов на матрицу

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

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

 

Удачных расчетов!!

 

  • Умножение полиномов (многочленов) онлайн >>
Поиск по сайту
  • Русский и английский алфавит в одну строку
  • Часовая и минутная стрелка онлайн. Угол между ними.
  • Универсальный калькулятор комплексных чисел онлайн
  • Перемешать буквы в тексте онлайн
  • Массовая доля химического вещества онлайн
  • Декoдировать текст \u0xxx онлайн
  • Частотный анализ текста онлайн
  • Поворот точек на произвольный угол онлайн
  • Площадь многоугольника по координатам онлайн
  • Остаток числа в степени по модулю
  • Расчет процентов онлайн
  • Обратный и дополнительный код числа онлайн
  • Как перевести градусы в минуты и секунды
  • Поиск объекта по географическим координатам
  • Расчет пропорций и соотношений
  • Время восхода и захода Солнца и Луны для местности
  • DameWare Mini Control. Настройка.
  • Растворимость металлов в различных жидкостях
  • Калькулятор географических координат
  • Теория графов. Матрица смежности онлайн
  • Географические координаты любых городов мира
  • Расчет значения функции Эйлера
  • Перевод числа в код Грея и обратно
  • Онлайн определение эквивалентного сопротивления
  • Произвольный треугольник по заданным параметрам
  • НОД двух многочленов. Greatest Common Factor (GCF)
  • Площадь пересечения окружностей на плоскости
  • Калькулятор онлайн расчета количества рабочих дней
  • Непрерывные, цепные дроби онлайн
  • Построить ненаправленный граф по матрице
  • Расчет заряда и разряда конденсатора через сопротивление
  • Месторождения золота и его спутники
  • Расчет понижающего конденсатора
  • Сообщество животных. Кто как называется?
  • Система комплексных линейных уравнений
  • Из показательной в алгебраическую. Подробно
  • Дата выхода на работу из отпуска, декрета онлайн
  • Проекция точки на плоскость онлайн
  • Определение формулы касательной к окружности
  • Расчет параметров конденсатора онлайн
Онлайн расчеты
Подписаться письмом

Умножение матриц и векторов — Math Insight

Произведение матриц и векторов

Для определения умножения между матрицей $A$ и вектором $\vc{x}$ (т. е. произведение матрицы на вектор), нам нужно просмотреть вектор как матрица-столбец. Определим матрично-векторное произведение только для случая, когда число столбцов в $A$ равно количеству строк в $\vc{x}$. Итак, если $A$ матрица $m \times n$ (т.е. с $n$ столбцами), то произведение $A \vc{x}$ определено для $n \times 1$ векторов-столбцов $\vc{x}$. Если мы пусть $A \vc{x} = \vc{b}$, тогда $\vc{b}$ — столбец $m \times 1$ вектор. Другими словами, количество строк в $A$ (которое может быть что угодно) определяет количество строк в произведении $\vc{b}$.

Общая формула для матрично-векторного произведения: \начать{выравнивать*} А\ВК{х}= \оставил[ \begin{массив}{cccc} а_{11} и а_{12} и \ldots и а_{1n}\\ a_{21} & a_{22} & \ldots & a_{2n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{m1} & a_{m2} & \ldots & a_{mn} \конец{массив} \Правильно] \оставил[ \начать{массив}{с} х_1\\ х_2\\ \vdots\\ х_n \конец{массив} \Правильно] знак равно \оставил[ \начать{массив}{с} a_{11}x_1+a_{12}x_2 + \cdots + a_{1n} x_n\\ a_{21}x_1+a_{22}x_2 + \cdots + a_{2n} x_n\\ \vdots\\ a_{m1}x_1+a_{m2}x_2 + \cdots + a_{mn} x_n\\ \конец{массив} \Правильно]. \конец{выравнивание*} Хотя поначалу это может показаться запутанным, процесс матрично-векторного умножение на самом деле очень просто. Берется скалярное произведение $\vc{x}$ с каждой строкой $A$. (Вот почему количество столбцов в $A$ должно быть равно количеству компонентов в $\vc{x}$.) первый компонент матрично-векторного произведения является скалярным произведением $\vc{x}$ с первой строкой $A$ и т. д. На самом деле, если $A$ имеет только один row, произведение матрицы на вектор на самом деле является замаскированным точечным произведением.

Например, если \начать{выравнивать*} А = \ влево[ \начать{массив}{ррр} 1 и -1 и 2\\ 0 и -3 и 1 \конец{массив} \Правильно] \конец{выравнивание*} и $\vc{x} = (2,1,0)$, то \начать{выравнивать*} A \vc{x} &= \left[ \начать{массив}{ррр} 1 и -1 и 2\\ 0 и -3 и 1 \конец{массив} \Правильно] \оставил[ \начать{массив}{л} 2\\1\\0 \конец{массив} \Правильно]\\ знак равно \оставил[ \начать{массив}{г} 2 \cdot 1 — 1\cdot 1 + 0 \cdot 2\\ 2 \cdot 0 — 1 \cdot 3 +0 \cdot 1 \конец{массив} \Правильно] \\ знак равно \оставил[ \начать{массив}{г} 1\\ -3 \конец{массив} \Правильно]. \конец{выравнивание*}

Произведение матрицы на матрицу

Поскольку мы рассматриваем векторы как матрицы-столбцы, произведение матрицы на вектор равно просто частный случай матрично-матричного произведения (т. е. произведения между двумя матрицами). Так же, как и для матрично-векторного произведения, Произведение $AB$ между матрицами $A$ и $B$ определено, только если количество столбцов в $A$ равно количеству строк в $B$. Говоря математическим языком, мы говорим, что можем умножить матрицу $m \times n$ $A$ на $n \times p$-матрицу $B$. (Если $p$ равно 1, то $B$ будет вектор-столбец $n\times 1$, и мы вернемся к матрично-векторное произведение.)

Произведение $AB$ представляет собой матрицу $m \x p$, которую мы будем называть $C$, т.е. $АВ=С$. Чтобы вычислить произведение $B$, мы рассматриваем $B$ как группу из $n \times 1$ векторов-столбцов, выстроенных рядом друг с другом: \начать{выравнивать*} \оставил[ \begin{массив}{cccc} b_{11} & b_{12} & \ldots & b_{1p}\\ b_{21} & b_{22} & \ldots & b_{2p}\\ \vdots & \vdots & \vdots & \vdots\\ b_{n1} & b_{n2} & \ldots & b_{np} \конец{массив} \Правильно] знак равно \оставил[ \оставил[ \начать{массив}{с} б_{11}\\ б_{21}\\ \vdots\\ b_{n1}\\ \конец{массив} \Правильно] \оставил[ \начать{массив}{с} б_{12}\\ б_{22}\\ \vdots\\ b_{n2}\\ \конец{массив} \Правильно] \cdots \оставил[ \начать{массив}{с} б_{1п}\\ б_{2п}\\ \vdots\\ b_{np}\\ \конец{массив} \Правильно] \Правильно] \конец{выравнивание*} Тогда каждый столбец таблицы $C$ является векторным произведением матрицы $A$ с соответствующий столбец $B$. Другими словами, компонент в $i$th строка и $j$-й столбец $C$ — это скалярное произведение между $i$-й строкой $A$ и $j$-й столбец $B$. В математике мы пишем этот компонент $C$ как $c_{ij} = a_{i1}b_{1j} + a_{i2}b_{2j} + \cdots + a_{in}b_{nj}$.

Пример справки делает процесс понятным. Пусть $A$ будет $2 \times 3$ матрица \начать{выравнивать*} А=\влево[ \начать{массив}{ррр} 0 и 4 и -2\\ -4 и -3 и 0 \конец{массив} \Правильно] \конец{выравнивание*} и $B$ — матрица $3 \times 2$ \начать{выравнивать*} B= \влево[ \begin{массив}{rr} 0 &1\\ 1 и -1\\ 2 и 3 \конец{массив} \Правильно]. \конец{выравнивание*} Затем, \начать{выравнивать*} АБ &=\влево[ \начать{массив}{ррр} 0 и 4 и -2\\ -4 и -3 и 0 \конец{массив} \Правильно] \оставил[ \begin{массив}{rr} 0 &1\\ 1 и -1\\ 2 и 3 \конец{массив} \Правильно] \\ знак равно \оставил[ \начать{массив}{ррр} 0 \cdot 0+4 \cdot 1-2\cdot 2 && 0 \cdot 1 +4 \cdot (-1) -2\cdot 3\\ -4 \cdot 0-3\cdot 1 + 0 \cdot 2 && -4 \cdot 1 -3 \cdot (-1) + 0\cdot 3 \конец{массив} \Правильно] \\ знак равно \оставил[ \начать{массив}{ррр} 0+4-4 && 0-4-6\\ 0-3+0 && -4 +3 +0 \конец{массив} \Правильно] \\ знак равно \оставил[ \begin{массив}{rr} 0 и -10\\ -3 и -1 \конец{массив} \Правильно]. \конец{выравнивание*}

Хотите больше примеров?

Умножение матрицы на вектор — Мэтью Н. Бернштейн