본문 바로가기
다른 공부들/수학

[Kreyszig 공업수학][선형대수] 8장 (4) 여러가지 종류의 복소행렬들

by 생각사람 2023. 9. 24.
 

Kreyszig 공업수학(상) | Erwin Kreyszig - 교보문고

Kreyszig 공업수학(상) | 『공업수학』 상권. 이 책은 반세기 동안 전 세계적으로 가장 널리, 그리고 가장 많이 채택되어 사용되고 있는 Erwin Kreyszig교수가 저술한 Advanced Engineering Mathematics, 10th Edition

product.kyobobook.co.kr

위의 공업수학 교재에 나오는 내용을 혼자 공부하기 위해 정리한 요약노트입니다. 그리고 영어교과서를 기준으로 보고 있기도 하고, 많은 전공서적들에서 영어표현을 많이 사용하기 때문에, 한글용어를 일부러 찾아서 소개는 해볼 생각이지만 용어소개가 끝나면 주요 용어들은 영어로 나오게 될 예정인 점 양해 부탁드립니다.

 

지난 글에 이어서 실행렬의 일반화 버전인 복소행렬을 살펴볼게요. 성분이 복소수인 경우를 복소행렬이라고 하고 별 다를 건 없어요! 하지만, 언급했던 여러가지 성질들이 여기서도 반복이 되기 때문에 이전 글을 읽지 않으셨다면 읽고 오시는 것이 수월하리라고 생각해요!

 

[Kreyszig 공업수학][선형대수] 8장 (3) 여러가지 종류의 실행렬들

Kreyszig 공업수학(상) | Erwin Kreyszig - 교보문고 Kreyszig 공업수학(상) | 『공업수학』 상권. 이 책은 반세기 동안 전 세계적으로 가장 널리, 그리고 가장 많이 채택되어 사용되고 있는 Erwin Kreyszig교수

sgsrvilla.tistory.com

