1. 벡터와 행렬의 개념
벡터(Vector)와 행렬(Matrix)은 수학적 연산에서 중요한 개념으로, 데이터 분석과 머신러닝에서도 널리 사용됩니다. Python의 numpy
패키지를 활용하면 벡터와 행렬을 쉽게 다룰 수 있습니다.
2. 벡터 및 행렬 생성
(1) 벡터 생성
import numpy as np
x = np.array([10, 11, 12]) # 1차원 배열로 벡터 표현
y = np.array([0, 1, 2])
print("Vector x:", x)
print("Vector y:", y)
(2) 행렬 생성
A = np.array([[5, 6], [7, 8]])
B = np.array([[10, 20], [30, 40]])
print("Matrix A:\n", A)
print("Matrix B:\n", B)
3. 벡터 및 행렬 연산
(1) 벡터 덧셈 및 뺄셈
print("x + y:", x + y)
print("x - y:", x - y)
(2) 행렬 덧셈 및 뺄셈
C = A + B
D = A - B
print("Matrix Addition (A + B):\n", C)
print("Matrix Subtraction (A - B):\n", D)
(3) 스칼라 곱셈
scalar = 2
print("Scalar Multiplication of x:", scalar * x)
print("Scalar Multiplication of A:\n", scalar * A)
4. 행렬의 곱셈
(1) 행렬과 벡터의 곱셈
v = np.array([[1], [2]])
result = A @ v # 또는 np.dot(A, v)
print("Matrix-Vector Multiplication:\n", result)
(2) 행렬 간 곱셈
E = np.array([[1, 2, 3], [4, 5, 6]])
F = np.array([[7, 8], [9, 10], [11, 12]])
G = E @ F # 또는 np.dot(E, F)
print("Matrix Multiplication (E x F):\n", G)
5. 브로드캐스팅 (Broadcasting)
Numpy에서는 크기가 다른 배열 간 연산을 수행할 수 있도록 자동 확장(브로드캐스팅)을 지원합니다.
x = np.array([1, 2, 3])
scalar = 10
print("Broadcasting Example:", x - scalar)
6. 벡터의 내적
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
dot_product = np.dot(x, y)
print("Dot Product of x and y:", dot_product)
7. 행렬의 전치 연산
A = np.array([[1, 2, 3], [4, 5, 6]])
A_T = A.T
print("Transpose of A:\n", A_T)
결론
Python의 numpy
패키지를 활용하면 벡터와 행렬의 다양한 연산을 쉽게 수행할 수 있습니다. 이를 통해 데이터 분석과 머신러닝에 필수적인 연산을 효율적으로 처리할 수 있습니다.
답글 남기기