Умножение матриц
Матричное умножение
Матрицы перемножаются по правилам умножения матриц: если матрица A имеет размер m × n, а B – размер p × q, то произведение C = A · B существует только при n = p. Матрица C будет иметь размер m × q.
- Квадратные матрицы:
C = [[8, 6], [2, 4]] * [[12, 1], [-8, 6]]; // C = [[48 , 44];[-8 , 26]] - Прямоугольные матрицы:
- Число столбцов в первой матрице равно числу строк во второй,
cols(A) = rows(B)C = [[1, 2, 5], [3, -4, 6]] * [[9, 8], [7, -6], [5, 4]]; // C = [[48 , 16];[29 , 72]]C = [[1, 2], [3, -4], [5, 6]] * [[9, 8, 4], [7, 6, -5]]; // C = [[23 , 20 , -6];[-1 , 0 , 32];[87 , 76 , -10]] - Число столбцов в первой матрице не равно числу строк во
второй,
cols(A) ≠ rows(B)C = [[1, 2, 5], [3, -4, 6]] * [[9, 8, 4], [7, 6, -5]]; // Ошибка: Размерности матриц не подходятУмножение невозможно. Будет выведена ошибка "Размерности матриц не подходят"
- Число столбцов в первой матрице равно числу строк во второй,
Поэлементное умножение матриц
Поэлементное перемножение матриц осуществляется для матриц одинаковой размерности: матрицы A и B должны иметь строго одинаковые размеры m × n, результат C = A .* B также имеет размер m × n.
- Квадратные матрицы:
C = [[8, 6], [2, 4]] .* [[12, 1], [-8, 6]]; // C = [[96 , 6];[-16 , 24]] - Прямоугольные матрицы:
- Матрицы равной размерности:
C = [[1, 2], [3, 4], [5, 6]] .* [[9, 8], [7, 5], [5, 4]]; // C = [[9 , 16];[21 , 24];[25 , 24]]C = [[1, 2, 5], [3, -4, 6]] .* [[9, 8, 4], [7, 6, -5]]; // C = [[9 , 16 , 20];[21 , -24 , -30]] - Матрицы разной размерности:
C = [[1, 2, 5], [3, -4, 6]] .* [[9, 8], [7, -6], [5, 4]]; // Ошибка: Размерности матриц не подходятУмножение невозможно. Будет выведена ошибка "Размерности матриц не подходят"
C = [[1, 2], [3, -4], [5, 6]] .* [[9, 8, 4], [7, 6, -5]]; // Ошибка: Размерности матриц не подходятУмножение невозможно. Будет выведена ошибка "Размерности матриц не подходят"
- Матрицы равной размерности: