[한빛 아카데미] Engeneering Math with Sage


[한빛] 응용 공학수학 (실습실)



이상구, 김영록, 박준현, 김응기, 이재화

1장 행렬과 선형대수


A. 공학수학 – 선형대수상미분방정식

사각형입니다.

사각형입니다.

http://matrix.skku.ac.kr/knou-knowls/KNOU-LA-Sage.htm 

 

1.1  행렬의 성질과 연산 http://matrix.skku.ac.kr/knou-knowls/CLA-Week-3.html

 1.2  선형연립방정식 http://matrix.skku.ac.kr/knou-knowls/CLA-Week-2-Sec-2-1.html 

1.3  일차독립과 일차종속, 계수(Rank) http://matrix.skku.ac.kr/knou-knowls/CLA-Week-4.html 

1.4 행렬식과 여인자 전개 http://matrix.skku.ac.kr/knou-knowls/CLA-Week-5.html

1.5 역행렬과 Cramer의 법칙 http://matrix.skku.ac.kr/knou-knowls/CLA-Week-6.html

1.6 고유값과 고유벡터  http://matrix.skku.ac.kr/knou-knowls/CLA-Week-6-Sec-4-5.html

1.7 닮음, 행렬의 대각화, 이차형식 http://matrix.skku.ac.kr/knou-knowls/CLA-Week-11.html, http://matrix.skku.ac.kr/knou-knowls/CLA-Week-12.html

1.8 복소행렬(Hermitian, 유니타리, 정규행렬) http://matrix.skku.ac.kr/knou-knowls/CLA-Week-13.html

[부록] 1.9 행렬계산기  (Sage Matrix Calculator) http://matrix.skku.ac.kr/2014-Album/MC.html

Chapter 01 행렬과 선형대수

1.1 행렬의 성질과 연산 

이 절에서는 공학 계산에서 자주 사용되는 행렬과 벡터의 정의와 연산에 대하여 학습한다. 행렬의 연산은 대부분 실수의 연산과 일치하지만 행렬의 곱셈은 실수의 곱셈과는 다소 차이가 있다. 그리고 행렬 연산에서 중요한 역할을 하는 특수행렬들(영행렬, 대각선 행렬, 단위행렬, 대칭행렬, 반대칭행렬 등)에 대하여 살펴본다.

예제 1-1 두 행렬 

에 대하여 라 하자. 의 값을 구하여라.

 

[풀이]  이려면 대응하는 성분이 모두 같아야 하므로

  이다.                                       

예제 1-2  : 

다음 물음에 답하여라.

 (1)  에 대하여 와 를 구하여라.

 (2) ,  에 대하여 를 구하여라.

[풀이] 행렬연산의 정의에 따라 아래와 같이 합과 스칼라배, 행렬곱을 구한다.

 (1) 

 (2)    

         ■  

http://matrix.skku.ac.kr/RPG_English/3-MA-operation-1-multiply.html




 예제 1-3

의 벡터 에 대하여 다음이 성립한다.

 ,  

 ,

의 벡터 에 대하여 다음이 성립한다.

 ,  

 ,

     

 




예제 1-4 : 예제 1-3에서 주어진 벡터 x, y 에 대하여 두 벡터의 내적(inner product)를 구하여라.

위의 예제 1-3의 벡터 에 대하여 를 구하여라.

 

[풀이] 

 http://sage.skku.edu 또는 http://mathlab.knou.ac.kr:8080




(1) 영행렬(zero matrix)은 성분이 모두 0인 행렬로  (또는 )로 나타낸다.

                              

(2) 대각선행렬(diagonal matrix)은 주대각선성분(행과 열의 번호가 같은 성분 즉,  )    이외의 모든 성분이 인 정사각행렬을 말한다. 특히 주대각선성분이 인 대각선행렬을 다음과 같이 나타낸다.

                           diag

(3) 주대각선성분이 모두 1이고 나머지 성분은 모두 0인 차의 정사각형 행렬을 단위행렬(identity matrix)이라 하고, 으로 나타낸다.

 

NOTE : 

