벡터와 매트릭스, 스칼라, Determinant, Cramer's rule
DataScience/통계-선형대수

벡터와 매트릭스, 스칼라, Determinant, Cramer's rule

728x90

◎ 벡터란?

선형대수의 기본 조각은 벡터이며 이러한 벡터를 우리가 무엇인지 아는 것이 굉장히 중요하다.

하지만 벡터를 생각하는 세가지 관점이 존재한다.

  • 물리학 : 방향을 나타내는 물리량
  • 컴퓨터과학 : 순차리스트이며 이러한 성질을 이용해서 여러가지 데이터를 모델링한다.
  • 수학 : 수학에서의 벡터는 이들 모두를 포함하는 개념으로 (벡터합, 스칼라 곱)이라는 개념이 성립하면 수학에서의 벡터이다.

 

벡터를 그릴때 위치는 중요하지 않다. 왜냐하면 위치를 바꾸어도 벡터의 크기와 방향은 변하지 않기 때문이다. 또 다른 말로는 벡터를 다른곳으로 이동(Translation)해도 그 벡터의 의미는 변하지 않는다.

두 벡터가 길이가 같고 같은 방향을 가르킬 때 그 두 벡터를 서로 상등(Equal)하다 라고 할 수있다.

- 벡터의 크기

벡터의 크기를 표현할때는 ||를 사용합니다.

- 벡터의 내적(Dot Product)

 

◎ 행렬(Matrix Calculation)

아마 거의 대부분의 데이터는 2차원 이상으로 표현 되기 때문에, 이러한 matrix 계산을 더 효율적이고, 쉽게 할 수 있는 방법들을 사용할 필요가 있습니다.

m개의 행과 n개의 열을 가진 행렬을 'm x n 행렬(matrix)'라고 부릅니다.

- 행렬 곱(multiplication)

- Determinant

행렬식은 모든 정사각 매트릭스가 갖는 속성으로, det(A) 혹은 |A|로 표기 됩니다.

2x2 매트릭스를 기준으로, 행렬식은 다음과 같이 (AD-BC) 계산 할 수 있습니다:

2 x 2

2 x 2

3 x 3

3 x 3


◎ 스칼라 vs 벡터

- 스칼라

단일 숫자이며, 변수에 저장 할때는 일반적으로 소문자를 이용하여 표기합니다.

스칼라는 수치값만 표시할 수 있고 방향성은 없다.

- 벡터

수치값과 방향성이 있어야 완전한게 표시할수 있다.


☆ 과제 

Cramer's rule을 사용해 x1, x2, x3의 값을 구하세요.

 

- 손으로 구한 정답

- python 코드를 활용한 정답

# python 코드화 
from numpy import linalg
 
A=[[1, 0, 2],[-3, 4, 6],[-1, -2, 3]]
B=[6, 30, 8]
C=[[1, 0, 2],[-3, 4, 6],[-1, -2, 3]]
X=[]
for i in range(0,len(B)):
    for j in range(0,len(B)):
        C[j][i]=B[j]
        if i>0:
            C[j][i-1]=A[j][i-1]
    X.append(round(linalg.det(C)/linalg.det(A),3))
 
print('x1={0}'.format(X[0]),'x2={0}'.format(X[1]),'x3={0}'.format(X[2]))

<출력>

x1=-0.909 x2=1.636 x3=3.455

728x90