Python으로 행렬 만들기 및 연산 수행

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 패키지를 활용하면 벡터와 행렬의 다양한 연산을 쉽게 수행할 수 있습니다. 이를 통해 데이터 분석과 머신러닝에 필수적인 연산을 효율적으로 처리할 수 있습니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다