2.1. 연립 일차방정식
미지수 \((x_1 , \ldots , x_n)\)에 대해 \([ a_1 , \cdots , a_n ] · [ x_1 , \cdots , x_n ] = [ {a_1·x_1} , \cdots , {a_n·x_n} ] = b\) 의 형태로 표현되는 방정식을
“일차방정식”(Linear Equation)이라고 표현합니다.
\(( a_1 , \ldots , a_n )\) 들을 “계수” 라고 칭하고 b는 “상수항의 계수” 입니다.
이 일차방정식의 “해”(Solution)는 미지수의 개수만큼의 벡터 \([ s_1 , \cdots , s_n ]\)로 정의 할 수 있습니다.
각 원소는 각 미지수의 해들을 모아둔 것 입니다.
예전에 일차방정식을 풀어본 기억이 있으시다면, 일차식은 미지수의 개수만큼 구별되는 방정식들이 주어 졌을 때,
이를 “연립”하여 문제를 풀었을 것입니다.
해당 방식이 벡터 또는 이후에 나올 행렬에 대입하여 해를 구하기 위해서 쓰이는 방식이기에
이를 “연립 일차 방정식”(System of Linear Equation)이라고 표현합니다.
연립 일차 방정식의 해는 다음과 같습니다.
각 일차 방정식의 “해집합”(Solution Set)을 전부 교집합한 결과를 연립 일차 방정식의 “해”로 정의합니다.
아시다시피 연립 일차 방정식의 해는 무한 할 수도, 자명 할 수도, 존재하지 않을 수도 있습니다.
( 추가로, 해가 존재하지 않는 경우는 불능(Inconsistent)이라고 표현합니다. )
2.2. 연립 일차방정식의 해
연립 방정식을 푸는 방법 많은 방법중 우리가 익숙한 방법은 바로 “후진 대입법”(Back Substitution) 일 것 입니다.
후진 대입법은 위 아래의 일차방정식을 서로 상수배 및 덧셈을 진행하여 미지수를 하나 씩 소거하여
마지막에 단항식을 만들어 다시 역으로 값을 대입해 모든 미지수를 찾아내는 방법입니다.
되게 복잡한 설명이지만, 우리가 알고 있는 일차방정식을 연립해서 푸는 방식과 유사합니다.
식 \(x – y – z = 0, 2x + y – 2z = 3, -3x -2y + 4y = -3\) 이 있을 때, 이 들을 행렬로 한꺼번에 적을 수 있습니다.
“계수행렬”(Coefficient) 로 작성하면, \(\left[ \begin{array}{ccc} 1 & -1 & -1 \\ 2 & 1 & -2 \\ -3 & -2 & 4 \\ \end{array} \right] = \left[ \begin{array}{c} 0 \\ 3 \\ -3 \\ \end{array} \right]\) 으로 표현 가능하고
“첨가 계수행렬”(Augmented Matrix) 로 작성하면, \(\left[ \begin{array}{ccc|c} 1 & -1 & -1 & 0 \\ 2 & 1 & -2 & 3 \\ -3 & -2 & 4 & -3 \\ \end{array} \right]\)으로 표현 할 수 있습니다.
또한 이를 줄여서 \([행렬 A | 상수 b]\)로 추상화 해서 표현 가능합니다.
첨가 계수행렬에서 오른쪽 상수부분이 \(0\)인 경우,
즉, \([ A | 0 ]\) 꼴인 경우 해당 연립 일차방정식을 “동차”(Homogeneous)라고 표현합니다.
이 동차 연립일차방정식은 반드시 해가 존재합니다. ( 자명한 해 이거나 무한한 해 )
“상삼각행렬”의 정의는 다음과 같습니다. \([ a_{ij} | ∀ ( i, j ) : i > j => a_{ij} = 0 ]\)
( 좌 상단이 \((0, 0)\)이고 좌 하단이 \((n, 0)\)입니다. )
“기본 행변환”(Elementary Row Operation)은 위의 언급된 상수배 및 덧셈을 의미하는 것입니다.
정의는 다음과 같습니다.
1). 두 행을 교환 가능 합니다.
2). 한 행에 \(0\)이 아닌 상수 배를 할 수 있습니다.
3). 한 행에 상수 배를 하여 다른 행에 더할 수 있습니다.
그렇다면, 위 아래 행을 기본 행변환을 진행하여 상삼각행렬 이면서
주 대각선을 전부 \(1\)로 하여 식을 구하기 쉽게 변경 하여 해를 구하는 방법이 “후진 대입법”입니다.
즉, 다음의 조건에 맞게 식을 변형하면 됩니다. \([ a_{ij} | ∀ ( i, j ) : i > j => a_{ij} = 0 ∧ ∀ ( i ) => a_{ii} = 1 ]\)
이후 최 하단 행의 식이 자명한 해를 가진다면, 하나씩 위로 대입하면서 모든 해를 구할 수 있게 되고
해당 문제를 풀 수 있을 것입니다.
“가우스 소거법”(Gaussian Elimination)의 정의는 다음과 같습니다.
1). 연립 일차방정식의 첨가 계수행렬을 적는다.
2). 첨가 계수행렬을 행 사다리꼴( 상삼각행렬에 주 대각선이 \(1\)인 행렬 )로 바꾸기 위해 기본 행변환을 시행한다.
3). 후진 대입법을 이용하여, 행사다리꼴 행렬에 대응되는 동치인 연립 일차방정식을 푼다.
2.3. 해가 자명하지 않은 경우
만약, 연립 일차 방정식의 해는 무한 한 경우에는 어떻게 표현 하는것이 좋을까요?
겹쳐서 행이 소거되거나 연립 일차방정식이 미지수 개수보다 적게 정의되면,
위의 행들은 반드시 둘 이상의 변수를 가지게 됩니다.
이 때, 둘 이상의 변수에 대하여 최소한의 변수를 “자유변수”(Free Variable)로 두고
나머지 값들을 최대한 자유변수들로 나타내는 시도를 하여 해를 표현 하는 방법을 사용합니다.
자유변수들로 나타내어지는 변수를 “선행변수”(Leading Variable)라고 표현합니다.
이름이 “선행”변수인 이유는 만약, 해가 정의 되지 않는다면,
아래에서 위로 올라가면서 자명하게 구할 수 없는 상황이 반드시 생길텐데,
오른쪽의 변수들을 먼저 “자유변수”로 두어 왼쪽이 “선행변수”가 되는지 체크 하기 때문에
가장 왼쪽, 선행성분이 반드시 하나는 남게 되고 결국, 용어의 이름과 같이 나올 것입니다.
행렬의 행사다리꼴에서 전부 \(0\)인 행을 제외한 모든 행의 개수를 그 행렬의 “계수”(Rank)라고 표현합니다.
( 계수에 대한 세부적인 내용은 선형대수학 4장에 있습니다. 지금은 위의 내용으로 이해하셔도 무방합니다. )
만약, 행렬 \(A\)를 \(n\)개의 미지수를 가지는 연립일차방정식의 계수행렬이고, 이 \(A\)가 해를 가진다면,
이 때 자유변수의 개수는 \(n – rank(A)\) 가 됩니다. ( \(rank(A) = n\)이면 자명한 해를 갖습니다. )
이 공식을 “계수정리”라고 표현합니다.
기존의 가우스 소거법은 자명한 해를 가지는 조건에서 훌륭한 접근법이지만,
해가 자명하지 않은 경우에는 이보다 더 직관적인 소거를 진행하는 것이 좋다고 생각할 것입니다.
이 문제를 해결해주는 방법이 있습니다.
“가우스-조르단 소거법”은 기존의 방식에서 마지막에 선행변수를 \(1\)로 만들면서
그 열의 모든 항을 자신 \(1\)을 제외한 나머지는 \(0\)으로 만드는 과정이 추가됩니다.
설명이 복잡하지만, 가우스 소거법은 결과의 좌항이 상삼각행렬의 형태였다면,
이번에는 결과의 좌항을 단위 행렬처럼 선행성분만 \(1\)이고 나머지 원소는 전부 \(0\)으로 만들어 주는 방법입니다.
먼저, “기약 행사다리꼴”(Reduced Row Echelon Form) 행렬은 다음 세 가지를 충족해야 합니다.
1). 행사다리꼴이어야 합니다.
2). 전부 \(0\)인 행을 제외한 모든 행의 선행성분은 \(1\)이어야 합니다. ( 1)과 2)는 기존과 동일 합니다.)
3). 선행성분 \(1\)을 포함하는 열에서 선행성분( 자기자신 )을 제외한 모든 성분은 \(0\)이 되어야 합니다.
“가우스-조르단 소거법”(Gauss-Jordan Elimination)의 정의는 다음과 같습니다.
1). 연립일차방정식의 첨가 계수행렬을 구합니다. ( \([A | b]\) 꼴 )
2). 기본 행변환을 이용하여 첨가 계수행렬을 기약 행사다리꼴로 고칩니다.
3). 연립방정식의 해가 존재 할 경우 자유변수와 자유변수에 대응하는 매개변수로
선행변수들을 표현 하여 해를 구합니다.
2.4. 일차 독립과 종속
위에서 첨가 계수행렬이 \([ A | b ]\) 인 연립 일차방정식이 해를 가질 필요충분조건은 \(b\)가 \(A\)의 열들의 일차결합입니다.
이전에 일차결합에 대해서 설명을 했지만, ( 1.2 절에 설명되어 있습니다. )
간략하게 설명하면, 정의된 어떠한 벡터 \(\vec{A}\) 를 정의된 다른 벡터들을 가지고 스칼라배와 덧셈으로만 진행해서
나타 낼 수 있으면 \(\vec{A}\)는 다른 벡터들에 일차 결합이라고 표현 할 수 있습니다.
\(S = \{ v_1 , \ldots , v_k \} ∈ ℝ^n\) 이라고 한다면,
\(\{ v_1 , \ldots , v_k \}\) 가 만들어 낼 수 있는 모든 일차결합인 벡터의 집합을 \(\{ v_1 , \ldots , v_k \}\)의
“생성”(Span)이라고 표현하고, \(span(S)\) 또는 \(span( v_1 , \ldots , v_k )\)로도 표현합니다.
추가로, \(span(S) = ℝ^n\) 이면, \(S\)를 \(ℝ^n\) 에 대한 “생성원 집합”(Spanning Set)이라고 표현합니다.
그렇다면, 생성원 집합의 원소들은 \(\{ v_1 , \ldots , v_k \}\)로 일차 결합하여 만들어 낼 수 있다는 것이고,
생성원 집합의 원소 \(a\) 가 \(\{ v_1 , \ldots , v_k \}\)에 “종속” 된다 라고 표현합니다.
그리고, 생성원 집합들과 벡터 \(\vec{v}\)들을 모두 포함한 집합에 대해
집합 내 다른 벡터들을 가지고 일차결합으로 표현 가능한 집합 내 벡터들을
“일차종속”(Linearly Dependent)이라고 표현합니다.
반대로, 어떠한 벡터들의 집합에서 집합 내의 다른 벡터들에 일차결합으로 설명이 불가능한 벡터들의 집합을
“일차독립”(Linearly Independent)이라고 표현합니다.
어떠한 벡터들의 집합이 정의되면, 모든 원소(벡터)들은 반드시 “일차독립” 이거나 아니면, “일차종속” 입니다.
일차독립과 일차종속의 수학적 정의는 다음과 같습니다.
일차독립 := \(( v_1 , \ldots , v_k )\) 대상들에 대하여 \(\sum_{i=1}^{k}{c_i · v_i} = 0 => ∃! [ c_1 , \cdots , c_k ]\) \(( ∵ [ {c_1=0} , \cdots , {c_k=0} ] )\)
( \(\left[ \begin{array}{c} v_1 , \cdots , v_k \\ \end{array} \right]\) 모두에 대해 일차결합이 가능한 조합이 없다는 의미 입니다. )
일차종속 := \(( v_1 , \cdots , v_k )\)에 대하여 \(\sum_{i=1}^{k}{c_i · v_i} = 0 => ~∃! [ c_1 , \cdots , c_k ]\)
( \([ v_1 , \cdots , v_k ]\) 의 일부가 일차결합이 가능한 조합이 적어도 하나 있다는 의미입니다. )
그렇다면, 모든 가능한 조합에 대해서 해를 어떻게 찾아야 할까요?
\([ v_1 , \cdots , v_k ]\) 이 일차독립인 필요충분조건은 행렬 \(A\)에 대해 ( \(A\) 는 행의 수가 성분의 개수이고 열의 수가 \(k\)인 행렬 )
첨가 계수행렬이 \([ A | 0 ]\) 인 동차 연립일차방정식이 자명한 해를 가지는 것입니다.
반대로, 일차 종속인 필요충분조건은 동일한 조건내에 동차 연립일차방정식이 자명한 해를 가지지 않는 것 입니다.
역시, 동차 연립일차방정식은 자명한 해를 가지거나 가지지 않거나 반드시 둘 중 하나 입니다.
다른 방식의 일차독립일 필요충분조건은 행렬 \(B\)에 대해 ( \(B\)는 행의 수가 \(k\)이고, 열의 수가 성분의 개수인 \(A^T\) 행렬 )
\(rank(B) = k\) 이면 일차독립이 성립하고,
일차종속일 필요충분조건은 행렬 \(B\)에 대해 \(rank(B) < k\) 이면 일차종속이 성립합니다.
추가로, 위의 공식에 의해 반드시 일차종속을 성립하는 식이 존재 하게 되는데,
만약 주어진 벡터가 \(m\)개이고 \(ℝ^n\), 즉 한 벡터가 \(n\)개의 성분을 가진다면, ( 즉, \(m > n \)이면 )
반드시 일차종속이 성립합니다.