Jump to content

Outer product

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning

선형 대수(linear algebra)에서, 두 좌표 벡터(coordinate vectors)밖의 곱(outer product)은 행렬(matrix)입니다. 만약 두 벡터가 차원 nm을 가지면, 그것들의 밖의 곱은 n × m 행렬입니다. 보다 일반적으로, 두 개의 텐서(tensors, 숫자의 다차원 배열)가 주어지면, 그것들의 밖의 곱은 텐서입니다. 텐서의 밖의 곱은 역시 텐서 곱(tensor product)이라고 참조되고, 텐서 대수(tensor algebra)를 정의하기 위해 사용될 수 있습니다.

밖의 곱은 다음과 대조됩니다:

Definition

각각 크기 의 두 벡터가 주어졌을 때, 으로 표시되는 그것들의 밖의 곱은 의 각 원소에 의 각 원소를 곱함으로써 얻은 행렬 로 정의됩니다:[1]

또는 인덱스 표기법에서:

점 곱(dot product) 로 표시하여, 만약 벡터 가 주어졌을 때, 입니다. 만약 벡터 가 주어졌을 때, 입니다.

만약 가 1보다 큰 같은 차원의 벡터이면, 입니다.

밖의 곱 행렬 곱셈(matrix multiplication) 과 동등하며, 열 벡터(column vector)로 나타내고 열 벡터 (이는 를 행 벡터로 만듬)로 나타낸다는 조건으로 합니다.[2][3] 예를 들어, 만약 이고 이면, 다음과 같습니다:[4]

복소수(complex) 벡터에 대해, 그것은 종종 켤레 전치(conjugate transpose)를 취하는 것이 종종 유용하며, 또는 로 표시됩니다:

Contrast with Euclidean inner product

만약 이면, 행렬 곱을 다른 방법으로 취할 수 있으며, 스칼라 (또는 행렬)를 생성합니다: 이는 유클리드 벡터 공간(Euclidean vector spaces)에 대해 표준 안의 곱(inner product)이며,[3] 점 곱(dot product)으로 더 잘 알려져 있습니다. 점 곱은 밖의 곱의 대각합(trace)입니다.[5] 점 곱과 달리, 밖의 곱은 교환적이지 않습니다.

벡터 와 행렬 의 곱셈은 관계를 사용하여 안의 곱의 관점에서 쓸 수 있습니다.

The outer product of tensors

차원 를 갖는 두 개의 텐서 가 주어졌을 때, 그것들의 밖의 곱 는 차원 과 다음과 같은 엔트리를 갖는 텐서입니다:

예를 들어, 만약 가 차원 을 갖는 차수 3이고 가 차원 을 갖는 차수 2이면, 그것들의 밖의 곱 는 차원 을 갖는 차수 5입니다. 만약 가 성분 A[2, 2, 4] = 11을 가지고 가 성분 B[8, 88] = 13를 가지면, 밖의 곱에 의해 형성된 의 성분은 C[2, 2, 4, 8, 88] = 143입니다.

Connection with the Kronecker product

밖의 곱과 크로네커 곱은 밀접하게 관련되어 있습니다; 실제로 같은 기호가 공통적으로 두 연산을 나타내기 위해 사용됩니다.

만약 이고 이면, 다음을 가집니다:

열 벡터의 경우에서, 크로네커 곱은 밖의 곱의 벡터화(vectorization, 또는 평탄화)의 한 형식으로 볼 수 있습니다. 특히, 두 개의 열 벡터 에 대해, 다음과 같이 쓸 수 있습니다:

벡터의 순서는 방정식의 오른쪽 변에서 반전됨에 주목하십시오.

연산 사이의 유사성을 더욱 강조하는 또 다른 유사한 항등식은 다음과 같습니다:

여기서 벡터의 순서는 뒤집을 필요가 없습니다. 중간 표현은 벡터 곱셈을 사용하며, 여기서 벡터는 열/행 행렬로 고려됩니다.