(1) 일반적으로 정사각행렬 과 대각선 행렬 에 대하여 는 의 각 행에 의 대응하는 주대각선성분을 곱하는 결과와 같고, 는 의 열에 에 대응하는 주대각선성분을 곱한 결과와 같다. 예를 들어

     이고 일 때,

    이고, 이다.

 (2) 대각선행렬의 거듭제곱은 주대각선성분을 거듭제곱한 대각선행렬과 같다. 위의 예를 이용하면

        이고  이다. 

대각선 행렬에 대한 아래 곱셈 연산을 확인하고 D^(-n) 과 D^(n) 이 무엇인지 추측해 보아라.




예제 1-5 : 주어진 행렬들에 대한 전치행렬(transpose)를 구하여라 

,  

 

[풀이]

 ,        


<Note> 예를 들어 다음 행렬 중에서 와 는 대칭행렬이고, 는 반대칭행렬이다.

그림입니다. 원본 그림의 이름: mem00000fcc0002.tmp 원본 그림의 크기: 가로 357pixel, 세로 357pixel         

  

http://matrix.skku.ac.kr/RPG_English/3-SO-Symmetric-M.html 

 http://sage.skku.edu 또는 http://mathlab.knou.ac.kr:8080




이 절에서는 선형연립방정식과 가우스 소거법에 대하여 살펴본다. 선형연립방정식은 날씨의 분석, 공학, 경제학, 교통흐름분석과 같은 다양한 주위 상황을 수학적으로 표현하며, 대응하는 선형연립방정식의 해는 원래 문제에 대하여 중요한 의사결정을 하는 것을 돕는 결정적인 도구로 이용된다. 

 

예제 1-7  :  

다음 행렬 의 RREF를 구하라.

 

        그림입니다. 원본 그림의 이름: mem00000c24606e.tmp 원본 그림의 크기: 가로 357pixel, 세로 357pixel

[풀이]

행렬의 크기가 3차 이상인 경우 손으로 해결하기가 까다롭다. 그래서 도구를 이용한다.

http://matrix.skku.ac.kr/2014-Album/MC.html  또는

http://matrix.skku.ac.kr/MatrixRREF2/Test.html 에서 실습하고,

여기에서는 Sage를 이용하여 풀자.  

문제은행: http://matrix.skku.ac.kr/RPG_English/2-MA-RREF.html  

Sage 문제풀이: http://sage.skku.edu 또는 http://mathlab.knou.ac.kr:8080




예제 1-8  :  다음 선형연립방정식을 Gauss 소거법으로 풀어라.







답:  $$x=1, y=2, z=3$$

<Note>  일반적으로, 선형연립방정식에 대하여 다음 중 하나가 성립한다.

    (1) 유일한 해를 갖는다.

    (2) 해를 갖지 않는다.

    (3) 무수히 많은 해를 갖는다.

예를 들어, 미지수가 2개인 선형연립방정식의 경우는 다음과 같다.

 

                                     

  그림입니다. 원본 그림의 이름: CLP00000d7c0015.bmp 원본 그림의 크기: 가로 468pixel, 세로 367pixel   그림입니다. 원본 그림의 이름: CLP00000d7c0016.bmp 원본 그림의 크기: 가로 477pixel, 세로 388pixel  그림입니다. 원본 그림의 이름: CLP00000d7c0017.bmp 원본 그림의 크기: 가로 472pixel, 세로 399pixel

이 절에서는 선형연립방정식의 해의 존재여부와 해의 형태를 결정하는데 필요한 개념인 일차독립과 일차종속에 대하여 소개한다. 벡터들의 일차결합의 집합은 부분공간을 이루는 데, 이에 가장 필요한 벡터들의 집합인 기저와 이들의 개수인 차원에 대하여 살펴보고 행렬과 관계된 부분공간(영공간, 행공간, 열공간) 사이에 성립하는 행렬의 차원정리(rank-nullity)에 대하여 학습한다.

 

예제 1-10  :  주어진 벡터들의 집합이 일차종속 집합임을 보여라.