목차

    다루게 될 복소행렬의 종류

    By Jérôme - {own}, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=19344633

    • 에르미트 행렬(Hermitian matrix)
    • 반에르미트 행렬(skew-Hermitian matrix)
    • 유니타리 행렬(unitary matrix)

    지난시간에 이어서 다룰 복소행렬들의 종류는 위의 3개입니다. 정의를 먼저 볼까요?

    각 행렬들의 정의

    여기서도 transpose를 취했을 때에 원래 행렬과 어떤 관계를 갖느냐가 중요해요. 그리고 추가적으로 켤레(conjugate)를 취하는 것이 중요해요! 켤레복소수는 위에 작대기를 그었던 것 기억하시나요? 예를 들면, \(\overline{4+3i} = 4-3i\)에요. 행렬에서 작대기를 그어주면 모든 성분에 켤레를 취한다는 표시가 되어요. 그리고 벡터에서도 작대기를 그어주면 모든 성분에 켤레를 취한다는 표시가 되어요.

     

    이제 정의해볼까요?

    • Hermitian(~Symmetric) matrix: \(\overline{{A}^{t}} = A\)를 만족하는 행렬이에요. 
    • Skew-Hermitian(~Skew-symmetric) matrix: \(\overline{{A}^{t}} = -A\)를 만족하는 행렬이에요. 
    • Unitary(~Orthogonal) matrix: \(\overline{{A}^{t}} = A^{-1}\)을 만족하는 행렬이에요. 즉, conjugate transpose를 취하면 역행렬을 얻을 수 있어요. 

    안에 '~'로 표기한 것은 유사성 때문에 대응되는 실행렬을 연결지은 것이에요~ 벌써 켤레복소수 나오니까 정신이 어지럽죠?

    다시 또 내적의 정의...★

    뭐하는 짓이냐 싶을 수 있는데, 복소수 성분을 가진 벡터, 복소벡터(complex vector)의 내적은 실벡터(real vector)와 조금 다르게 정의되니까 짚고 넘어갈 필요가 있어요. 이전 글에서 orthogonal matrix를 다룰 때에 내적이 나왔었고, 이를 이용해서 여러가지 성질을 유도했었죠? 여기서도 아주 중요하기 때문에 그냥 넘어갈 수가 없어요. 특히 unitary matrix를 다룰 때에 중요해지겠죠?

     

    그런데 조금 난감한 부분이 있더라구요. 내적의 정의에 complex conjugate가 이용되는 것에는 차이가 없는데 두 벡터의 내적에 대해 어느 쪽에 켤레를 취해주느냐가 차이가 있었어요! 좀 이상하더라구요.

    여기서부터는 벡터를 볼드체로 표기할게요. 위에 화살표에 그 위에 작대기까지 그리면 너무 정신이 없어지더라구요. Complex vector 

    $$\begin{cases} \mathbf{a} = (a_{1},\;\cdots ,\;a_{n}) \\ \mathbf{b} = (b_{1},\;\cdots ,\;b_{n}) \\ a_{i},\;b_{j} \in \mathbb{C}\end{cases}$$

    에 대해, 시리즈에서 참고하고 있는 Erwin Kreyszig의 공업수학 책에는 복소벡터의 정의가 다음과 같이 되어 있어요. 

    $$\begin{align}\mathbf{a} \cdot \mathbf{b} &= \overline{\mathbf{a}}^{t} \mathbf{b} \\ &= \sum_{i} \overline{a_{i}}b_{i} \end{align} \tag{1}$$

    그런데 Friedberg의 Linear algebra나(서울대학교 등 여러 학교에서 이인석 교수님 교재와 함께 많이 사용됩니다) 위키피디아에는 다음과 같이 정의되어 있어요.

    $$\begin{align} \mathbf{a} \cdot \mathbf{b} &= \mathbf{a}^{t} \overline{\mathbf{b}} \\ &= \sum_{i} a_{i}\overline{b_{i}} \end{align} \tag{2}$$

    켤레를 이렇게 마구 바꿔도 괜찮을까요? 안 되죠! 예를 들어볼까요?

    $$\begin{cases} \mathbf{a} = \pmatrix{1+i & 2} ^{t} \\ \mathbf{b} = \pmatrix{3i & 4+5i} ^{t} \end{cases}$$ 

    라고 해본다면, (1)에 따르면

    $$\begin{align}\mathbf{a} \cdot \mathbf{b} &= \overline{\mathbf{a}}^{t} \mathbf{b} \\ &= \pmatrix{1-i & 2} \left( \begin{array}{c} 3i \\ 4+5i\end{array}\right) \\ &= 3i+3 + 8 + 10i \\ &= 11 + 13i \end{align}$$

    가 되는데, (2)에 따르면

    $$\begin{align}\mathbf{a} \cdot \mathbf{b} &= \mathbf{a}^{t} \overline{\mathbf{b}} \\ &=\pmatrix{1+i & 2}\left(\begin{array}{c} -3i \\ 4-5i\end{array}\right) \\ &= -3i+3 + 8 - 10i \\ &= 5 - 13i \end{align}$$

    가 되니까 값이 다르거든요. 

     

    그러면 어느 쪽이 정답일까요? 정답은 놀랍게도 둘 다 가능하다입니다.

    사실 표현의 편의 상 이번 시리즈에서는 복소수체에서 정의되는 벡터의 내적도 \(\cdot\)(dot)를 이용하여 정의하고 있는데요. 일반적인 정의로는 꺾은 괄호를 사용한 \(\langle *,*\rangle\)을 사용하게 됩니다. 그리고 이 글에서는 자세히 다루지 않겠지만, 이 정의에 의한 내적은 일정 성질을 만족하기만 하면 되는데요. (1)이든 (2)이든 모두 내적이 가져야 하는 성질을 만족하는 올바른 정의가 됩니다. 즉, 엄밀성이 떨어지는 정의라는 건데요. 의외로 이에 대한 자세한 설명을 나무위키(링크) 페이지에서 찾아볼 수 있습니다. 정리하자면,

    • 순수 수학 등에서 일반적으로 다루는 정의: (2) 
    • 공학, 물리학, 컴퓨터과학 등에서 다루는 정의: (1)

    심지어 나무위키 페이지 내용에 의하면 Erwin Kreyszig 교수님의 저서 중 공업수학에는 (1)로, 함수해석학을 다루는 책에서는 (2)로 나와 있다고도 되어 있었습니다. 추후 순수 수학으로써의 선형대수학을 다루게 된다면, 이에 대해 조금 더 자세히 설명해보도록 하겠습니다. 이 글에서는 여기까지! 그리고 이 시리즈에서는 (1)의 정의를 따른다고 보시면 되겠어요!!

    이제 본격적으로 complex matrix에 대해 다뤄보도록 하겠습니다!!

    여러 복소행렬들의 성질들

    행렬의 entry의 형태

    Hermitian matrix와 Skew-Hermitian matrix의 경우, 성분에 대해 생각해보면,

    $$\begin{cases} \text{(Hermitian)} & \overline{a_{jk}} = a_{kj} \\ \text{(Skew-Hermitian)} & \overline{a_{jk}} = -a_{kj} \end{cases} $$

    그러므로 main diagonal entry에 대해 생각해보면

    $$\begin{cases} \text{(Hermitian)} & \overline{a_{jj}} = a_{jj} \\ \text{(Skew-Hermitian)} & \overline{a_{jj}} = -a_{jj} \end{cases} $$

    가 되는데, 

    $$\overline{a+bi} = a-bi$$

    인 것을 잘 생각해본다면,

    (가) Hermitian matrix의 경우 대각성분이 실수가 된다. 
    (나) Skew-Hermitian matrix의 경우 대각성분이 0이거나 순허수(pure imaginary)가 된다.

    Eigenvalue problem과의 관계

    이건 결론을 먼저 말씀 드릴 거고, 증명과정은 Hermitian과 Skew-Hermitian의 경우 일관성을 위해 참고서적과 차이가 있게 했고, Unitary matrix의 경우는 차이가 없어요!

    (가) Hermitian matrix의 경우, eigenvalue는 실수이다.
    (나) Skew-Hermitian matrix의 경우, eigenvalue는 0이거나 pure imaginary이다.
    (다) Unitary matrix의 경우, eigenvalue의 절대값(크기)이 1이다.

    글머리에서도 그렇게 얘기했었고, 직전 글에서도 얘기했듯, transpose를 취해야 개성이 나타나는 친구들이니 언젠가는 꼭 transpose를 해야한다는 생각을 해야한다고 말씀드렸었죠? 그렇게 되면 증명과정은 결국 거기서 거기입니다. 각 경우에 대해서 편의상 행렬의 표기는 \(A\)로 할 게요!. Eigenvalue problem은 \(A\mathbf{x} = \lambda\mathbf{x}\)으로 나타나는 것도 잊지 마세요!

     

    (가) Hermitian matrix의 경우

    $$A\mathbf{x} = \lambda\mathbf{x} \; \Rightarrow \overline{\mathbf{x}}^{t}\overline{A^t} = \overline{\lambda}\overline{\mathbf{x}}^{t} \tag{3} $$

    이므로, Hermitian matrix의 정의와 \(\overline{\mathbf{x}}^{t}\mathbf{x} = ||x||^{2}\)임을 이용하면, (3)의 결과에 의해

    $$\begin{cases} (\text{좌변이용}) & \overline{\mathbf{x}}^{t}\overline{A^t}\mathbf{x} = \overline{\mathbf{x}}^{t}A\mathbf{x} = \lambda ||x||^{2} \\ (\text{우변이용}) & \overline{\lambda}\overline{\mathbf{x}}^{t}\mathbf{x} = \overline{\lambda} ||x||^{2} \end{cases}$$가 되는데, eigenvector는 영벡터가 아니므로 크기(노름, norm)가 0이 아니어서

    $$\lambda = \overline{\lambda}$$가 성립하므로 증명이 완료됩니다.

     

    (나) Skew-Hermitian의 경우

    동일한 과정을 거치면 $$\lambda = -\overline{\lambda}$$를 얻게 되어 증명이 완료됩니다.

     

    (다) Unitary matrix의 경우 ★

    역시 (가), (나)에서처럼 (3)의 식을 이용합니다. 다만, 행렬의 complex conjugate transpose가 역행렬이 되는 점을 이용해야 하니까 어떻게든 \(A\)를 곱할 생각을 더 해봐야겠죠? 그렇다고 한다면, 

    $$\begin{cases} (\text{좌변이용}) &\overline{\mathbf{x}}^{t}\overline{A^t}A\mathbf{x} =\overline{\mathbf{x}}^{t}\mathbf{x} = ||x||^{2} \\ (\text{우변이용}) &\overline{\lambda}\overline{\mathbf{x}}^{t}A\mathbf{x} = \overline{\lambda}\lambda ||x||^{2} = |\lambda|^{2} ||x||^{2}\end{cases}$$

    Eigenvector는 영벡터가 아니므로 크기(노름, norm)가 0이 아니어서

    $$|\lambda|^{2} = 1$$

    가 됩니다.

    Unitary matrix의 특이한 성질은 Orthogonal 때와 같아!

    Real matrix를 다루면서 orthogonal matrix가 정말 많은 사랑을 받을 것 같이, 다양한 성질들을 가지고 있었죠? 여기서도 마찬가지에요! Unitary matrix로 자연스럽게 확장되는 모습을 볼 수 있어요. 심지어 증명과정도, 그냥 transpose가 아니라 complex conjugate transpose를 취해주는 것을 제외하면 '완전히 똑같아요!'

     

    앞의 글과 비교해보시는 것도 좋겠어요. 글머리에서도 말씀드렸듯 직전 글과 꼭 비교해보는 것이 좋을 것 같습니다 ㅎㅎ

    (내적의 보존; invariance of inner products)
    Unitary matrix로 나타나는 unitary transformation(유니타리 변환)은 벡터들의 내적을 보존한다. 즉, unitary matrix \(A\)와 $$\mathbf{a},\;\mathbf{b},\;\mathbf{x},\;\mathbf{y} \in \mathbb{C}^{n}$$에 대해 $$A\mathbf{x} = \mathbf{a},\;A\mathbf{y} = \mathbf{b}$$라고 한다면, $$\mathbf{x} \cdot \mathbf{y} = \mathbf{a} \cdot \mathbf{b}$$가 성립한다.
    다음은 동치이다.
    (1) 어떤 real matrix가 unitary matrix이다.
    (2) 열벡터와 행벡터가 unitary system을 형성한다.
    Unitary matrix의 행렬식은 1 또는 -1이다.
    Unitary matrix의 곱도 unitary matrix가 된다.

    이번 글에서는 symmetric, skew-symmetric, orthogonal matrix는 실수 성분을 갖는 행렬 한정이어서 일반적이지 못했던 것을 일반화한 Hermitian, skew-Hermitian, unitary matrix를 다뤄봤습니다. 사실 이 내용은 작용소(operator) 내용이 함께 나오면서 꽤 깊은 논의가 되는 부분이었던 것으로 기억하는데, 그걸 한 번에 다뤄서 맨날 까먹었던 것 같아서 정의와 기본성질 위주로만 다뤄봤어요. 

     

    다음 글에서는 대망의 대각화문제(diagonalization problem)을 다루면서 공업수학 교재의 선형대수학 부분 공부를 마무리지어볼까 합니다.

    댓글