Connection with the matrix product

크기 의 행렬 와 크기 의 행렬 의 쌍이 주어졌을 때, 크기 보통 크기 의 행렬로 정의된 행렬 곱(matrix product) 을 생각해 보십시오.

이제 -번째 열 벡터라고 놓고 -번째 행 벡터라고 놓습니다. 그런-다음 는 행-x-열 밖의 곱의 합으로 표현될 수 있습니다:

행-x-열 안의 곱(inner product) 엔트리 (또는 점 곱(dot product)): 으로 구성된 행렬로 더 공통적인 것과 이 표현의 이중성에 주목하십시오.

이 관계는 특이 값 분해(Singular Value Decomposition (SVD)) (및 특수한 경우로 스펙트럼 분해(Spectral Decomposition)) 적용과 관련이 있습니다.[6] 특히, 분해는 대응하는 비-영 특이 값 로 스케일링된 각 왼쪽 ()와 오른쪽 () 특이 벡터의 밖의 곱의 합으로 해석될 수 있습니다:

이 결과는 스펙트럼 노름(spectral norm) 가 내림차순을 갖는 랭크-1 행렬의 합으로 표현될 수 있음을 의미합니다. 이것은 일반적으로 마지막 항이 덜 기여하는 이유를 설명하며, 이는 근사로 잘린 SVD(Truncated SVD)를 사용하도록 동기를 부여합니다. 첫 번째 항은 벡터의 밖의 곱에 대한 행렬의 최소 제곱 적합입니다.

Properties

벡터의 밖의 곱은 다음 속성을 만족시킵니다:

텐서의 밖의 곱은 추가 결합성(associativity) 속성을 만족시킵니다:

Rank of an outer product

만약 uv가 모두 비-영이면, 밖의 곱 행렬 uvT는 항상 행렬 랭크(matrix rank) 1을 가집니다. 실제로, 밖의 곱의 열은 모두 첫 번째 열에 비례적입니다. 따라서, 그것들은 모두 해당 일 열에 선형적으로 종속(linearly dependent)되므로, 행렬은 랭크 1입니다.

("행렬 랭크"는 "텐서 차수(tensor order)", 또는 "tensor degree"와 혼동해서는 안되며, 이는 때때로 "랭크(rank)"로 참조됩니다.)

Definition (abstract)

VW를 두 개의 벡터 공간(vector spaces)이라고 놓습니다. 의 밖의 곱은 원소 입니다.

만약 V안의 곱 공간(inner product space)이면, 밖의 곱을 선형 맵 VW으로 정의하는 것이 가능합니다. 이 경우에서, 선형 맵 V이중 공간(dual space)의 원소입니다. 밖의 곱 VW은 그런-다음 다음에 의해 제공됩니다:

이것은 v의 켤레 전치가 공통적으로 복소수 경우에서 취한다는 것을 보여줍니다.

In programming languages

