본문 바로가기

녕's Study/선형대수학

[kmooc] 3.1 행렬대수 - 행렬연산

 

앞으로 한 번에 안올리고 나눠서 올려야겠다 ^o^~

계속 스크롤 내려서 작성하려니 힘들어서

그냥 하나 하고 올리는 걸로 변경 ㅎㅎ

 


 

[k-mooc] 02 선형연립방정식

k-mooc 으로 선형대수학 독학하기 ! 강의 내용 : 선형대수학 출처 : 성균관대학교 이상구 교수님 * 원래 강의는 sage를 이용하는데 중간부터 나는 R을 사용하는 것으로 변경함. 01 벡터 선형대수학은

nyoungsom.tistory.com


 

 

3.1 행렬연산

3.2 역행렬

3.3 기본행렬(Elementary matrics)

3.4 부분공간과 일차독립

3.5 선형연립방정식의 해집합과 행렬

3.6 특수행렬들

3.7 LU-분해

 

 


 

3.1 행렬연산

 

행렬의 상등(equal)

 

* \( A = B \), 서로같다(equal)
\( A = [ a_{ij} ] _ {m \times n}, B = [b_{ij}]_{m \times n} \)가 모든 \( i, j \)에 대하여 \( a_{ij} = b_{ij} \)를 만족함.
상등이 정의되려면 두 행렬의 크기가 같아야 함.

 

 

\( a_{ij} = b_{ij} \)를 만족해야 함. 즉, 대응하는 성분이 모두 같아야 함

\( \therefore w = -1, x = -3, y = 0, z = 5 \)

 

 

 

행렬의 덧셈(sum), 스칼라배(scalar multiple)

 

두 행렬 \( A = [a_{ij}]_{m \times n}, B = [b_{ij}]_{m \times n} \)와 실수 \( k \)에 대하여 다음과 같이 정의함.

 

* \( A + B \) \( A \)와 \( B \)의 합(sum)

\( A + B = [a_{ij} + b_{ij}]_{m \times n} \)

 

* \( A \)의 스칼라배(scalar multiple) \( kA \)

\( kA = [ka_{ij}]_{m \times n} \)

 

 

 

[R 실습] 행렬의 덧셈과 스칼라배

 

 

a <- c(1, 2, -4, -2, 1, 3)
b <- c(0, 1, 4, -1, 3, 1)
c <- c(1, 1, 2, 2)

A = matrix(a, nrow=2, ncol=3, byrow=T)
B = matrix(b, nrow=2, ncol=3, byrow=T)
C = matrix(c, nrow=2, ncol=2, byrow=T)

A+B
-1 * C

 

 

 

행렬의 곱셈(multiplication)

 

두 행렬 \( A = [a_{ij}]_{m \times p} , B = [b_{ij}]_{p \times n} \)에 대하여 다음과 같이 정의함.

 

* \( A \)와 \( B \)의 곱(multiplication) AB

\( AB = [c_{ij}]_{m \times n} \)
\( c_{ij} = a_{i1}b_{1j} + a_{i2}b_{2j} + \cdots + a_{ip}b{pj} = \sum_{k=1}^p a_{ik}b_{kj} \)

* \( (1 \le i \le m, 1 \le j \le n ) \)

 

 

* 행렬의 곱이 성립하기 위한 조건

 

 

 

행렬 곱의 의미

 

