[javascript] 행렬 곱셈

행렬 곱셈은 선형대수학에서 중요한 연산입니다. 두 행렬을 곱하기 위해서는 첫 번째 행렬의 열 수와 두 번째 행렬의 행 수가 같아야 합니다. 결과 행렬의 크기는 첫 번째 행렬의 행 수와 두 번째 행렬의 열 수가 됩니다.

행렬 곱셈을 계산하는 방법은 간단합니다. 결과 행렬의 각 원소는 첫 번째 행렬의 해당 행과 두 번째 행렬의 해당 열을 곱한 값을 모두 더한 값입니다.

예시

다음과 같은 두 행렬이 있다고 가정해 봅시다.

첫 번째 행렬 A:

| 1  2 |
| 3  4 |
| 5  6 |

두 번째 행렬 B:

| 7  8 |
| 9  10 |

이 경우, 행렬 곱셈 AB를 계산하려면 A의 각 행과 B의 각 열을 곱해서 더합니다.

결과 행렬 AB:

| 1*7+2*9  1*8+2*10 |
| 3*7+4*9  3*8+4*10 |
| 5*7+6*9  5*8+6*10 |
= | 23  26 |
| 53  58 |
| 83  90 |

이렇게 해서 결과 행렬 AB를 구할 수 있습니다.

JavaScript 코드 예제

아래는 JavaScript를 사용하여 두 행렬의 곱을 계산하는 코드입니다.

function matrixMultiplication(A, B) {
    let result = [];
    for (let i = 0; i < A.length; i++) {
        result[i] = [];
        for (let j = 0; j < B[0].length; j++) {
            let sum = 0;
            for (let k = 0; k < B.length; k++) {
                sum += A[i][k] * B[k][j];
            }
            result[i][j] = sum;
        }
    }
    return result;
}

let matrixA = [[1, 2], [3, 4], [5, 6]];
let matrixB = [[7, 8], [9, 10]];

console.log(matrixMultiplication(matrixA, matrixB));

위의 코드는 두 개의 2차원 배열을 입력으로 받아 행렬 곱셈을 계산하는 matrixMultiplication 함수를 보여줍니다. 그 후에 두 예제 행렬을 정의하고 함수를 사용하여 결과를 출력합니다.

행렬 곱셈을 계산하는 방법과 JavaScript에서의 구현을 통해 행렬 곱셈에 대한 이해를 높일 수 있습니다.

결론

행렬 곱셈은 선형대수학에서 매우 중요한 연산이며, 다양한 분야에서 활용됩니다. JavaScript를 포함한 여러 프로그래밍 언어에서도 행렬 곱셈을 쉽게 계산할 수 있습니다.