행렬 곱셈

Matrix multiplication
행렬 곱셈의 경우 첫 번째 행렬의 열 수는 두 번째 행렬의 행 수와 같아야 합니다.결과 행렬에는 첫 번째 행렬의 행 수와 두 번째 행렬의 열 수가 있습니다.

수학, 특히 선형 대수학에서 행렬 곱셈은 두 행렬로부터 행렬을 생성하는 이항 연산이다.행렬 곱셈의 경우 첫 번째 행렬의 열 수는 두 번째 행렬의 행 수와 같아야 합니다.행렬 곱으로 알려진 결과 행렬에는 첫 번째 행렬의 행 수와 두 번째 행렬의 열 수가 있습니다.행렬 A와 행렬 B의 곱은 [1]AB로 표시됩니다.

행렬 곱셈은 행렬로 표현되는 선형 지도의 구성을 나타내기 위해 [2]1812년 프랑스의 수학자 자크 필립 마리 비네에 의해 처음 설명되었습니다.따라서 행렬 곱셈은 선형 대수의 기본 도구이며, 수학의 많은 분야뿐만 아니라 응용 수학, 통계학, 물리학, 경제학, [3][4]공학에서도 수많은 응용 분야를 가지고 있다.계산 행렬 곱은 선형 대수의 모든 계산 애플리케이션에서 중심 연산입니다.

표기법

이 문서에서는 다음과 같은 표기 규칙을 사용합니다.행렬은 굵은 글씨로 나타냅니다.A; 소문자 굵은 글씨(: a), 벡터 및 행렬의 엔트리는 이탤릭체(예: A a)입니다.색인 표기법은 종종 정의를 표현하는 가장 명확한 방법이며 문헌에서 표준으로 사용됩니다.행렬 A의 i행 j열의 항목은 (A),ij Aij 또는ij a로 표시됩니다.반대로 행렬 집합에서 행렬(행렬 항목이 아닌 행렬)을 선택하기 위해 단일 첨자(1: A2, A)가 사용됩니다.

정의.

Am × n 행렬이고 B가 n × p 행렬이라면,

행렬 C = AB(곱셈 부호 또는 점이 없는 행렬)는 m × p 행렬로[5][6][7][8] 정의된다.

그렇게 해서

i = 1, ..., m j = 1, ..., p의 경우.

