[파이썬][numpy] numpy에서 선형 대수
Numpy는 파이썬의 과학적 계산을 위한 핵심 라이브러리입니다. 선형 대수(Linear Algebra)는 수학과 과학 분야에서 핵심적인 개념으로써, 벡터, 행렬 및 선형 방정식의 연산을 다루는 데 사용됩니다. 이번 블로그 포스트에서는 Numpy를 사용하여 선형 대수 연산을 어떻게 수행하는지 살펴보겠습니다.
Numpy 배열 생성하기
Numpy를 사용하여 다양한 형태의 배열을 생성할 수 있습니다. Numpy 배열은 np.array()
함수를 사용하여 생성할 수 있습니다.
import numpy as np
# 1차원 배열 생성
arr1 = np.array([1, 2, 3, 4, 5])
# 2차원 배열 생성
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
# 3차원 배열 생성
arr3 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
벡터 연산
벡터는 1차원 배열로 표현되며, Numpy를 사용하여 다양한 벡터 연산을 수행할 수 있습니다. 예를 들어, 덧셈, 뺄셈, 곱셈, 나눗셈 연산 등을 수행할 수 있습니다.
import numpy as np
# 벡터 생성
vec1 = np.array([1, 2, 3])
vec2 = np.array([4, 5, 6])
# 덧셈 연산
result = vec1 + vec2
print(result) # 출력: [5 7 9]
# 뺄셈 연산
result = vec1 - vec2
print(result) # 출력: [-3 -3 -3]
# 곱셈 연산
result = vec1 * vec2
print(result) # 출력: [4 10 18]
# 나눗셈 연산
result = vec1 / vec2
print(result) # 출력: [0.25 0.4 0.5]
행렬 연산
행렬은 2차원 배열로 표현되며, Numpy를 사용하여 다양한 행렬 연산을 수행할 수 있습니다. 예를 들어, 행렬 곱셈, 전치행렬, 역행렬 계산 등을 수행할 수 있습니다.
import numpy as np
# 행렬 생성
mat1 = np.array([[1, 2], [3, 4]])
mat2 = np.array([[5, 6], [7, 8]])
# 행렬 곱셈
result = np.dot(mat1, mat2)
print(result)
# 출력: [[19 22]
# [43 50]]
# 전치행렬
result = mat1.T
print(result)
# 출력: [[1 3]
# [2 4]]
# 역행렬 계산
result = np.linalg.inv(mat1)
print(result)
# 출력: [[-2. 1. ]
# [ 1.5 -0.5]]
선형 방정식 풀기
Numpy는 선형 방정식을 푸는 데도 활용될 수 있습니다. 선형 방정식을 푸는 방법 중 하나는 np.linalg.solve()
함수를 사용하는 것입니다.
import numpy as np
# 선형 방정식 풀기
A = np.array([[2, 3], [5, -6]])
b = np.array([8, -4])
result = np.linalg.solve(A, b)
print(result) # 출력: [1. -2.]
Numpy를 사용하여 선형 대수를 다루는 방법을 알아보았습니다. Numpy가 제공하는 강력한 기능을 활용하여 선형 대수 연산을 효율적으로 수행할 수 있습니다. Numpy의 문서를 참조하여 다양한 선형 대수 연산을 수행하는 방법을 더 자세히 알아보세요.