예제 1-11  :  주어진 동차연립방정식에 대한 해공간의 기저와 차원을 구하여라.




예제 1-12  :  주어진 행렬 A 의 rank 와 nullity 를 구하여라.










예제 1-13  :  주어진 행렬들의 행렬식을 구하여라.




예제 1-14  :  주어진 행렬 A의 (2, 3) 성분 $$a_{23}$$ 에 대한 소행렬식과 여인자를 구하여라.




예제 1-15  :  주어진 행렬 A의 행렬식을 여인자 전개를 이용하여 구하여라.




<Note>  일반적으로, 주어진 행렬과 그 행렬의 전치행렬(transpose)의 행렬식(determinant) 는 같다는 것을 확인해 보세요.










정리 1-7  :  두 행렬 가 차의 정사각행렬일 때, 이 성립한다.




Note  : 그러나  일반적으로 det(A+B) 는  detA + detB 와 같지 않다 




1.5 역행렬과 Cramer의 법칙 

[정리 1-9] 

가역행렬과 행렬식







예제 1-17  :  주어진 행렬 A에 대한 수반행렬 adj(A) 을 구하여라.










정리 1-10  :  수반행렬을 이용한 역행렬 표현, A^{-1} = 1/det(A)  * adj(A) 이다




Note  : Cramer(크래머)의 법칙과 선형연립방정식의 해 

예제 1-19  :  크래머의 법칙을 이용하여 주어진 연립방정식을 풀어라 







이 절에서는 고유벡터와 고유값에 대하여 알아본다.

[정의 1-18]  고유값과 고유벡터

를 차의 정사각행렬이라 하자. 아닌 벡터 가 적당한 스칼라 에 대하여 다음을 만족하면 를 의 고유값(eigenvalue)이라 하고, 를 에 대응하는 의 고유벡터(eigenvector)라고 한다.      

          http://matrix.skku.ac.kr/2012-LAwithSage/interact/1.html 

예제 1-21 

행렬 의 고유값과 고유벡터를 모두 구하여라.

 

[풀이] 만일 벡터 에 대하여 를 만족한다고 하자. 그러면

            (1.5)

그런데 앞서 언급한대로 이 동차연립방정식은 자명한 해()를 제외한 무수히 많은 해를 가져야 하므로

   에서 이다.

① 에 대응하는 고유벡터를 구해보자.

   (1.5)로부터 

   

② 에 대응하는 고유벡터를 구해보자.

   (1.5)로부터 

                                         

 

예제 1-22 

행렬 의 고유값과 고유벡터를 구하여라.

 

  

 http://sage.skku.edu 또는 http://mathlab.knou.ac.kr:8080

 

① 의 특성다항식은




② 따라서 고유값은 다음과 같다.




③ 명령어를 이용하여 고유값을 바로 계산할 수도 있다.




④ 일 때 고유벡터를 계산하기 위해 를 풀면




따라서         

⑤ 일 때 고유벡터를 계산하기 위해 를 풀면

 

(-2*identity_matrix(3)-A).echelon_form()   # 동차이므로 계수행렬만 고려한다.

                                                                         

  [ 1 -1  0]

  [ 0  0  1]

  [ 0  0  0]

따라서       

 

⑥ 명령어를 이용하여 고유벡터를 바로 계산할 수도 있다.




이 절에서는 먼저 유사한 성질을 공유하는 두 행렬의 닮음 관계를 정의하고, 이를 이용하여 행렬이 간단한 형태인 대각선 행렬로 표현되는 경우인 대각화에 대하여 알아본다. 그리고 각 항이 이차인 다항식으로서 수학, 물리학, 경제학, 통계학, 이미지 처리기법 등 다양한 분야에서 사용되는 이차형식에 대하여 살펴본다.

예제 1-25 

가역행렬 와 행렬 에 대하여

                  

이므로 는 대각화가능하다.                                                    

● http://matrix.skku.ac.kr/RPG_English/8-TF-diagonalizable.html 

 http://sage.skku.edu 또는 http://mathlab.knou.ac.kr:8080/




