-
행렬의 기초 - 행렬과 행렬의 곱셈수리물리 2023. 2. 12. 22:19반응형
이번 글에서는 벡터(vector)들의 연산을 효율적으로 표현하기 위해서 행렬(matrix)를 정의하고 그 성질을 살펴볼 예정이다.
먼저 행렬의 정의는 숫자나 함수(function), 연산자(operator)들의 2차원 배열(array)을 의미한다. 사각 격자에 원하는 대상을 집어넣으면 된다.
행렬을 맨처음 만들게 된 계기는 사실 연립 방정식(simultaneous equation)을 풀기위해서 였다. 다음과 같은 두 개의 연립 방정식을 생각해보자.
ax+by=m cx+dy=n 평범하게 연립 방정식을 푸는 방법은 두 식 중 원하는 식을 한 변수에 대한 식으로 고친 다음 나머지 식에 대입하는 방식을 이용한다. 하지만 변수의 개수가 많아지면 이 방법은 상당히 풀이가 복잡해진다.
하지만 이 식들을 다음과 같이 표현해보자.
(abcd)(xy)=(mn) 식 (3)과 같이 연립 방정식을 표현하는 방식이 행렬과 벡터를 이용한 표현 방법인데 이 방법을 이용하면 연립 방정식에 대한 관점을 바꿀 수 있다.
식 (3) 형태는
와x 를 성분으로 가지는 벡터가 어떤 행렬에 의해y 과m 을 성분으로 가지는 벡터로 변환(transform)된 것이다. 이제 우리는 변환 행렬(transformation matirx)의 성질을 이용해서 원래 벡터를 찾아낼 수 있다.n 잠시 우리가 다루려는 행렬의 성분이 전부 실수(real number)인 경우를 생각해보자. 식 (3)에서와 같이 사각형 격자를 만들 수 있으며 크기는 얼마든지 더 크게 만들 수 있다.
따라서 세로로
개 성분을 가로로m 개 성분을 가지는 행렬을 생각해보자. 이 행렬의 성분의 개수는 전부n 개이며 우리는m×n 행렬이라고 부른다.m×n (A11A12A13⋯A1nA21A22A23⋯A2n⋮⋮⋮⋱⋮Am1Am2Am3⋯Amn) 여기서 행렬의 특정 성분만 보고 싶을 수 있다. 몇 번째 가로줄과 몇 번째 세로줄에 있는지 알면 정확한 성분을 지칭할 수 있고 우리는 여기서 몇 번째 가로줄인가를 얘기할 때 행(row)이라고 하며 몇 번째 세로줄인가는 열(column)이라고 한다.
가령 식 (4)에서
은 2행 3열에 있는 성분을 의미한다. 많은 경우A23 라는 어떤 행렬의A 행α 열 성분은β 로 표현한다.Aαβ 또한 한 줄로만 이루어진 행렬을 생각해 볼 수 있는데 사실 이는 벡터와 전혀 다르지 않음을 알 수 있다. 이러한 종류에 대해선 나중에 텐서(Tensor)로 더 일반화 해서 생각할 수 있다.
근데 한 줄을 행으로 뽑는가 열로 뽑는가에 따라서 벡터의 모양은 좀 다를 수 있다. 그래서 행으로 뽑는 벡터를 행 벡터(row vector), 열로 뽑는 벡터를 열 벡터(column vector)라고 부르기도 한다.
여기서 잠시 식 (3)과 식 (1), (2)의 관계를 통해 행렬이 어떻게 벡터를 변환시키는지 그 연산 법칙을 유추해 볼 수 있다. 먼저
행렬의 경우 어떤 변환을 만드는지 생각해보자.3×3 (A11A12A13A21A22A23A31A32A33)(xyz)=(A11x+A12y+A13zA21x+A22y+A23zA31x+A32y+A33z) 여기서 주의해야 할 점은 변환 행렬의 열의 개수와 변환되는 백터의 행의 개수는 일치해야 한다.
행렬은m×n 차원 벡터만 변환이 가능하다. 다음과 같은 연산은 정의되지 않는다.n (A11A12A13A21A22A23A31A32A33)(xy) 그렇다면
행렬과1×n 열 벡터의 연산도 생각해 볼 수 있으며 이는 사실 내적(inner product)과 동일함을 알 수 있다.n×1 (a1a2a3⋯an)(b1b2b3⋮bn)=a1b1+a2b2+a3b3+⋯+anbn 알버트 아인슈타인 이번엔
행렬이m×n 차원 벡터를 변환시키는 경우로 일반화 시켜보자.n (A11A12A13⋯A1nA21A22A23⋯A2nA31A32A33⋯A3n⋮⋮⋮⋱⋮Am1Am2Am3⋯Amn)(x1x2x3⋮xn)=(A11x1+A12x2+A13x3+⋯+A1nxnA21x1+A22x2+A23x3+⋯+A2nxnA31x1+A32x2+A33x3+⋯+A3nxn⋮Am1x1+Am2x2+Am3x3+⋯+Amnxn) 그런데 매번 식 (8)과 같이 쓰기는 힘들 것이다. 특히 다루고자 하는 차원이 높아지면 높아질 수록 손으로 쓰기조차 버거워진다. 따라서 식 (8)의 우변의 결과 벡터를 다음과 같이 합 기호(summation)을 이용해서 간략화 해보자.
(A11x1+A12x2+A13x3+⋯+A1nxnA21x1+A22x2+A23x3+⋯+A2nxnA31x1+A32x2+A33x3+⋯+A3nxn⋮Am1x1+Am2x2+Am3x3+⋯+Amnxn)=(∑ni=1A1ixi∑ni=1A2ixi∑ni=1A3ixi⋮∑ni=1Amixi) 식 (8)에서 행렬을
, 변환되는 벡터를A , 변환된 행렬을x 라고 표현하면 다음과 같다.y Ax=y 이제
의y 번째 성분을 식 (9)를 이용해서 표현하면 다음과 같다.j yj=n∑i=1Ajixi 아인슈타인(Einstein)이 사용한 표현법에 의해 합 기호를 빼고 간단하게
로 표현하기도 한다. 상대성 이론(relativistic theory)에서 많이 사용되는 표현법이며 한쪽 항에 문자가 2개 있다면 합 기호가 생략된 것으로 간주한다.yj=Ajixi 지금까지 행렬이 벡터를 변환하는 과정으로 봤다. 근데 벡터를 지금 행이나 열이 1개인 행렬로 봤었다. 따라서 이 과정은 행렬과 행렬의 곱셈으로 생각할 수 있다.
따라서 이번엔 이 과정을 일반화시켜서 행렬간의 곱셈을 만들어 볼 수 있다. 벡터의 연산에서와 마찬가지로
행렬은m×n 형태의 행렬하고만 곱할 수있다. 따라서 앞에 있는 행렬의 열과 뒤에 있는 행렬의 행이 일치해야 한다.n×l 행렬과 벡터의 연산을 응용해서 다음과 같이 행렬
와A 의 곱을 만들자.B (A11A12⋯A1nA21A22⋯A2n⋮⋮⋱⋮Am1Am2⋯Amn)(B11B12⋯B1lB21B22⋯B2l⋮⋮⋱⋮Bn1Bn2⋯Bnl)=(A11B11+⋯+A1nBn1A11B12+⋯+A1nBn2⋯A11B1l+⋯+A1nBnlA21B11+⋯+A2nBn1A21B12+⋯+A2nBn2⋯A21B1l+⋯+A2nBnl⋮⋮⋱⋮Am1B11+⋯+AmnBn1Am1B12+⋯+AmnBn2⋯Am1Bl1+⋯+AmnBnl)=(∑nj=1A1jBj1∑nj=1A1jBj2⋯∑nj=1A1jBjl∑nj=1A2jBj1∑nj=1A2jBj2⋯∑nj=1A2jBjl⋮⋮⋱⋮∑nj=1AmjBj1∑nj=1AmjBj2⋯∑nj=1AmjBjl) 식 (12)에서 사용한 행렬
와A 의 곱을B 라 하면C 는C 행렬이 되며 성분은 다음과 같이 일반화해서 표현할 수 있다.m×l Cij=(AB)ij=∑kAikBkj=AikBkj 마지막 식은 아인슈타인 표기법을 따른 것이다.
반응형'수리물리' 카테고리의 다른 글
행렬의 기초 - 단위 행렬과 행렬식 (0) 2023.02.17 행렬의 기초 - 행렬의 연산, 교환자, 항등 행렬 (0) 2023.02.14 함수 급수와 균등 수렴 (0) 2023.02.08 조화 급수와 리만 제타 함수 (1) 2023.02.04 벡터, 정확히 알고 있나요? 벡터의 연산 (0) 2023.01.31