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

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

Матрицы перемножаются по правилам умножения матриц: если матрица 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]];
      // Ошибка: Размерности матриц не подходят

      Умножение невозможно. Будет выведена ошибка "Размерности матриц не подходят"