예제 1-26 

행렬 는 대각화가능함을 보이고, 이때 를 대각화하는 행렬 를 구하여라.

 http://sage.skku.edu 또는 http://mathlab.knou.ac.kr:8080/




의 서로 다른 고유값은 (중근)이다. 이제 각각의 고유값에 대응하는 의 일차독립인 고유벡터를 구해보자.

인 경우  (즉, )를 풀면




이므로  를 얻는다. 대표적인 고유벡터는 .

인 경우  (즉, )를 풀면




이므로    에서 대표적인 고유벡터는

        .




위의 계산과 같이 의 행렬식이 이 아니므로 는 가역행렬 즉, 세 벡터 는 일차독립이므로 [정리 1-14]에 의하여 는 대각화가능하다.     




예제 1-27 

대칭행렬 의 특성방정식은

이므로 고유값은 이고 모두 실수이다.                  

 

예제 1-28 

대칭행렬 를 직교대각화하는 행렬 를 구하여라.

 

[풀이] 의 특성다항식은 이므로 의 고유값은

 이고, 대칭행렬의 서로 다른 고유값에 대응하는 고유벡터는 모두 직교집합이고 각각 다음과 같다.

 직교집합인  를 정규화하기 위하여 각각  ()로 나누어주면

                     

예제 1-29 

이차형식의 대각화를 이용하여 다음 방정식이 어떤 이차곡선을 나타내는지를 결정하여라.

      

 

[풀이] 이차방정식 

   

로 나타낼 수 있고, 의 특성방정식은 이므로 고유값은 이다. 따라서 [정리 1-17]에 의하여

    

이다. 따라서 새로운 좌표계에서 이차곡선의 방정식은

    

이다. 그런데 고유값 에 대응하는 정규직교인 고유벡터들은

     

이므로 직교행렬 

   그림입니다. 원본 그림의 이름: CLP000016f80005.bmp 원본 그림의 크기: 가로 385pixel, 세로 379pixel

이다. 따라서 -축은 -축을 시계 반대 방향으로 만큼 (즉, 시계 방향으로 45°만큼) 회전한 축이고, 식 (9)는 -축에서의 타원이다.                           

지금까지는 실수성분을 갖는 행렬(실수 행렬)에 대하여만 연산과 성질을 학습하였다. 앞으로 행렬의 성분을 복소수 범위로 확장한다. 실수행렬에서 대칭행렬과 직교행렬의 정의는 복소행렬에서 각각Hermitian 행렬과 유니타리(unitary) 행렬로 일반화되는데, 이 절에서는 Hermitian 행렬과 유니타리 행렬을 정의하고, 복소행렬의 대각화 문제를 학습한다.

<Note>

(1) 의 개의 일차독립인 단위벡터를

                    

  이라 하면 의 임의의 벡터 로 나타낼 수 있으므로 {}은 의 기저이다. 이 기저를 에 대한 표준기저(standard basis)라고 한다.

  (2) 복소수 에 대하여 를 의 켤레복소수(conjugate)라 하고 을 복소수 의 크기라 한다.

    그리고 복소수를 로 표현하면 이고 이다. 에 대하여 이다.

http://matrix.skku.ac.kr/RPG_English/9-VT-conjugate.html

예제 1-30

벡터 의 유클리드 내적과 유클리드 거리를 구하여라.

 

[풀이] 

           

   

                 

  http://sage.skku.edu 또는 http://mathlab.knou.ac.kr:8080/




예제 1-31

다음 행렬 는 유니타리 행렬임을 보여라.

        

 

[풀이] 이므로

               

이다. 따라서 는 유니타리 행렬이다. 그리고 실제로

                   

라 하면 이다. 예를 들면

                                     


예제 1-32 

행렬 를 대각화하는 유니타리 행렬 를 구하여라.

 

[풀이] 

의 고유값은 이고 이에 대응하는 고유벡터는 다음과 같다.

   ,  

이때,  

이라 하고, 이라 하면,

는 유니타리 행렬이고

                          

 

예제 1-33 