일부 프로그래밍 언어에서, 두 개의-인수 함수 f (또는 이항 연산자)가 주어지면, f와 두 개의 일-차원 배열 AB의 밖의 곱은 C[i, j] = f(A[i], B[j]를 만족하는 이-차원 배열 C입니다. 이것은 구문적으로 다양한 방법으로 표현됩니다: APL에서, 중위 이항 연산자 ∘.f로; J에서 접미사 부사 f/로; R에서 함수 outer(A, B, f) 또는 특별한 %o%로;[7] Mathematica에서, Outer[f, A, B]로. MATLAB에서, kron(A, B) 함수가 이 곱에 대해 사용됩니다. 이들은 종종 다-차원 인수와 2보다 많은 인수로 일반화됩니다.

Python 라이브러리 NumPy에서, 밖의 곱은 np.outer() 함수로 계산될 수 있습니다.[8] 대조적으로, np.kron은 평면 배열을 생성합니다. 다차원 배열의 밖의 곱은 np.multiply.outer를 사용하여 계산될 수 있습니다.

Applications

밖의 곱은 크로네커 곱(Kronecker product)과 밀접한 관련이 있으므로, 크로네커 곱의 일부 응용은 밖의 곱을 사용합니다. 이들 응용은 양자 이론, 신호 처리(signal processing), 및 이미지 압축(image compression)에서 찾을 수 있습니다.[9]

Spinors

(s, t)(w, z)C2 안에 있도록 s, t, w, zC를 가정합니다. 그런-다음 이들 복소수 2-벡터의 밖의 곱은 2 × 2 복소수 행렬, M(2, C)의 원소입니다: 이 행렬의 행렬식(determinant)C교환 속성(commutative property) 때문에 swtzsztw = 0입니다.

삼 차원에서 스피너(spinors in three dimensions) 이론에서, 이들 행렬은 이러한 널 속성(null property)으로 인해 등방적 벡터(isotropic vectors)와 결합됩니다. 엘리 카르탕(Élie Cartan)은 1937년에 이 구성을 설명했지만,[10] 1927년 볼프강 파울리(Wolfgang Pauli)에 의해 도입되어,[11] M(2,C)파울리 대수(Pauli algebra)라고 불리게 되었습니다.

Concepts

외부 곱의 블록 형식은 분류에 유용합니다. 개념 해석(Concept analysis)은 특정 밖의 곱에 의존하는 연구입니다.

벡터가 오직 0과 1의 엔트리를 가질 때, 그것은 논리적 행렬(logical matrix)의 특수한 경우, 논리적 벡터(logical vector)라고 불립니다. 논리적 연산 and는 곱셈을 대신합니다. 두 논리적 벡터 (ui)(vj)의 밖의 곱은 논리적 행렬 에 의해 제공됩니다. 이러한 유형의 행렬은 이항 관계(binary relations) 연구에 사용되고, 직사각형 관계(rectangular relation) 또는 교차-벡터(cross-vector)라고 불립니다.[12]

See also

Products

Duality

References

  1. ^ Lerner, R. G.; Trigg, G. L. (1991). Encyclopaedia of Physics (2nd ed.). VHC. ISBN 0-89573-752-3.
  2. ^ Lipschutz, S.; Lipson, M. (2009). Linear Algebra. Schaum’s Outlines (4th ed.). McGraw-Hill. ISBN 978-0-07-154352-1.
  3. ^ a b Keller, Frank (February 23, 2020). "Algebraic Properties of Matrices; Transpose; Inner and Outer Product" (PDF). inf.ed.ac.uk. Retrieved September 6, 2020.
  4. ^ James M. Ortega (1987) Matrix Theory: A Second Course, page 7, Plenum Press ISBN 0-306-42433-9
  5. ^ Stengel, Robert F. (1994). Optimal Control and Estimation. New York: Dover Publications. p. 26. ISBN 0-486-68200-5.
  6. ^ Trefethen, Lloyd N.; Bau III, David (1997). Numerical linear algebra. Philadelphia: Society for Industrial and Applied Mathematics. ISBN 978-0-89871-361-9.
  7. ^ "outer function | R Documentation". www.rdocumentation.org. Retrieved 2020-09-07.
  8. ^ "numpy.outer — NumPy v1.19 Manual". numpy.org. Retrieved 2020-09-07.
  9. ^ Steeb, Willi-Hans; Hardy, Yorick (2011). "Applications (Chapter 3)". Matrix Calculus and Kronecker Product: A Practical Approach to Linear and Multilinear Algebra (2 ed.). World Scientific. ISBN 981-4335-31-2.
  10. ^ Élie Cartan (1937) Lecons sur la theorie des spineurs, translated 1966: The Theory of Spinors, Hermann, Paris
  11. ^ Pertti Lounesto (1997) Clifford Algebras and Spinors, page 51, Cambridge University Press ISBN 0-521-59916-4
  12. ^ Ki Hang Kim (1982) Boolean Matrix Theory and Applications, page 37, Marcel Dekker ISBN 0-8247-1788-0

Further reading