HakuCode na matata

[KOCW-6] 영벡터공간과 해집합 본문

Mathematics/Linear Algebra

[KOCW-6] 영벡터공간과 해집합

@tai_haku 2021. 1. 9. 22:11
반응형

포스팅에 앞서 이 게시글은 Reference의 contents를 review하는 글임을 밝힌다.

 

 

 

 

「영벡터공간(Null space)」

영벡터공간(Null space, 이하 널공간)영벡터와의 선형결합으로 만들어 낼 수 있는 벡터공간집합을 말한다.
널공간 역시, 벡터의 덧셈연산과 스칼라곱연산에 대해 닫혀있다.

 

 

 

 

「해가 존재할 경우, 스팬(Span) 한다」

그렇다면 갑자기 널공간에 대해서 배우는 알아보는 이유는 무엇일까?
그 이유를 알기 위해서, 잠시 앞서 배운 내용들을 잠시 되짚어보자.

행렬 A의 역행렬(Inverse)이 존재하는 경우에는 유일 해(Unique solution)가 존재하거나 해가 존재하지 않는 경우이고,
역행렬이 존재하지 않는 경우에는 무수히 많은 해(Infinite solution)가 존재하거나 해가 존재하지 않는 경우이다.

두 가지 경우 모두, 해(여기서는 벡터)들의 선형결합으로 만들어 낼 수 있는 벡터들의 벡터공간집합을 만들어 낼 수 있는데 이를 '스팬(Span)한다'라고 일컫는다.

어떤 벡터들의 선형결합에 의한 결과물들은 이 스팬한 공간 안에 존재해야 하기 때문에 이를 검증할 때 쓰인다.

 

지난 포스트에서 말했던 듯이 우리는 이번 포스트에서 직사각행렬, 그러니까 미지수와 방정식 간의 개수 불일치가 일어날 경우에 대해서 알아보기로 한다.

특히, 미지수가 방정식보다 많은 경우에는 무수히 많은 해가 존재하는 경우와 해가 존재하지않는 경우로 나뉘는데 이에 대한 정형화된 풀이법을 살펴볼 예정이다.

 

이때 이러한 풀이법의 절차는 널공간을 구하고난 뒤, 벡터공간을 구하는 식(스팬)으로 흘러간다.
이번 포스트에서는 널공간을 구하는 데에 치중해서 설명할 것이다. 차근차근 이를 따라가보자.

 

 

 

 

「Step1. 사다리꼴 행렬(Echelon form) 만들기」

널공간을 구하는 데에 필요한 첫 번째 절차사다리꼴 행렬(Echelon form matrix)을 만드는 것이다.

아래의 예시를 보자.

 

예시 행렬

 

이 예시행렬은 직사각행렬형태로 미지수 개수(4개의 차원)와 방정식 개수(3개의 차원)가 상이하다.
따라서, 우리는 이 행렬의 널공간을 구해볼 것이다.

 

Echelon form

 

가우스 소거법과 동일하게 소거해나가도록 한다.
이때, 차원이 서로 다르므로 피봇의 위치가 밀리는 현상(u→w, v 생략)이 발생하지만, 신경 쓰지 않고 그대로 진행한다.

이렇게 소거를 통해 마지막으로 사다리꼴(Echelon) 형태의 행렬을 만들어주는 것이 널공간을 구하기 위한 첫 번째 절차이다.

 

 

 

 

「Step2. 행 제거 행렬(Row reduced form) 만들기」

사다리꼴 행렬이 만들어진 다음에는 피봇이 되는 원소를 '1'로 만들어주고 그 나머지 원소들에 대해 최대한 소거를 시켜주는 것이 필요하다. 이를 행 제거 행렬(Row reduced form)형태라고 한다.

 

Row reduced form

 

위와 같이 피봇원소 u와 w를 '1'로 만들고 1행 3열과 4열을 2행과의 소거를 통해 정리해준 것을 확인할 수 있다.

 

 

 

 

「Step3. 변수 분리(Seperation)」

이렇게 정리된 행렬을 가지고 이번에는 변수들을 특성을 기준으로 나눌 것이다.
특성의 종류에는 두 가지가 있는데, '피봇원소냐 아니냐'가 구분 기준이다.

1. Pivot variable(피봇변수)
2. Free variable(자유변수)

 

다음 행렬은 Step2의 결과 행렬이다. 이것을 위 특성에 따라 분리하도록 한다.

 

Step2 결과행렬
변수 분리

 

분리한 결과를 보면, Pivot variable을 기준으로 이에 대한 Free variable들의 식으로 표현한 식을 도출하였다.
이것을 열벡터의 형태로 다시 표현하면 다음과 같다.

 