행렬 와 가 각각 다음과 같은 경우 가 정규행렬이고 의 각 열은 의 정규직교인 고유벡터임을 보여라.

  

 

[풀이] 이므로 이다. 따라서 는 정규행렬이다.

라 하면

               

이므로 는 의 고유벡터이다. 또한, 이고  이므로 는 정규직교인 고유벡터이다.    

예제 1-34 

예제 1-33의 행렬 를 대각화하여라.

 

[풀이] 행렬 는 Hermitian 행렬이고 예제 1-33에서 고유값이 이다.

에 대응하는 일차 독립인 고유벡터는  이므로 정규화하면  
를 얻는다. 같은 방법으로 에 대응하는 고유벡터는 
이므로 정규화하면 를 얻는다.

그러므로  로 택하면 이다.            

 

<Note>

 

모든 행렬이 대각화가능한 것은 아니지만 Schur 정리를 이용하면 대각화가능하지 않은 행렬 도 대각행렬과 유사한 행렬 와 닮음(similar)이 되게 할 수 있다. 이러한 행렬 를 의 Jordan 표준형이라 한다. Jordan 표준형을 이용하면 모든 행렬을 대각행렬과 유사한 행렬 로 바꾸어 행렬 에 관한 계산 및 이론을 전개할 수 있다.

 

 [Schur 정리] http://youtu.be/lL0VdTStJDM

 [Jordan 표준형, JCF] http://matrix.skku.ac.kr/2012-mobile/E-CLA/10-1.html

이 절에서는 행렬과 선형대수의 지식이 다양한 전기회로에서 어떻게 응용되는지 알아보자.

1장 연습문제

 

Section 1.1 연습문제

Section 1.2 연습문제

Section 1.3 연습문제

Section 1.4 연습문제

Section 1.5 연습문제

Section 1.6 연습문제

Section 1.7 연습문제

Section 1.8 연습문제

Section 1.9 연습문제

[부록] 1.10 행렬계산기 (Sage Matrix Calculator)

이 절에서는 Sage를 이용하여 개발한 행렬계산기를 소개한다. 이를 활용하면 선형대수학의 대부분의 개념을 언제, 어디서나 사용가능한 무료 도구와 함께 직관적으로 이해하고, 시각화 및 대용량 계산을 수시로 편리하게 수행하며 학습할 수 있다. 더구나 다루는 행렬의 크기를 자연스럽게 변형 및 확대할 수 있다.  http://matrix.skku.ac.kr/2014-Album/MC.html

Sage Matrix Calculator (행렬계산기)

                                   [ 사용법 http://nosyu.pe.kr/1904 ]

 Sage 행렬계산기는 Sage Cell 서버를 이용하여 만들어졌다. 위의 그림과 같이 행렬의 덧셈, 뺄셈, 곱셈, 실수배 등의 기본적인 연산 외에 선형대수학의 중요한 개념인 행렬식, rank, trace, nullity, 고유값, 특성방정식 및 역행렬, 수반행렬, 전치행렬, 전치켤레행렬 등을 구할 수 있도록 제작되었다. 또한 현존하는 대부분의 웹기반 공개형 행렬계산기가 포함하고 있지 않은, 그러나 선형대수학 교육에 꼭 필요한 연산인 LU, SVD, QR-분해 등도 계산할 수 있다. 열의 크기를 1로 선택하면 행렬을 벡터로 인식하여 벡터에 관한 연산을 수행할 수 있는데 벡터의 내적, 외적, 크기(norm)를 계산할 수 있다. 그리고 행렬을 구성하는 열벡터들을 이용하여 Gram-Schmidt 정규직교화 과정을 수행하여 행렬의 기본 공간의 기저를 계산할 수도 있다. 기존에 많은 행렬계산기가 실수범위 혹은 유리수범위에서 계산이 가능하였다면 본 행렬계산기는 계산 범위를 복소수까지 확장하여 사용할 수 있어, 선형대수학의 거의 모든 문제를 해결할 수 있다. 

 http://matrix.skku.ac.kr/2014-Album/MC.html