즉, A의 ith행과 B의 j번째 열의 entry를 기간별로 곱하여 n개의 entries를 합계하여 제품의 구한다.즉, j{ A의 ih행과 B의 j열의 도트 곱이다.

따라서 AB는 다음과 같이 쓸 수도 있다.

따라서 곱 AB는 A의 수가 [1]B의 수(이 경우 n)와 동일한 경우에만 정의됩니다.

대부분의 시나리오에서 엔트리는 숫자이지만, 그것들은 덧셈과 곱셈이 정의되어 있고, 연관성이 있고, 덧셈이 가환적이며, 곱셈이 덧셈에 대해 분포되어 있는 모든 종류의 수학적 객체일 수 있다.특히 입력은 행렬 자체일 수 있습니다(블록 행렬 참조).

일러스트

Matrix multiplication diagram 2.svg

오른쪽 그림은 두 행렬 A와 B의 곱을 도식으로 나타내며, 곱 행렬의 각 교차점이 A의 행과 B의 에 어떻게 대응하는지 보여줍니다.

원으로 표시된 교차로의 값은 다음과 같습니다.

기본 응용 프로그램

역사적으로 행렬 곱셈은 선형 대수의 계산을 용이하게 하고 명확히 하기 위해 도입되었다.행렬 곱셈과 선형 대수 사이의 이러한 강한 관계는 물리학, 화학, 공학컴퓨터 과학뿐만 아니라 모든 수학에서 여전히 기초적입니다.

선형 지도

벡터 공간이 유한한 기저를 갖는다면, 그 벡터는 각각 좌표 벡터라고 불리는 유한한 스칼라 시퀀스에 의해 고유하게 표현됩니다.그들의 요소는 그 기초에 기초한 벡터의 좌표입니다.이 좌표 벡터들은 원래의 벡터 공간과 동형인 또 다른 벡터 공간을 형성한다.좌표 벡터는 일반적으로 열이 하나만 있는 행렬인 행렬(열 벡터라고도 함)로 구성됩니다.따라서 열 벡터는 좌표 벡터와 원래 벡터 공간의 벡터를 모두 나타냅니다.

차원 n의 벡터 공간에서 차원 m의 벡터 공간으로의 선형A는 열 벡터를 매핑한다.

열 벡터에

선형 지도 A는 행렬에 의해 정의된다.

x(\ 행렬 곱에 매핑합니다.

B가 차원 m의 벡터 공간에서 차원 p의 벡터 공간으로의 다른 선형 맵인 경우 × m {\m} B로 displaystyle {B 간단한 계산은 맵 B A B A 행렬임을 나타냅니다. .\} 함수 구성을 정의하는 일반적인식 ( A) ()( \ A ) ( B \ circ A ) ( \ { x } )B ( ( \ circ A ) ( \ { x} ) ) b 。여기서 특정 케이스와 같이 함수의 구성을 정의합니다.

기하학적 회전

유클리드 평면에서 데카르트 좌표계를 사용하면 원점 주위의 의한 회전이 선형 지도입니다.좀 더 정확히 말하면

= [ sin sin sin y { { {} \\- \\ \ \ \ \ \ \ \ \ \ \ \ \

여기서 소스 포인트 ,) { , ) } 및 x ){ ( , )}는 열 벡터로 작성됩니다.

α 스타일 β( 스타일 의한 회전 구성은 매트릭스 곱에 해당합니다.

⁡(α+β)-RSB-{\displaystyle{\begin{bmatrix}\cos\beta&\beta \\\sin \beta 및 -\sin, \cos \beta \end{bmatrix}}{\begin{bmatrix}\cos\alpha&-\sin \alpha \\\sin \alpha&\cos \alpha \end{bmatrix}}={\begin{bmatrix}\cos\beta\cos \alpha -\sin\beta\sin \alpha&-\cos\sin \alpha -\sin\beta\cos \alpha \\\sin \beta \cos \beta. \alpha +\cos \beta)\alpha {bmatrix(\+\})\sinalpha +\cos

여기서 적절한 삼각 항등식이 두 번째 등식에 사용됩니다.즉, 구성은 예상대로 +β\alpha +\의 회전에 대응합니다.

경제 분야에서의 자원 할당

A 의 왼쪽 하단 엔트리의 계산은 생산 흐름 그래프에서 기본 b에서 최종 이르는 모든 경로(강조 표시됨)를 고려한 것입니다.

예를 들어 가공공장에서는 4종류의 기본재 [de], 사용하여 displaystyle {1},}, 3를 생산하고 있다.2, 3 ({매트릭스

A=(101211011112){\displaystyle \mathbf{A}=\left({\begin{배열}{ccc}1&, 0&, 1\\2&, 1&, 1\\0&, 1&, 1\\1&, 1&, 2\\\end{배열}}\right)}및 B=;2&{\displaystyle \mathbf{B}=\left({\begin{배열}{ccc}1&(121231422).;1\\2&, 3&, 1\\4&, 2&, 2\\\end{배열}}\right)}

특정 중간재량에 필요한 기본재량과 특정 최종재량에 필요한 중간재량을 각각 제공한다.예를 들어 각 단위가 필요하지 않습니다.A의 첫 번째 열.

행렬 곱셈을 사용하여 계산

( 4 9 6 3 6) { \ { AB } = \ display \ { array } \ 8 & 5 \ 5 &\ { } ;

이 매트릭스는 주어진 최종 재화의 양에 필요한 기본 재화의 양을 직접 제공한다.예를 들어 A 아래 엔트리(\displaystyle 11 + 2 + 4 1 + \ 2 + \ 4 11)로 계산되며, 이는 중 11개(\가 1개)를 생산해야 함을 .ed는 유닛에 들어가는 }) 유닛에대해 의 b 유닛이 합니다.그림 참조).

예를 들어 최종제품 1}) ({2}}) ({displaystyle }) 60개 등으로 생산하기 위해 필요한 기본재량을 다음과 같이 계산할 수 있다.

)( 60 ( 1820 ( \ ( \ { AB ) \ left \ { array \ \ \ \ \ 80 \ \ \ \ \ \ \ \ \} \ )\ { 、

b 의 1820 4 필요합니다마찬가지로, 제품 A \{AB 사용하여 기타 최종재량 데이터에 [9]필요한 기본재량을 계산할 수 있다.

선형 방정식 체계

선형 방정식의 일반적인 형태는 다음과 같다.

위와 같은 표기법을 사용하면, 그러한 시스템은 단일 행렬 방정식과 같다.

도트 제품, 쌍선형 형태 및 내부 제품

열 벡터의 점곱은 행렬 곱입니다.

서 x T{\x {\ 하여 얻은 행 벡터이며, 결과 1×1 행렬은 고유한 항목으로 식별됩니다.

보다 일반적으로 유한 차원 벡터 공간상의 모든 쌍선형 형태는 매트릭스 곱으로 표현될 수 있다.

그리고 모든 내부 산물은 다음과 같이 표현될 수 있다.

서 x { \ \ { ^ { \ \ } transpose )의 켤레 전치(transpose 또는 이에 상당하는 켤레 전치)를 나타냅니다.

일반 속성

행렬 곱셈은 일반적인 곱셈과 몇 가지 속성을 공유합니다.그러나 첫 번째 요인의 열 수가 두 번째 요인의 행 수와 다르면 행렬 곱셈은 정의되지 않으며,[11][12] 요인의 순서를 변경한 후에도 곱이 일정하게 유지되더라도 [10]가환적이지 않습니다.

불환성

{A} \{B})가 되고,B \{B} \{A}})가 되고, {가 정의될 경우 연산은 가환산이다.

A와 B가 각각 × m np ×(\q매트릭스 p { n \ 매트릭스가 정의됩니다따라서 한 제품이 정의되어 있는 경우 다른 제품은 일반적으로 정의되어 있지 않습니다.m { m n=p 두 제품은 정의되어 있지만 크기가 다르기 때문에 동일할 수 없습니다.m { m인 경우에만, 즉, AB가 같은 크기의 정사각형 행렬인 경우, 두 제품 모두 동일한 크기의 제품으로 정의됩니다.이런 경우에도 일반적으로는

예를들면

그렇지만

이 예는 A가 필드 F에 입력된 ×(\n\n 매트릭스일 경우마다 A \ \ \ 보여주기 위해 확장할 수 .= 서 c F c\n ×{ n n ID 매트릭스입니다.필드가 아닌 엔트리가 에 속해야 할 경우 c가 링의 중심에 속한다는 조건을 추가해야 합니다.

교환성이 발생하는 한 가지 특수한 경우는 D와 E가 (같은 크기의) 두 개의 (사각형) 대각 행렬인 경우입니다. 그러면 DE = [10]ED입니다.다시 말하지만 매트릭스가 필드가 아닌 일반 링 위에 있는 경우, 각 엔트리가 서로 전송되어 이를 유지할 필요가 있습니다.

유통성

행렬 곱은 행렬 덧셈과 관련하여 분포적입니다.즉, A, B, C, D가 각각의 크기 m × n, n × p, n × p p × q 행렬이라면, 하나는 (좌측 분포)를 가진다.

및 (오른쪽 분배)

[10]

이는 계수에 대한 분포에 따른 결과입니다.

스칼라 포함 제품

A가 행렬이고 c가 스칼라일 경우 행렬\displaystyle c A의 모든 엔트리에 c를 곱하여 구한다.스칼라가 교환 특성을 갖는 A c c =\ . }

B{AB 정의되어 있는 경우(즉, A의 수는 B의 행 수와 동일),

( ) ( A ) ( \ c ( \ } ) = ( \ } ) \ } 및 ( ) .\ ( \ } \ } ) =c )

스칼라가 교환 특성을 갖는 경우 네 개의 행렬이 모두 동일합니다.일반적으로 행렬의 엔트리를 포함하는 고리중심에 c가 속할 경우 이 경우 모든 행렬 X에 대해 cX = Xc이기 때문에 4개 모두 동일합니다.

이러한 특성은 스칼라 곱의 이중선성으로 인해 발생합니다.

전치

스칼라가 교환 특성을 갖는 경우 행렬 곱의 전치는 인자의 전위 곱의 역순이다.그것은

여기서 는 전치, 즉 행과 열의 교환을 나타냅니다.

행렬 곱의 정의를 확장하면 AB의 엔트리의 순서가 바뀌기 때문에 이 아이덴티티는 비변환 엔트리에 대해서는 유지되지 않습니다.

복소 켤레

A와 B에 복잡한 엔트리가 있는 경우

여기서 는 행렬의 엔트리급 복소 켤레를 나타냅니다.

이는 합계의 켤레가 총합계의 켤레의 합이고 곱의 켤레가 인자의 켤레의 곱이라는 사실을 행렬 곱의 정의에 적용한 결과이다.

전치는 엔트리의 인덱스에 작용하지만 활용은 엔트리 자체에 독립적으로 작용합니다.그 결과 A와 B가 복잡한 엔트리를 가지고 있는 경우, 그 엔트리는

여기서 은 켤레 전치(전치 또는 켤레 전치)를 나타냅니다.

연관성

세 개의 행렬 A, B, C가 주어졌을 때, A의 열 수가 B의 열 수와 같고, B의 열 수가 C의 열 수와 같을 경우에만(특히, 한 개의 제품이 정의되면 다른 것도 정의된다) 곱(AB)C와 A(BC)이 정의된다.이 경우 관련 속성이 있습니다.

관련 연산에 관해서는 괄호를 생략하고 위의 곱을 A 로 쓸 수 있습니다{ABC . }

이 값은 크기가 일치할 경우 임의의 수의 행렬의 곱으로 자연스럽게 확장됩니다.즉, A, A2, ..., An i = 1, ..., n1대해 A의 i 수가 Ai + 1 행 수와 동일하도록 행렬인 경우1, 곱은 다음과 같습니다.

행렬의 순서가 고정된 경우 곱셈 순서에 의존하지 않고 정의됩니다.

이러한 특성은 간단하지만 복잡한 합계 조작에 의해 증명될 수 있다.이 결과는 또한 행렬이 선형 지도를 나타낸다는 사실에서 비롯됩니다.따라서 행렬의 결합 특성은 함수 구성의 결합 속성의 특정 경우일 뿐입니다.

계산의 복잡성은 부모에 따라 다릅니다.

행렬 곱의 순서의 결과는 연산 순서에 따라 달라지지 않지만(행렬의 순서가 변경되지 않는 한), 계산 복잡도는 이 순서에 따라 크게 달라질 수 있습니다.

예를 들어 A, BC가 각각 크기가 10×30, 30×5, 5×60인 행렬이라면 컴퓨팅(AB)C는 10×30×5 + 10×5×60 = 4,500의 곱셈이 필요하고 컴퓨팅 A(BC)는 30×5×60 + 10×30×60 = 27,000의 곱셈이 필요합니다.

알고리즘은 최적의 제품 순서를 선택하도록 설계되어 있습니다. 매트릭스 체인 곱셈을 참조하십시오.행렬의 n이 증가하면 최적 순서의 선택은 복잡도 O logn O n.

유사성에 대한 적용

임의 P 유사도 변환을 정의합니다(

유사성 변환은 제품을 제품에 매핑합니다. 즉,

사실, 한 사람은

정사각형 행렬

Mn () \ displaystyle \ { } _ { n ( ) the r r r inR a in inR in in in in in in in in in inR에 엔트리가 있는 n×n제곱행렬을 나타냅니다.이 실제로는 대부분 필드입니다.

n () { { }}에서 곱은 각 행렬 쌍에 대해 정의됩니다.이것에 의해, M n _{n, ID 요소로서 ID 매트릭스 I(대각 엔트리가 1이고 그 외의 엔트리가 모두0인 매트릭스)를 가지는 .이 링은 R-대수로도 대응됩니다.

n > 1일 경우 많은 행렬에는 곱셈 역행렬이 없습니다.예를 들어 행(또는 열)의 모든 항목이 0인 행렬에는 역행렬이 없습니다.존재하는 경우 행렬 A의 역행렬 A는 A로 표시되며−1, 따라서 다음과 같이 검증됩니다.

역행렬은 역행렬입니다.그렇지 않으면, 그것은 단수 매트릭스이다.

행렬의 곱은 각 요인이 가역인 경우에만 가역됩니다.이 경우, 누군가는

R이 가환적, 특히 R이 필드일 때, 곱의 결정식은 결정 요인의 곱이다.결정요인이 스칼라이고 스칼라가 이동하기 때문에 다음과 같이 됩니다.

다른 행렬 불변량은 곱에 대해 잘 동작하지 않습니다.그럼에도 불구하고 R이 가환이면 AB와 BA는 추적, 특성 다항식고유값이 동일하고 승수가 동일합니다.그러나 AB ba BA이면 고유 벡터는 일반적으로 다르다.

행렬의 거듭제곱

일반 숫자와 같은 방법으로 제곱 행렬을 음이 아닌 정수 거듭제곱으로 올릴 수 있다.그것은,

행렬의 k제곱을 계산하려면 k – 단일 행렬 곱셈의 1배 시간이 필요합니다(반복 곱셈).이것은 매우 시간이 걸릴 수 있기 때문에 일반적으로 제곱에 의한 지수화를 선호하며, 이는 2 log2 k 행렬 곱셈을 필요로 하므로 훨씬 더 효율적이다.

대각행렬의 경우 쉽게 지수를 구할 수 있습니다.대각행렬의 곱은 단순히 대응하는 대각요소를 함께 곱하는 것이기 때문에 대각행렬의 k제곱은 엔트리를 k제곱으로 올려 구한다.

추상 대수

행렬 곱의 정의에서는 엔트리가 세미링에 속해야 하며 세미링 요소의 곱셈이 가환적일 필요는 없습니다.많은 응용 프로그램에서 매트릭스 요소는 필드에 속하지만, 그래프 최단 경로 [13]문제에 대해서는 열대 세미닝이 일반적으로 선택됩니다.필드 위의 행렬의 경우에도 행렬 덧셈에 대해 연관성이 있고 분포적이지만 곱은 일반적으로 가환적이지 않습니다.항등 행렬(항목이 주 대각선 바깥쪽에 0이고 주 대각선에 1인 정사각형 행렬)은 행렬 곱의 항등 요소입니다.따라서 링 위의 n × n 행렬이 고리를 형성하며, 이는 n = 1과 접지 링이 가환인 경우를 제외하고 비가환적이다.

정사각형 행렬에는 역행렬이라고 하는 곱셈 역행렬이 있을 수 있습니다.엔트리가 교환환 R에 속하는 일반적인 경우 행렬은 그 행렬식R에 곱셈 역수를 갖는 경우에만 역수를 가진다.제곱행렬 곱의 행렬식은 인자의 행렬식 곱입니다.역행렬을 갖는 n × n 행렬은 행렬 곱셈에서 그룹을 형성하며, 그 부분군행렬 그룹이라고 합니다.많은 고전적 군(모든 유한 군 포함)은 행렬 군과 동형이다. 이것이 군 표현 이론의 출발점이다.

계산의 복잡성

행렬 On of)의 계산 복잡도에 대한 시간 경과에 따른 지수 over 추정치의 개선(n { O

정의에서 도출된 행렬 곱셈 알고리즘은 최악의 경우 n n(- ) n2(\ ( n})의 스칼라의 추가가 필요합니다. 스칼라 연산에 일정한 시간이 걸리는 계산 모델에서 계산 복잡도는 O 3 O이다.

의외로 이 복잡도는 1969년 현재 Strassen 알고리즘이라고 알고리즘을O 7) O 2.8074 ) . \ 제공한 Volker Strassen에 의해 나타나듯이 최적이 아니다.} Strassen의[14] 알고리즘을 병렬화하여 성능을 [citation needed]더욱 향상시킬 수 있습니다2020년 12월 현재 최고의 행렬 곱셈 알고리즘은 Josh Alman과 Virginia Vassilevska Williams에 의해 작성되었으며 복잡도 O(n2.3728596)[15]를 가지고 있다.행렬 곱셈이 n시간 2 + o(1) 수행될 수 있을지는 알려지지 않았다.행렬을 다른 행렬과 곱하기 위해서는 행렬의 }) 읽어야 하므로 이것이 최적입니다.

행렬 곱셈은 많은 알고리즘의 기초를 형성하고 행렬에 대한 많은 연산들이 행렬 곱셈과 같은 복잡성을 가지고 있기 때문에 행렬 곱셈의 계산 복잡성은 수치 선형 대수와 이론 컴퓨터 과학 전반에 걸쳐 나타난다.

일반화

기타 유형의 매트릭스 곱은 다음과 같습니다.

「 」를 참조해 주세요.

  • 행렬 곱셈과 미적분 연산과의 상호작용을 위한 행렬 미적분

메모들

  1. ^ a b Nykamp, Duane. "Multiplying matrices and vectors". Math Insight. Retrieved September 6, 2020.
  2. ^ O'Connor, John J.; Robertson, Edmund F., "Jacques Philippe Marie Binet", MacTutor History of Mathematics archive, University of St Andrews
  3. ^ Lerner, R. G.; Trigg, G. L. (1991). Encyclopaedia of Physics (2nd ed.). VHC publishers. ISBN 978-3-527-26954-9.
  4. ^ Parker, C. B. (1994). McGraw Hill Encyclopaedia of Physics (2nd ed.). ISBN 978-0-07-051400-3.
  5. ^ Lipschutz, S.; Lipson, M. (2009). Linear Algebra. Schaum's Outlines (4th ed.). McGraw Hill (USA). pp. 30–31. ISBN 978-0-07-154352-1.
  6. ^ Riley, K. F.; Hobson, M. P.; Bence, S. J. (2010). Mathematical methods for physics and engineering. Cambridge University Press. ISBN 978-0-521-86153-3.
  7. ^ Adams, R. A. (1995). Calculus, A Complete Course (3rd ed.). Addison Wesley. p. 627. ISBN 0-201-82823-5.
  8. ^ Horn, Johnson (2013). Matrix Analysis (2nd ed.). Cambridge University Press. p. 6. ISBN 978-0-521-54823-6.
  9. ^ Peter Stingl (1996). Mathematik für Fachhochschulen – Technik und Informatik (in German) (5th ed.). Munich: Carl Hanser Verlag. ISBN 3-446-18668-9. 여기: Exm.5.4.10, 페이지 205-206
  10. ^ a b c Weisstein, Eric W. "Matrix Multiplication". mathworld.wolfram.com. Retrieved 2020-09-06.
  11. ^ Lipcshutz, S.; Lipson, M. (2009). "2". Linear Algebra. Schaum's Outlines (4th ed.). McGraw Hill (USA). ISBN 978-0-07-154352-1.
  12. ^ Horn, Johnson (2013). "0". Matrix Analysis (2nd ed.). Cambridge University Press. ISBN 978-0-521-54823-6.
  13. ^ Motwani, Rajeev; Raghavan, Prabhakar (1995). Randomized Algorithms. Cambridge University Press. p. 280. ISBN 9780521474658.
  14. ^ Volker Strassen (Aug 1969). "Gaussian elimination is not optimal". Numerische Mathematik. 13 (4): 354–356. doi:10.1007/BF02165411. S2CID 121656251.
  15. ^ Alman, Josh; Williams, Virginia Vassilevska (2020), "A Refined Laser Method and Faster Matrix Multiplication", 32nd Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2021), arXiv:2010.05846

레퍼런스