[선형대수학] 파이썬으로 배우는 선형시스템

PhilAI·2023년 8월 17일
0

📌 선형 방정식이란?

선형 방정식은 한 개 이상의 변수와 이 변수들의 계수로 이루어진 일차식으로, 다음과 같은 일반적인 형태를 가지는 방정식을 말합니다:
a1x1+a2x2++anxn=ba_1x_1 + a_2x_2 + \ldots + a_nx_n = b

여기서 a1a_1, a2a_2, ana_n은 계수이며, x1x_1, x2x_2, xnx_n은 변수입니다. b는 상수 항수입니다.
다시 말해 x,y와에 대한 1차 방정식을 "선형 방정식"이라고 합니다. 선형 방정식은 xy 평면위에 존재하는 하나의 직선을 나타냅니다.

선형 방정식인 경우의 예시

  • 2x+3y=72x + 3y = 7
  • 4a5b+c=124a - 5b +c =12
  • 3x+2yz=53x + 2y - z = -5

선형 방정식아닌 경우의 예시

  • y=x2+1y = \sqrt{x^2 + 1}
  • ax2+bx+c=0ax^2 + bx + c = 0
  • y=e2xy = e^{2x}

📌 선형 시스템이란?

선형 방정식을 이해했다면, 선형 시스템에 대해서 설명하도록 하겠습니다!
선형 시스템은 주로 선형 방정식의 집합으로 설명됩니다. 선형 방정식은 변수들의 일차항으로만 이루어진 방정식으로, 변수들의 곱셈이나 거듭제곱 등이 포함되지 않습니다. 이러한 선형 방정식들이 모여 선형 시스템을 형성하게 됩니다

첨가 행렬

첨가 행렬은 선형 시스템을 행렬 형태로 나타낼 때 사용되는 중요한 개념입니다. 선형 시스템을 행렬로 표현할 때, 방정식의 계수들을 행렬로 나타내고 상수항들을 벡터로 나타냅니다. 이때 선형 시스템의 방정식을 행렬 형태로 표현한 것을 확장 행렬(첨가 행렬)이라고 합니다.

선형 시스템 방정식
a11x1+a12x2++a1nxp=b1a_{11}x_1 + a_{12}x_2 + \ldots + a_{1n}x_p = b_1
a21x1+a22x2++a2nxp=b2a_{21}x_1 + a_{22}x_2 + \ldots + a_{2n}x_p = b_2
.
.
.
an1x1+an2x2++anpxp=bna_{n1}x_1 + a_{n2}x_2 + \ldots + a_{np}x_p = b_n

첨가 행렬 형태
[a11a12a1nb1a21a22a2nb2am1am2amnbm]\left[ \begin{array}{cccc|c} a_{11} & a_{12} & \ldots & a_{1n} & b_1 \\ a_{21} & a_{22} & \ldots & a_{2n} & b_2 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ a_{m1} & a_{m2} & \ldots & a_{mn} & b_m \\ \end{array} \right]

Numpy로 해보는 선형시스템

import numpy as np 

x = np.array([[3,1,2],[2,6,-1],[4,0,-1]])
y = np.array([[5],[1],[3]])

sol = np.linalg.solve(x,y)

print(sol)
#[[1.]
 [0.]
 [1.]]
profile
철학과가 도전하는 Big Data, AI

0개의 댓글