행렬
체 P 위의 행렬은 사상 {1, 2, …, n} × {1, 2, …, m} → P이다. 행렬은 보통 대문자로 나타낸다. A = (…). 이제 쉬운 말로 설명하자.
기본 용어
행렬은 간단히 말해 열이 n개, 행이 m개인 표 같은 것이다. 다만 행과 열을 나타내는 문자가 늘 이렇게 정해져 있지는 않으니 주의하자. 표의 각 칸에는 어떤 수나 다른 식이 들어 있다. 행렬이 꼭 수로만 이루어질 필요는 없지만, 처음에는 다른 행렬을 만날 일은 거의 없을 것이다. 행렬은 예를 들어 다음과 같이 생겼다.
이 행렬은 행이 두 개, 열이 세 개이다. 행렬의 성분은 첨자를 붙여 나타내는데, 대문자 대신 소문자를 쓴다. a11 = 0이나 a23 = 51처럼 쓴다. 첫 번째 첨자는 행을, 두 번째 첨자는 열을 나타낸다.
특별한 행렬
행렬은 여러 가지 성질을 가질 수 있고, 특별한 행렬 가운데에는 이름이 따로 있는 것도 있다.
정사각행렬은 행의 개수와 열의 개수가 같은 행렬이다. 정사각행렬이 아니면 직사각행렬이다. 정사각행렬의 예는 다음과 같다.
영행렬은 모든 성분이 0인 행렬이다. aij = 0이다.
단위행렬은 주대각선의 성분이 1이고 나머지 성분이 모두 0인 정사각행렬이다. 주대각선은 왼쪽 위에서 오른쪽 아래로 그은 ‘대각선’과 같다. 간단히 말해 i = j인 자리의 수들이다.
사다리꼴 행렬은 영행(모든 성분이 0인 행)이 맨 아래에 있고(또는 영행이 없고), 0이 아닌 각 행의 앞에 있는 0의 개수가 바로 위 행보다 많은 행렬이다. 다음은 모두 사다리꼴 행렬이다.
행렬 A의 전치행렬은
대칭행렬은 등식 A = AT를 만족하는 정사각행렬 A이다. 대각선에 대하여 대칭인 자리의 성분이 같다. 즉 aij = aji라고 쓸 수 있다.
교대행렬은 대칭행렬과 거의 같은데, 반대쪽 성분의 부호가 반대이다. A = −AT이다. 그래서 주대각선의 성분은 0이어야 한다. a = −a이면 a = 0이기 때문이다.
대각행렬은 주대각선을 뺀 모든 성분이 0인 행렬이다. 정확히 말하면 주대각선 밖의 성분은 모두 0이어야 하고, 주대각선에 무엇이 있는지는 정하지 않는다.
행렬의 기본 연산
행렬은 서로 더할 수 있고, 어떤 수를 곱할 수 있고, 행렬끼리 곱할 수도 있다.
행렬의 덧셈은 꽤 직관적이다. 두 행렬의 꼴이 같으면(열의 개수와 행의 개수가 같으면), 결과 행렬의 각 자리에는 원래 행렬들의 같은 자리에 있는 수의 합이 들어간다. 즉 행렬의 덧셈 A + B = C에서 aij + bij = cij이다.
행렬의 덧셈에 대해서는 분명히 교환법칙과 결합법칙이 성립한다. A + B = B + A이고 A + (B + C) = (A + B) + C이다.
행렬의 실수배도 직관적이다. 수를 하나 잡아 행렬의 각 성분에 곱하면 된다. 그것이 전부이다. k · A = k · aij이다.
행렬의 곱셈
행렬의 곱셈은 조금 더 까다롭다. 기대하는 것처럼 직관적이지 않기 때문이다. 대응하는 성분끼리 곱하기만 해서는 안 된다. 무엇보다 먼저, 첫 번째 행렬의 열의 개수와 두 번째 행렬의 행의 개수가 같아야 한다. 나머지는 아무래도 상관없다. 이제 곱을 정의할 수 있다(n은 첫 번째 행렬의 열의 개수이다).
알쏭달쏭하다고? 이제 천천히 풀어 보자 :-). 첫 번째 행렬의 첫 번째 행과 두 번째 행렬의 첫 번째 열을 잡는다. 첫 번째 성분끼리 곱한 것에 두 번째 성분끼리 곱한 것을 더하고, 이렇게 계속 더한다. 그러면 새 행렬 C의 성분 c11을 얻는다. 예를 보는 것이 가장 좋다. 다음 두 행렬을 곱해 보자.
이제 첫 번째 행렬의 첫 번째 행과 두 번째 행렬의 첫 번째 열을 고른다.
알아보기 쉽게 새로 생기는 행렬을 C라고 하자. 이 행렬의 첫 번째 성분을 얻으려면 c11 = a11 · b11 + a12 · b21을 계산해야 한다. 첨자의 첫 번째 자리는 행, 그다음은 열이라는 점에 주의하자. 수를 대입하면 1 · 5 + 2 · 7 = 19이다. 첫 번째 성분은 19이다.
다음 성분 c12도 같은 방법으로 구하는데, 첫 번째 행과 두 번째 열을 잡는다. 이렇게 계산하면 언제나 그 행과 열이 함께 가리키는 성분을 얻는다. 첫 번째 행과 첫 번째 열이 함께 가리키는 성분은 c11이고, 첫 번째 행과 두 번째 열이 함께 가리키는 성분은 c12이다. 다음 그림이 이것을 잘 보여 준다.
이제 나머지 성분을 빠르게 계산하자.
이 수들을 행렬에 적기만 하면 된다.
결과가 맞는지는 엑셀이나 리브레오피스 Calc 같은 스프레드시트로 확인할 수 있다. 이런 프로그램에는 행렬을 다루는 함수가 있다.
이제 행렬의 곱셈에 대해 일반적인 사항 몇 가지를 알아 두자. 무엇보다 행렬의 곱셈에 대해서는 교환법칙이 성립하지 않는다. 일반적으로 A · B = B · A가 성립하지 않는다. 물론 성립하는 경우도 있다. 하지만 결합법칙은 성립한다. 덧셈에 대한 분배법칙도 성립한다. A (B + C) = AB + AC이다. 두 행렬 aix · bxn을 곱하면 결과는 i × n 행렬이다(행의 개수는 첫 번째 행렬의 행의 개수와 같고, 열의 개수는 두 번째 행렬의 열의 개수와 같다).
예제
다음 세 행렬이 주어져 있다.
행렬의 곱 A · B를 구하시오.
행렬의 곱 B · A를 구하시오.
행렬의 곱셈에 대해서는 교환법칙이 성립하지 않으므로 결과가 앞의 경우와 같다고 확실히 말할 수 없다는 점에 주의하자. 처음부터 다시 계산해야 한다.
행렬의 곱 A · C와 C · B를 구하시오.
두 번째 곱은 계산할 수 없다. 첫 번째 행렬의 열의 개수와 두 번째 행렬의 행의 개수가 다르기 때문이다.
기본 행 연산
행렬을 효율적으로 다루려면 기본 연산을 몇 가지 정해야 한다. 먼저 행렬의 한 행(열)에 0이 아닌 수를 곱할 수 있다. 곱한 결과는 행렬의 k배와 같지만 그 행(열)에만 나타난다.
두 번째 연산은 j번째 행의 k배를 i번째 행에 더하는 것이다. 열에 대해서도 마찬가지이다. 조금 무섭게 들리지만 사실은 간단하다. k = 1일 때 해 보자. 다음 행렬이 있다.
이제 첫 번째 행에 두 번째 행을 더한다. 두 번째 행을 잡아 각 수를 첫 번째 행의 같은 자리에 있는 수에 더한다. 두 번째 행의 수들은 그대로이고 첫 번째 행만 바뀐다.
이제 연산을 계속할 수 있다. 이번에는 첫 번째 행의 2배를 세 번째 행에 더해 보자. 새로 생긴 행렬에서 첫 번째 행을 꺼내 2를 곱하면 행 (10, 14, 18)을 얻고, 이 수들을 세 번째 행에 더한다. 이번에도 첫 번째 행은 바뀌지 않고 세 번째 행만 바뀐다.
다음으로 세 번째 행에 첫 번째 행과 두 번째 행의 합을 더한다. 사실 새로운 것은 없다. 세 번째 행에 먼저 두 번째 행을, 다음에 첫 번째 행을 더해도 같은 결과가 나와야 하기 때문이다. 첫 번째 행과 두 번째 행의 합은 (5, 7, 9) + (4, 5, 6) = (9, 12, 15)이다. 이 행과 세 번째 행의 합은 (9, 12, 15) + (17, 22, 27) = (26, 34, 42)이다.
열 연산도 하나 해 보자(열 연산은 한눈에 알아보기 어려워서 보통은 그리 자주 쓰지 않는다). 첫 번째 열을 두 번째 열에 더한다.
마지막으로 두 번째 행에 2를 곱한다.
일차종속
이제 종속인 행(열)이 무엇인지 알아보자. 어떤 행을 행렬의 다른 행들의 일차결합으로 나타낼 수 있으면 그 행은 일차종속이다. 간단히 말해 행들을 이리저리 더해서 그 행을 만들 수 있으면 그 행은 일차종속이다. 예를 보자.
첫 번째 행의 2배와 두 번째 행을 더하면 세 번째 행이 된다. 세 번째 행에서 이 결합을 빼면 영행(모든 성분이 0인 행)을 얻는다. 이 행은 종속이다. 그래서 다음과 같이 변형한다(첫 번째 행에 2를 곱하고, 그것을 두 번째 행에 더하고, 세 번째 행에서 뺀다).
행렬 A의 행이 n개이고 Ai가 i번째 행을 나타낼 때, 다음 식이
α1, α2, …, αn = 0일 때에만 성립하면 행렬에 일차종속인 행이 없다고 한다. 식의 우변에 있는 0은 영행을 나타낸다. 즉 이 방정식의 해가 자명한 해뿐인 경우이다. 다른 해를 찾으면 행렬에는 일차종속인 행이 있다. 열도 마찬가지이다. 앞의 행렬에서는 다음이 성립한다.
즉 알파의 값은 α1 = 2, α2 = 1, α3 = −1이다.
일차독립인 행이나 열의 개수가 행렬의 계수이다.
정칙행렬과 특이행렬
정사각행렬이 최대 계수를 가지면(즉 일차종속인 행이 하나도 없으면) 정칙행렬이라고 한다. 정사각행렬이 정칙행렬이 아니면(즉 일차종속인 행이 적어도 하나 있으면) 특이행렬이라고 한다. 이 두 개념은 꽤 중요하다. 많은 정의가 이 개념에 기대고 있다. 행렬이 정칙행렬일 때에만 정의되는 것이 많다.