\( A = [a_{ij}]_{m \times p}, B = [b_{ij}]_{p \times n}라 하고

\( A \)의 \( i \)번째 행을 \( A_{(i)} \) , \( A \)의 \( j \)번째 열을 A_{(j)}로 표기하면

 

 

 

앞의 행렬의 행벡터와 뒤의 행렬의 열벡터의 내적(inner product)이 해당 위치의 원소 값이 됨.

 

 

 

 

[R 실습] 행렬의 곱셈(multiplication)

 

 

a <- c(1, 2, -1, 3, 1, 0)
b <- c(-2, 1, 0, -3, 2, 1)

A = matrix(a, nrow=2, ncol=3, byrow=T)
B = matrix(b, nrow=3, ncol=2, byrow=T)

A%*%B

 

 

 

 

행렬의 곱을 이용한 선형연립방정식의 벡터 형식 표현

 

* 행렬의 곱을 이용하면 선형연립방정식을 쉽게 표현할 수 있음.

 

* 선형연립방정식

 

* 계수, 미지수, 상수항

 

\( Ax = b \Leftrightarrow x_1A^{(1)} + x_2A^{(2)} + \cdots + x_nA^{(n)} = b \)

 

* 선형연립방정식의 일반적 형식

 

* 선형연립방정식의 벡터 형식

 

 

 

행렬의 연산법칙

행렬 \( A,B,C \)는 각 연산이 정의될 수 있는 적당한 크기의 행렬이고, \( a, b \)가 스칼라일 때, 다음이 성립함.

 

 

 

 

[R 실습] 곱셈의 결합법칙

 

 

a <- c(1, 2, 3,4,0,1)
b <- c(4, 3, 2, 1)
c <- c(1,2,0,3)

A = matrix(a, nrow=3, ncol=2, byrow=T)
B = matrix(b, nrow=2, ncol=2, byrow=T)
C = matrix(c, nrow=2, ncol=2, byrow=T)

(A%*%B)%*%C
A%*%(B%*%C)

 

 

 

 

[R 실습] 행렬의 연산법칙

 

 

* 행렬의 곱 \( AB \)는 \( 2 \times 3, 3 \times 4 \)로 정의되지만, \( BA \)는 \( 3 \times 4, 2 \times 3 \)정의되지 않음.

* 행렬의 곱 \( AC \)는 \( 2 \times 2 \)행렬이지만, \( CA \)는 \( 3 \times 3 \) 행렬이므로, \( AC \ne CA \)임.

* 또한, \( DE \)나 \( ED \)는 모두 \( 2 \times 2 행렬이지만, 성분이 같지 않아 \( DE \ne ED \)임.

 

a <- c(5,2,3,-2,-3,4)
b <- c(1,0,1,0,0,2,2,2,3,0,-1,3)
c <- c(1,0,2,-3,2,1)
d <- c(-1,0,2,3)
e <- c(1,2,3,0)

A = matrix(a, nrow=2, ncol=3, byrow=T)
B = matrix(b, nrow=3, ncol=4, byrow=T)
C = matrix(c, nrow=3, ncol=2, byrow=T)
D = matrix(d, nrow=2, ncol=2, byrow=T)
E = matrix(e, nrow=2, ncol=2, byrow=T)

A%*%B # AB
B%*%A # BA

A%*%C # AC
C%*%A # CA

D%*%E # ED
E%*%D # DE

 

 

 

 

영행렬(zero matrix)

 

* 모든 성분이 0인 행렬로 \( O \) 또는 \( O_{m \times n} \)로 나타냄.

 

* 임의의 행렬 \( A \)와 영행렬 \( O \)에 대하여 다음이 성립함

 

* \( AB = O \)이지만 \( A \ne O, B \ne O \)일 수도 있음
  \( AB = AC, A \ne O \)이지만 \( B \ne C \)일 수도 있음

 

a <- c(0,1,0,2)
b <- c(1,1,3,4)
c <- c(2,5,3,4)
d <- c(3,7,0,0)

A = matrix(a, nrow=2, ncol=2, byrow=T)
B = matrix(b, nrow=2, ncol=2, byrow=T)
C = matrix(c, nrow=2, ncol=2, byrow=T)
D = matrix(d, nrow=2, ncol=2, byrow=T)

A%*%B # AB
A%*%D # AC

 

 

 

 

단위행렬(identity matrix)

 

단위행렬(indentity matrix, \( I_n \)은 주대각선성분이 모두 1이고 나머지 성분은 모두 0인 \( n \)차의 정사각형 행렬임.

 

 

\( A \)가 \( m \times n \)행렬일 때, 단위행렬 \( I_m, I_n \)에 대하여 다음이 성림함.

\( I_mA = A = AI_n \)

* 즉, 단위행렬 \( I_n \)과 행렬 \( A \)를 곱하면 자기 자신인 \( A \)가 나옴.

 

 

 

[R 실습] 단위행렬

 

a <- c(4,-2,3,5,0,2)

A = matrix(a, nrow=2, ncol=3, byrow=T)
I2 = matrix(c(1,0,0,1), nrow=2, ncol=2, byrow=T)
I3 = matrix(c(1,0,0,0,1,0,0,0,1), nrow=3, ncol=3, byrow=T)

I2%*%A # I2A
A%*%I3 # AI3

 

 

 

 

거듭제곱(power of matrices)

 

\( A \)가 \( n \)차의 정사각행렬일 때,
\( A \)의 거듭제곱(power of matrices)을 다음과 같이 정의함.

 

\( A^0 = I_n, A^k=A A \cdots A \)

* \( k \)개

 

\( \begin{align} ( a + b )^2 = a^2 + ab + ba + b^2 \\ a^2 + ab + ab + b^2 = a^2 + 2ab + b^2 \end{align} \)

* 실수의 거듭제곱

 

\( (A+B)^2 = A^2 + AB + BA + B^2 \)

* 행렬의 거듭제곱

* \( AB = BA \)인 경우에만, \( A+B )^2 = A^2 + 2AB + B^2 \)이 성림함.

 

 

 

전치행렬(transpose)

 

행렬 \( A = [a_{ij}]_{m \times n} \)에 대한 \( A \)의 전치행렬

 

\( A^T = [a_{ij}']_{n \times m}, a_{ij}' = a_{ji} ( 1 \le i \le n, 1 \le j \le m ) \)

* 전치행렬은 원 행렬의 행과 열을 바꾸어 얻어진 행렬임.

 

 

 

[R 실습] 전치행렬(transpose)

 

다음 행렬들의 전치행렬을 구하라.

a <- c(1,-2,3,4,5,0)
b <- c(1,2,-4,3,-1,2,0,5,3)
c <- c(5,4,-3,2,2,1)
d <- c(3,0,1)
e <- c(2,0,3)

A = matrix(a, nrow=2, ncol=3, byrow=T)
B = matrix(b, nrow=3, ncol=3, byrow=T)
C = matrix(c, nrow=3, ncol=2, byrow=T)
D = matrix(d, nrow=1, byrow=T)
E = matrix(e, ncol=1, byrow=T)

t(A)
t(B)
t(C)
t(D)
t(E)

 

 

 

 

전치행렬과 스칼라 \( k \)

 

두 행렬 \( A, B \)와 임의의 스칼라 \( k \)에 대하여 다음이 성립함.

 

 

 

[R 실습] 전치행렬

 

 

a <- c(1,3,2,5)
b <- c(1,1,3,2,1,4)

A = matrix(a, nrow=2, ncol=2, byrow=T)
B = matrix(b, nrow=2, ncol=3, byrow=T)

t(A%*%B)
t(B)%*%t(A)

 

 

 

 

대각합(trace)

 

행렬 \( A = [a_{ij}]_{n \times n ] \)의 대각합(trace)

행렬 A의 전치행렬의 합

 

\( tr(A) = a_{11} + a_{22} + \cdots + a_{nn} = \sum_{i_1}^na_{ii} \)

 

\( A, B \)가 같은 크기의 \( tr(A-B) = tr(A) - tr(B) \) 정사각행렬이고, \( c \in R \)

 

 

 

 

'녕's Study > 선형대수학' 카테고리의 다른 글

[k-mooc] 3.4 부분공간과 일차독립  (0) 2022.02.09
[k-mooc] 3.3 행렬대수_기본행렬  (0) 2022.01.18
[k-mooc] 3.2 행렬대수_역행렬  (0) 2022.01.17
[k-mooc] 2 선형연립방정식  (0) 2022.01.05
[k-mooc] 1 벡터  (0) 2021.12.31