Из курса «Линейной алгебры» известно, что произведение двух матриц возможно тогда и только тогда, когда число столбцов первого множителя равно числу строк второго множителя. В результате умножения получается матрица, у которой столько строк, сколько у первой матрицы, и столько столбцов, сколько их у второй матрицы.
Произведением матрицы В размера (4*6) на матрицу С размера (6*3) является матрица D размера (4*3), элементы которой определяются по формулам:
.
Рассмотрим примеры.
Пример 11. Вычислить D=B*C, где матрица В размера (4*6), матрица С размера (6*3).
PROGRAM PR11;
VAR B : ARRAY [1..4, 1..6] OF REAL;
C : ARRAY [1..6, 1..3] OF REAL;
D : ARRAY [1..4, 1..3] OF REAL;
i, j, k : INTEGER;
BEGIN
{Ввести элементы матриц B и C(способы задания матриц приведены в примерах 1, 2)}
FOR i:=1 TO 4 DO
FOR j:=1 TO 3 DO BEGIN
d[i, j]:=0;
FOR k:=1 TO 6 DO
d[i, j]:=d[i, j]+b[i, k]*c[k, j];
END;
{Вывод на экран матрицы D (см. примеры 3, 4)};
END.
Пример 12. Вычислить D=B*C, где В вектор-строка, содержащая 6 элементов, а матрица С размера (6*3).
PROGRAM PR12;
VAR B : ARRAY [1..6] OF REAL;
C : ARRAY [1..6, 1..3] OF REAL;
D : ARRAY [1..3] OF REAL;
i, k : NTEGER;
BEGIN
{Ввести элементы вектора B и матрицы C (способы задания матриц приведены в примерах 1, 2)}
FOR i:=1 TO 3 DO BEGIN
d[i]:=0;
FOR k:=1 TO 6 DO
d[i]:=d[i]+b[k]*c[k, i];
END;
{Вывод на экран матрицы D (см. примеры 3, 4)};
END.
Пояснения к программе: Результатом умножения, в данном случае, будет являться вектор-строка D, содержащая 3 элемента.