벡터: 크기와 방향을 동시에 가진 화살표라고 생각하면 됨. ( 점과 선으로 이루어져 있음. )
이러한 벡터는 컴퓨터 공학이나 프로그래밍에서 볼 땐 숫자들이 한 줄로 늘어서 있는 구조(배열)로 1차원이며, 이러한 1차원 배열(벡터)을 확장시킨 것이 2차원 배열인 행렬로 볼 수 있음.
행렬의 정의: m, n이 양의 정수일 때, m개의 행과 n개의 열로 구성된 직사각형의 수 배열 A를 m * n 행렬이라함.
i는 특정 i번째 행을 의미하고, j는 특정 j번째 열의 수를 의미함.
행렬 A의 i번째 행 j번째 열을 aij로 표시를함. => A = (aij) 로 표기하기도 함.
행벡터: 1 * n 행렬로써, 행을 나타내는 2차원 배열(행렬)의 행을 의미하는 1차원 배열로 볼 수 있음.
열벡터: m * 1 행렬로써, 열을 나타내는 2차원 배열(행렬)의 열을 의미하는 1차원 배열로 볼 수 있음.
(2) 영행렬
영행렬: 모든 원소가 0인 행렬을 영행렬이라고 함. ( 덧셈에 대한 항등원?? )
✅ 2. 행렬의 연산
(1) 기본연산 - 행렬의 합, 차, 스칼라 곱
행렬의 합, 차 조건: 행렬간의 합, 차를 하기 위해서는 두 행렬의 크기가 동일해야 함.
행렬의 합: A + B 두 행렬의 합은 두 행렬의 같은 위치의 원소간 합을 의미함.
즉, 두 행렬 A, B의 합에서 원소의 값은 aij + bij 을 통해서 구해질 수 있음.
행렬의 차: A - B 두 행렬의 차는 두 행렬의 같은 위치의 원소간 차를 의미 할 수 있음. ( aij - bij )
스칼라 곱: 행렬 전체의 규모(Scale)를 일정한 비율로 변화시키는 연산을 의미한다.
실수 k 는 행렬의 원소들이 원래 가지고 있던 값을 몇 배로 만들지 결정하는 비중 또는 배율역할을 함.
예를들면, 실수 k = 10 인 경우 위와 같이 행렬의 모든 원소들에 10을 곱해주는 연산을 진행함.
즉, kA는 A(행렬)의 각 원소에 k를 곱해서 구해지는 행렬로써 원소의 값은 kaij 이다.
(1) B 행렬에서 A 행렬의 차를 의미하며, 단순히 모든 원소에 대응해서 bij - aij 를 통해서 결과를 얻는 연산임.
(2) 3A 는 A 행렬에 실수 k = 3을 통해 스칼라 곱을 진행해 모든 원소의 비중 및 배율을 3배씩 올린 결과를 얻는 연산임.
(3) 행렬 B와 A의 차를 구한 뒤, k = 3 의 스칼라 곱을 통한 결과와 더한 값을 얻는 연산임.
(2) 기본연산 - 행렬의 합과 스칼라 곱의 연산법칙
행렬의 합과 스칼라 곱은 같은 크기의 행렬 A, B, C에 대해 위와 같은 연산법칙들의 적용이 가능함.
(3) 기본연산 - 행렬의 곱
행렬의 곱 조건: A 행렬의 열의 개수와, B 행렬의 행의 개수가 같은 경우에만 행렬 A와 B를 곱할 수 있음.
즉, A행렬 = m * n , B행렬 = n * l 와 같이 A행렬 열(n), B행렬 행(n)이 같아야만 적용이 가능
또한,위와 같은 조건을 통해 A행렬과 B행렬을 곱하고 난 행렬의 크기는 m * l 의 크기를 가지는 행렬이 됨.
ex) A행렬 = 3 * 4 / B행렬 = 4 * 2 일 때, m * l = 3 * 2의 크기를 가지는 행렬이 됨.
ABij(두 행렬의 곱) 을 구하는 과정은 위와같은 수식으로 정의 될 수 있음.
좀 더 자세히보면, 위와 같은 형식으로 이뤄지기 때문에 m * l 크기를 가지는 행렬이 나오는 것임.
행렬의 곱은 벡터의 내적을 통해서 값을 구할 수 있음.
A 의 첫 번째 행(4, -1)과 B의 첫 번째 열(7, 9) 의 각 원소끼리 곱하고 더한 값(4 * 7 + -1 * 9 = 28 + -9 = 19) 을 얻을 수 있으며, 이후에도 A의 첫 번째 행과 B의 두 번째 열... 반복적으로 구하면 행렬의 곱의 결과를 얻을 수 있음.
(4) 기본연산 - 행렬의 곱의 연산법칙
행렬 A,B,C가 각 연산에 적합한 크기의 행렬이라 할 때, 위와 같은 연산법칙들을 적용 할 수 있음.
행렬의 곱은 교환법칙은 안됨.
행렬의 곱이 교환 법칙이 안되는 이유: 행렬 A, B의 곱을 진행 할 때, 교환 법칙은 행렬 AB = BA 가 성립이 되어야 하지만, 행렬 곱을 할 때에의 AB = 1 * 3 의 크기가 나오지만 BA = 3 * 3 의 크기가 나오기 때문에 전혀 다르게 적용이 됨.
행렬의 거듭제곱: 행렬 A의 n승은 위와 같은 수식으로 표현이 가능함.
영행렬이 아닌 두 행렬의 곱이 영행렬이 나오는 경우: 영행렬이 아닌 A, B 행렬이 있을 때, 두 행렬을 곱했을 때, 결과는 당연히 영행렬이 안나오는게 정상같아 보이지만 위와같이 영행렬이 나올 수 있음. ( 일반 실수 집합에서의 연산과 다를 수 있음 )
이거 기출문제로 나올 수 있음. !!
(5) 가우스 소거법
삼원 일차 연립 방정식: 위의 예시는 미지수가 3개 이며, 모든 미지수가 1차 방정식이기 때문에, 삼원 일차 연립 방정식이다.
해당 연립 방정식은 아래와 같이 행렬로 표현이 가능하며, 각 행렬은 A, X, B로 두게되면, AX = B 라는 행렬 방정식으로 표현이 가능함. 즉, 각 행렬은 A = 계수행렬, X = 미지수 행렬, B = 상수행렬 로 볼 수 있음.
확대행렬: 계수행렬 A와 상수행렬 B를 선 하나를 사이에 두고 하나로 합쳐놓은 행렬을 의미함.
확대행렬 존재 이유: 미지수를 생략하고 숫자만 다루기 위해서 해당 방식을 사용하며, 가우스 소거법을 실제로 수행할 때, 이 확대행렬을 가지고 행을 더하거나 빼는 작업을 해서 해를 구함. A|B
미지수 행렬 X해 구하기: 행렬에서 항등원은 I(단위행렬)로써, 해당 A-1(역행렬)을 양변에 곱하게 된다면, 항등원 I는 어떤 행렬에 곱해도 값을 변하게 하지 않으므로, IX 는 그냥 X가 되며(1(항등원) * x = x가 되는 것과 동일함.), 결론은 X = A-1B 와 같이 방정식의 해를 구할 수 있음.
이러한 연립방정식을 행렬 AX = B 형태로 바꾸고, 역행렬이나 가우스 소거법(확대행렬 이용)을 통해 효율적으로 답을 찾고자 하는 내용을 담고 있음.
기본행연산: 가우스 소거법을 실제로 수행하는 도구로 볼 수 있으며, 방정식을 풀 때 양변에 같은 수를 더하거나 곱해도 해가 바뀌지 않는 원리를 행렬에 적용한 것임.
(3) 가우스 소거법 예제
✅ 3. 행렬의 종류
(1) 정방행렬
ㅇ
(2) 대각행렬
ㅇ
(3) 단위행렬
ㅇ
(4) 대칭행렬
ㅇ
(5) 행렬의 종류 - 예제 풀이
ㅇ
(6) 역대칭행렬
ㅇ
ㅇ
(7) 삼각행렬
ㅇ
ㅇ
(8) 전치행렬
ㅇ
ㅇ
(9) 역행렬
역행렬:
✅ 4. 부울 행렬
(1) 부울행렬 이란?
부울행렬: 행렬의 모든 원소가 부울값(0 or 1)으로만 구성된 행렬을 부울행렬 이라고 함.
위의 예제를 보면 A, C, D 만 부울행렬로 볼 수 있음.
(2) 부울행렬의 합, 교차, 부울곱
부울행렬의 합: 크기가 m x n 인 두 행렬 A와 B가 부울행렬일 때(즉, 모든 원소가 0, 1 인 경우) A와 B 행렬의 합은 논리합임.
행렬 A, B 원소간에 OR(논리합) 연산을 통해서 결과를 부울행렬 C에 저장하는 원리임. ( 크기가 같은 행렬임 )
부울행렬의 교차: 행렬 A, B가 부울행렬일 때, A와 B의 교차는 교집합 성질과 유사하며, 두 원소간의 값이 1로 같은 경우에만 1로 되고, 나머지는 다 0으로 넣어지는 원리임. 즉, AND(논리곱) 연산으로 볼 수 있음.
마찬가지로 동일한 위치에 있는 원소간의 논리곱을 진행해서 행렬 C에 넣어짐.
부울곱: m x n 행렬 A와 n x l 행렬 B가 부울행렬일 때만 부울곱이 가능하며, 행렬의 곱셈과 형식이 유사하지만 산술 열산 대신 논리 연산(AND, OR)을 사용하는 행렬 연산으로 볼 수 있음.
연산 결과로 나오는 행렬 C의 크기는 m x l 크기가 되며, 표기법은 위와 같이 C = A⊙B 로 나타냄.
원소 계산 방식: AND 연산과 OR 연산을 활용해서 부울곱을 진행함.
(1) 원소간 OR(논리합)을 통해서 결과를 얻을 수 있음.
(2) 원소간 AND(논리곱)을 통해서 결과를 얻을 수 있음.
(3) 행렬의 곱셈을 진행할 때, 곱셈 연산은 AND 로 진행하고, 덧셈 연산은 OR로 진행함.