더북(TheBook)

마찬가지로 다음과 같이 행렬 곱셈을 구현할 수도 있다. 이미 수학 시간에 행렬 곱셈을 배웠겠지만, 잘 기억이 나지 않는다면 다음 파이썬 코드를 잘 살펴보길 바란다. 다음 코드에서 정방행렬을 곱하는 과정은 본질적으로 수학에서 정의한 과정과 똑같다. a[][]b[][]의 행렬곱 c[][]c[i][j]a[][]i행과 b[][]j열의 스칼라곱이다.

c = stdarray.create2D(n, n, 0.0)
for i in range(n):
    for j in range(n):
        # i행과 j열의 스칼라곱 계산
        for k in range(n):
            c[i][j] += a[i][k] * b[k][j]

이 정의는 정방행렬이 아닌 행렬에도 적용된다([연습문제 1.4.16] 참조).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.