노션 기록
행렬 표기법과 관련 용어
행렬이란?
행렬(matrix)은 직사각형 구조에 숫자들을 담아놓은 구조이다
각 숫자들은 행렬의 요소(entry)라 부른다
다음은 3개의 행(row)와 2개의 열(column)으로 이루어진 3x2 행렬이다.
⎣⎢⎡3121−2−4⎦⎥⎤
다음과 같이 하나의 행 혹은 하나의 열을 가지는 특별한 행렬을 생각할 수 있다. 이들을 각각 행벡터(row vector), 열벡터(column vector)라 한다.
[210−3][13]
극단적으로 1x1 행렬을 생각할 수 있는데, 이는 스칼라(scalar)와 같다.
[ 4 ]
행렬 표기법
m×n 행렬은 다음과 같이 m×n 개의 숫자가 직사각형 구조에 채워진 형태로 표기할 수 있다.
- 행렬 A의 각 (i,j)- 요소는 aij로 나타낸다
- 행렬 A를 간략히 표기할 때는 A=[aij]로 나타낸다
- 행렬 A의 크기가 중요할 경우는 A=[aij]m×n로 나타낸다
전치행렬(Transpose Matrix)
m×n 행렬 A에 대한 전치행렬 AT는 A의 행을 열로, A의 열을 행으로 가지는 m×n 행렬이다.
즉, (AT)ij=(A)ji를 만족한다
A=⎣⎢⎡135246⎦⎥⎤ AT=[123456]
벡터 표기법
벡터는 아래의 x와 같이 볼드체 소문자로 표기한다
x=⎣⎢⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎥⎤
- 벡터라고 하면 일반적으로 열벡터(column vector)를 말한다
- n-벡터는 n개의 스칼라(scalar)로 구성된 벡터를 말한다
영행렬(Zero Matrix)
행렬의 모든 요소가 0이면, 해당 행렬을 영행렬(zero matrix)라 하고 O라고 표기한다.
A+O=O+A=A
영행렬은 숫자 0과 같은 존재로 행렬합에 대한 항등원 역할을 한다
행렬의 합
두 행렬 A와 B는 행과 열의 개수가 모두 같을 때 성립하며, 각 (i,j)-요소의 합으로 정의된다
n x n 행렬: 정방행렬(Square Matrix)
행과 열의 개수가 모두 n인 정사각형(square) 모양의 행렬을 n차 정방행렬(square matrix)이라 한다
특히, aii(i=1,2,⋯,n)를 행렬 An의 주대각선(main diagonal)이라 한다
항등행렬(Identity Matrix)
주대각선(main diagonal)이 1이고 나머지 요소는 모두 0인 n차 정방행렬(square matrix)을 항등행렬(identity matrix)이라 한다
항등행렬은 숫자의 1과 같은 존재로 행렬곱에 대한 항등원 역할을 한다
행렬의 곱 ⭐
m×r 행렬 A=[aij]와 r×n 행렬 B=[bij]가 있을 때,
두 행렬의 곱 AB는 아래와 같은 m×n 행렬 C=[cij]를 정의한다
여기서 두 행렬의 곱 AB로 정의된 행렬 C의 각 (i,j)-요소는 다음과 같이 정의된다
왼쪽 행렬에서는 i번째 행을, 오른쪽 행렬에서는 j번째 열을 뽑아와서 서로 내적
따라서, A의 열의 개수와 B의 행의 개수가 같아야 행렬곱이 가능함
cij=ai1b1j+ai2b2j+⋯+airbrj
행렬의 곱에서 반드시 숙지해야할 사항
스칼라, 벡터, 행렬, 그리고 텐서: 계층적 구조 이해하기
스칼라 → 벡터 → 행렬
스칼라는 숫자 하나로 구성되어 있다.
이 스칼라를 벡터로 표현하면 아래와 같이 1개의 구성요소로 이루어진 1-벡터가 된다
이 스칼라를 행렬로 표현하면 아래와 같이 1개의 구성요소로 이루어진 1×1 행렬이 된다.
[ 7 ]1×1
벡터 → 행렬
벡터는 여러 숫자가 일렬로 늘어선 구조이다 (4-vector)
⎣⎢⎢⎢⎡1234⎦⎥⎥⎥⎤
이 벡터를 행렬로 표현하면 다음과 같이 여러 모양의 행렬로 표현할 수 있다.
⎣⎢⎢⎢⎡1234⎦⎥⎥⎥⎤4×1[1324]2×2[1234]2×2[1234]1×4
- 표현하고자 하는 행렬의 모양은 응용문제에 따라 결정한다.
행렬 → 벡터
행렬은 사각형 구조에 여러 숫자가 행과 열로 늘어선 구조이다.
[142536]2×3
이 행렬은 다음과 같이 6-벡터로 표현할 수 있다
⎣⎢⎢⎢⎢⎢⎢⎢⎡123456⎦⎥⎥⎥⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎢⎢⎡142536⎦⎥⎥⎥⎥⎥⎥⎥⎤
- 행렬을 벡터로 변환할 때, 행부터 혹은 열부터 읽을 것인지는 응용문제에 따라 결정한다
텐서
텐서(tensor)는 스칼라, 벡터, 행렬을 아우르는 개념이다.
숫자가 늘어설 수 있는 방향이 k개면 k-텐서로 부른다. (차원 수라고 생각하면 될 듯)
- 0-텐서 : 스칼라
- 1-텐서 : 벡터
- 2-텐서 : 행렬
만일 아래의 T의 각 요소 p(i,j)가 벡터라면, T는 3-텐서로 볼 수 있다
3-텐서의 대표적인 예는 컬러영상이다. p(i,j)가 3-벡터이면 RGB영상을, 4-벡터이면 RGBA영상을 나타낸다고 볼 수 있다
분할행렬(Partitioned Matrix) ⭐
분할행렬(Partitioned Matrix)이란?
행렬을 조각(partition) 단위로 분할하여 생각해도 무방하다
이런 관점에서 본다면, 행렬은 부분행렬(submatrix)로 이루어진 직사각형 구조로 확장해서 생각할 수 있다 (행렬의 요소도 행렬로 볼 수 있음!)
이렇게 행렬을 구조적으로 보는 방법을 분할행렬(partitioned matrix) 또는 블록행렬(block matrix)이라 한다
분할행렬로 행렬의 곱 이해하기
두 행렬의 곱 AB=C를 아래와 같이 matrix-column vector products로 볼 수 있다.
마치 분배법칙 처럼!
AB=A[b1b2⋯bn]=[Ab1Ab2⋯Abn]=C
예를 들면, A2×3B3×2=C2×2을 다음과 같이 구조적으로 해석할 수 있다
두 행렬의 곱 AB=C를 아래와 같이 matrix-row vector products로도 볼 수 있다.
AB=⎣⎢⎢⎢⎢⎡a1a2⋮am⎦⎥⎥⎥⎥⎤B=⎣⎢⎢⎢⎢⎡a1Ba2B⋮amB⎦⎥⎥⎥⎥⎤=C
예를 들면, A2×3B3×2=C2×2을 다음과 같이 구조적으로 해석할 수 있다
선형조합(Linear Combination): Ax는 A의 열벡터에 대한 선형조합
행렬을 구조적으로 보기
행렬을 구조적으로 바라보는 가장 효과적인 방법은 다음과 같다
행렬은 열벡터의 리스트이다
여기서 ai는 행렬 A의 i-번째 열벡터이다. 특히 각 열벡터는 m-벡터이기 때문에,
m×n 행렬은 m-벡터가 n개 있다 고 해석하면 된다
행렬 @ 벡터 연산을 구조적으로 보기
이제, Ax를 다음과 같이 구조적으로 볼 수 있다
Ax는 행렬 A가 가지고 있는 열벡터의 선형조합이다
선형대수에서는 이처럼 벡터들에 대한 가중치 합을 특히 선형조합(linear combination)이라 부른다
정리하면,
Ax의 결과는 행렬 A가 가지고 있는 열벡터의 선형조합으로만 한계가 지어진다
선형시스템 Ax=b를 선형조합 관점에서 바라보기⭐
예를 들어, 다음 선형시스템 문제를 푼다고 가정하자
⎣⎢⎡−1123212−3−2⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤=⎣⎢⎡1−9−3⎦⎥⎤
(좌항) 선형조합으로 해석한 Ax
x1⎣⎢⎡−112⎦⎥⎤+x2⎣⎢⎡321⎦⎥⎤+x3⎣⎢⎡2−3−2⎦⎥⎤
(우항) b
⎣⎢⎡1−9−3⎦⎥⎤
행렬 A의 열벡터를 가중치합으로 선형조합할 때 벡터 b를 만들 수 있는 가중치 조합이 존재한다면,
선형시스템 Ax=b의 해는 존재한다. 그 해는 가중치 xi들로 구성된 x이다
위 선형시스템 문제의 해(solution)는 x=⎣⎢⎡2−13⎦⎥⎤이다. 선형조합을 통해 확인해보자.
(좌항) 선형조합으로 해석한 Ax
(2)⎣⎢⎡−112⎦⎥⎤+(−1)⎣⎢⎡321⎦⎥⎤+(3)⎣⎢⎡2−3−2⎦⎥⎤
(우항) b
⎣⎢⎡1−9−3⎦⎥⎤
열 공간(Column Space)
행렬 A의 열벡터들에 대한 가능한 모든 선형조합의 결과를 모아 집합으로 구성할 수 있을 것이다
이들 집합을 열공간(column space)이라 하고 다음과 같이 표기한다
col(A)
Consistent Linear System
선형시스템 Ax=b가 해를 가지면(consistent), 다음을 만족한다
b∈col(A)
Inconsistent Linear System
선형시스템 Ax=b가 해가 없으면(inconsistent), 다음을 만족한다
b∈/col(A)
-
예제
아래 행렬 A의 col(A)은 3-차원 공간이다.
A=⎣⎢⎡−1123212−3−2⎦⎥⎤
따라서, 어떤 3-벡터 b를 이용해 선형시스템 Ax=b를 구성한다고 하더라도, 해당 선형시스템의 해는 존재한다
아래 행렬 A의 col(A)은 xy-평면이다.
A=⎣⎢⎡−1103202−30⎦⎥⎤
따라서, xy-평면 상의 3-벡터 b를 이용해 선형시스템 Ax=b를 구성하면, 해당 선형시스템의 해는 존재한다
그러나, xy-평면을 벗어난 3-벡터 b를 이용해 선형시스템 Ax=b를 구성하면, 해당 선형시스템의 해는 존재하지 않는다