Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)에서 두 행렬을 더하는 방법 완벽 정리

행렬 덧셈은 두 행렬에서 같은 위치에 있는 요소끼리 서로 더하는 연산입니다. 파이썬에서 두 행렬을 더하는 가장 간단한 방법은 반복문을 사용해 각 요소를 하나씩 순회하면서 더하는 것입니다.

반복문으로 행렬 더하기

중첩된 for 반복문을 활용하면 리스트 형태의 행렬도 손쉽게 더할 수 있습니다. 아래 예제를 살펴보세요.

X = [[1,2,3], [4,5,6], [7,8,9]]
Y = [[9,8,7], [6,5,4], [3,2,1]]

result = [[0,0,0], [0,0,0], [0,0,0]]

for i in range(len(X)):
    for j in range(len(X[0])):
        result[i][j] = X[i][j] + Y[i][j]

for r in result:
    print(r)

이 코드를 실행하면 다음과 같은 결과가 출력됩니다.

[10, 10, 10]
[10, 10, 10]
[10, 10, 10]

행렬 X와 Y의 대응되는 요소들이 각각 더해져 3×3 크기의 새로운 행렬 result에 저장됩니다. 바깥쪽 반복문은 행(row)을, 안쪽 반복문은 열(column)을 순회하며 모든 요소를 처리합니다.

NumPy를 활용한 행렬 덧셈

더 큰 규모의 데이터나 복잡한 수치 연산을 다룰 때는 NumPy 모듈을 사용하는 것이 좋습니다. NumPy는 행렬 연산을 위한 다양한 기능을 기본적으로 지원하기 때문에 코드가 훨씬 간결해집니다.

import numpy as np
X = np.matrix([[1, 2], [3, 4]])
Y = np.matrix([[2, 2], [2, 2]])
result = X + Y
print(result)

실행 결과는 다음과 같습니다.

matrix([[3, 4], [5, 6]])

NumPy에서는 단순히 + 연산자만으로 행렬 전체의 요소별 덧셈이 한 번에 이루어지므로, 반복문을 직접 작성할 필요가 없습니다. 또한 NumPy는 C 언어 기반으로 구현되어 있어 일반 파이썬 반복문보다 연산 속도가 훨씬 빠르기 때문에, 실무에서는 대부분 NumPy를 활용한 방법을 권장합니다.