열벡터 표현

 

이러한 풀이 결과는 u, v, w, z 이 4개의 차원에 널공간을 구성하는 x벡터를 구하는데, 그 결과가 [-3, 1, 0 0], [1, 0, -1, 1]이라는 각각의 벡터에 Free variable을 스칼라배한 모든 벡터들의 선형결합으로 이루어졌다는 것을 보여준다.

 

 

축약 풀이법

마지막 연산을 생략하고 사전단계에서 행렬 모양을 통해 빠르게 확인하는 방법도 있다.

 

Step2 결과행렬

 

우선 Pivot variable과 Free variable을 구분한 뒤 Free variable을 스칼라배 원소로서 기준으로 삼고, 각 Free variable이 해당하는 열(Column)에 해당하는 열에 대한 계수로 미루어보아 각 계수에 '-1'을 곱한 값과 자기 자신의 위치에는 '1'을 놓으면 같은 결과를 보인다.

 

2열 'v'에 대한 벡터를 기준으로 예를 들면,
첫 번째 순번인 1행의 2열인 '3'에는 '-1'을 곱한 '-3',
두 번째 순번은 자기 자신이니 '1',
세 번째 순번인 2행의 2열은 '-1'의 곱과 무관하게 원소 그대로 '0',
네 번째 순번인 3행의 2열 역시 '0'이다.

이를 보면, 이전 결과와 동일하게 [-3, 1, 0, 0] 임을 알 수 있다. 이는 4열인 'z'에 대해서도 동일하게 진행이 가능하다.

 

 

 

 

「영벡터행렬과 특수해(Special solution)」

우리는 앞서 대상이 되는 행렬에 대해 가우스 소거를 통한 임의의 Free variable의 스칼라 배를 곱한 벡터들의 선형결합형태의 해를 구했다.

이렇게 구한 벡터들을 '특수해(Special solution)'라고 하고, 이들의 선형결합을 '널공간(Null space)'이라고한다.

 

널공간 = 특수해의 선형결합

 

널공간의 차원'독립된 벡터의 가짓 수'로 정의한다. 따라서 예시의 경우, 널공간의 차원은 '2'이다.
그렇다면, 미지수의 차원은 4개인데 어째서 널공간의 차원은 '2'인 것일까? 나머지 2개의 차원은 어디로 간 것인가? 하는 의문이 생길 수 있다.

이 부분이 이후 포스트에서 다룰 '행공간'이라는 개념이다.

 

벡터공간의 차원은 앞서 소개했듯이 4가지가 있다. 이들은 더 정확히 쓰게 되면 다음과 같다.

1. 행공간
2. 열공간
3. 널공간(i, ii) → Null space, Null left space

 

각각의 공간들은 자신을 보완하는 다른 공간과 1:1 대응이 되게 되는데, Pair1(행공간 : 널공간)과 Pari(열공간 : 널 레프트 공간)이 그것이다.

널 레프트 공간(Null left space)은 열공간에 대응하기 위해 전치 형태로 만들어줄 때, 행렬곱의 순서가 바뀌어 좌측에 곱한다 하여 'left'가 이름에 붙게 되었다.

 

 

 

 

「마무리」

영벡터공간(Null space)은 '영벡터와의 선형결합으로 만들어 낼 수 있는 벡터공간집합' 말한다.

해가 되는 벡터들의 선형결합으로 만들어 낼 수 있는 '벡터들의 벡터공간집합을 만들어내는 것''스팬(Span)'한다고 한다.

직사각행렬 시스템에서 널공간을 구하기 위해, 해 벡터를 찾는 과정'사다리꼴 행렬 만들기 → 행 제거 행렬 만들기 → 변수 분리 및 해 도출'순이다.

직사각행렬 시스템에서 구한 해특수해(Special solution)이라고 하고, 이들의 선형결합널공간(Null space)이다.

널공간의 차원은 '특수해들이 가지는 독립된 벡터의 가짓 수'이다.

 

 

 

 

「참고」

https://www.youtube.com/playlist?list=PLSN_PltQeOyjDGSghAf92VhdMBeaLZWR3

 

2013 2학기 선형대수[이상화 교수]

선형대수는 행렬을 이용하여 선형적인 문제를 해결하는 수학 분야이자, 전기/전자/컴퓨터공학의 원리를 표현하는 핵심적인 이론이다. 단순히 행렬의 연산만을 다루는 것이 아니라, 공학적인 문

www.youtube.com

 

반응형
Comments