3-1. 백터와 매트릭스


얼마전까지만해도 수학의 수 와도 친하지않던 O모양...
그러나 이번주부터는 수학을 공부해야한다
😇살려주세요😇
개인공부용으로 리뷰하는거라 설명이 부족할 수 있지만 뭐 어때 일단 한번 해보자고? 가보자고?


1. 스칼라와 백터

처음에 이 둘을 공부할 때, 선형대수학의 한 분야라는 말을 어디서 들었다. 그래서 대체 선형대수학이 뭘까? 했었다.
그걸 알아보기 전에, 간단하게 둘을 정리하면 다음과 같다.

스칼라: 단순히 변수로 지정되어 있는 숫자. 숫자 하나의 '크기'만으로 표현 가능한 것.
백터: 거기에 '방향'도 있는 숫자. n개의 원소를 가지는 순서를 가진 모임. 여러 개의 차원을 가질 수 있음.

이런 백터와 매트릭스(행렬)의 성질을 연구하는 분야를 수학에서 선형대수학 이라고 한다.

2. 매트릭스(행렬)

고등학교 때 까지는 행렬이라는 이름에 익숙했지만, 매트릭스로도 자주 불린다고 한다는 것 같다. 흔히 행렬 하면 생각나는 그거...그걸 생각하면 된다.
좀 더 자세하게 설명하자면 다음과 같다.

매트릭스(행렬): 숫자를 2차원 형태로 나열한 개체처럼, 숫자를 직사각형 모양으로 배열한 것. 사각형의 가로줄을 행(row), 세로줄을 열(column)이라고 부른다.
행렬을 이루는 각각의 숫자를 성분 또는 원소라고 부른다.

3. 매트릭스(행렬)의 종류

고등학교 수학시간에서 살펴봤듯이, 행렬의 종류는 다양하다.
그 중 몇개를 나열하자면 다음과 같다.

영행렬: 모든 원소가 0인 행렬
대각행렬: 주대각선 외의 원소가 모두 0인 행렬
정방행렬(정사각행렬): 행과 열의 개수가 같은 행렬. 전치시켜도 원래 그대로이다.
역행렬: 선형대수학에서 가역 행렬, 정칙 행렬 또는 비특이 행렬은 그와 곱한 결과가 단위 행렬인 행렬을 갖는 행렬이다. 이를 그 행렬의 역행렬 이라고 한다. 예를 들어,

  • AB = I
  • BA = I
  • AB = BA = I
    이렇게 세 조건이 서로 동치일 때, B를 A의 역행렬 이라고 한다.

4. NumPy와 백터

그렇다면 파이썬에선 어떻게 백터를 계산할 수 있을까? 파이썬에선 NumPy를 이용해서 선형대수를 계산한다. 심지어 NumPy는 선형대수 뿐만 아니라 더 많은 종류의 계산에 활용되는 라이브러리이다.

예를 들어, 두 리스트를 행렬로 만들어 더하고 싶다면 다음과 같은 연산을 수행해주면 된다.

import numpy as np

a = np.array(a)
b = np.array(b)

a + b

백터의 차원은 np.shape를 이용하여 알아낼 수 있다.

좋은 웹페이지 즐겨찾기