최근 수정 시각 : 2023-04-21 02:35:02

텐서곱

선형대수학
Linear Algebra
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
<colbgcolor=#006ab8> 기본 대상 일차함수 · 벡터 · 행렬 · 선형 변환
대수적 구조 가군(모듈) · 벡터 공간 · 내적 공간 · 노름 공간
선형 연산자 <colbgcolor=#006ab8> 기본 개념 연립방정식 · 행렬곱 · 단위행렬 · 역행렬크라메르 공식 · 가역행렬 · 전치행렬 · 행렬식(라플라스 전개) · 주대각합
선형 시스템 기본행연산기본행렬 · 가우스-조르당 소거법 · 행사다리꼴 · 행렬표현 · 라그랑주 보간법
주요 정리 선형대수학의 기본정리 · 차원 정리 · 가역행렬의 기본정리 · 스펙트럼 정리
기타 제곱근행렬 · 멱등행렬 · 멱영행렬 · 에르미트 행렬 · 야코비 행렬 · 방데르몽드 행렬 · 아다마르 행렬 변환 · 노름(수학)
벡터공간의 분해 상사 · 고유치 문제 · 케일리-해밀턴 정리 · 대각화(대각행렬) · 삼각화 · 조르당 분해
벡터의 연산 노름 · 거리함수 · 내적 · 외적(신발끈 공식) · 다중선형형식 · · 크로네커 델타
내적공간 그람-슈미트 과정 · 수반 연산자(에르미트 내적)
다중선형대수 텐서 · 텐서곱 · 레비치비타 기호 }}}}}}}}}

1. 개요2. 두 텐서의 텐서곱
2.1. 두 벡터의 외적(outer product)
3. 두 벡터 공간의 텐서곱
3.1. 텐서곱 연산에 의해 생성되는 벡터공간3.2. 곱공간의 몫공간
4. 두 가군 사이의 텐서곱

1. 개요

Tensor product

텐서곱은 선형대수학에서 여러 의미로 사용되는 개념이다.

2. 두 텐서의 텐서곱

[math(k )] 텐서 [math(T )]와 [math(l )] 텐서 [math(S )]가 주어져 있다고 하자. 그러면 [math(T )]와 [math(S )]의 텐서곱은 [math(T\bigotimes S(v_1, ..., v_k, v_{k+1}, ..., v_{k+l}))] [math( := T(v_1, ..., v_k) \times S(v_{k+1}, ..., v_{k+l}) )]로 정의되는 [math(k+l )] 텐서이다. 즉, 처음 [math(k )]개 좌표를 T에 넣고, 그 다음 [math(l )]개 좌표를 S에 넣어서 곱하는 함수이다. 이런 정의 때문에, 텐서 곱은 교환법칙이 성립하지 않는다.(TS≠ST) 하지만, [math(F )] 상의 곱은 결합법칙이 성립하므로, 결합 법칙은 성립한다고 할 수 있다. 결합 법칙이 성립하므로, 여타 다른 연산과 마찬가지로 텐서 곱을 여러 번 할 때 괄호를 생략할 수 있다.


파일:CC-white.svg 이 문단의 내용 중 전체 또는 일부는 문서의 r56에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문단의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r56 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

2.1. 두 벡터의 외적(outer product)

랭크가 1인 텐서 두개 사이에 텐서곱을 가하면 랭크가 2인 텐서가 된다. 이같은 텐서곱의 특수한 경우를 외적이라 부르기도 한다. 외적 참조.

3. 두 벡터 공간의 텐서곱

벡터 공간 [math( V )]와 [math( W )]가 주어져 있다고 하자. 그러면 [math( V )]와 [math( W)]의 텐서곱 [math( V \bigotimes W )]는 이들로부터 쌍선형적으로 확장되는 벡터 공간이다. 텐서곱의 정의는 여러 방식으로 가능하며, 여기서는 아래의 두 가지를 다루도록 하자.

3.1. 텐서곱 연산에 의해 생성되는 벡터공간

[math( V, W )]의 기저 [math( \mathfrak{B} = \left\{ v_1, \cdots, v_n \right\} )], [math( \mathfrak{C} = \left\{ w_1, \cdots, w_m \right\} )]가 주어져 있다고 하자. 그러면 [math( V\bigotimes W )]는 [math( v_i \bigotimes w_j )]들에 의해 생성되는 벡터 공간이다. 이 때 이 공간의 덧셈과 스칼라곱은 다음과 같이 연산자 [math( \bigotimes )]가 [math( V, W )]의 덧셈과 스칼라곱에 대해 선형적이도록 정의된다. 즉,
  • 임의의 [math( c \in F )]와 [math( v, v' \in V )], [math( w, w' \in W )]에 대해 다음이 성립한다.
    • (스칼라곱) [math( c\left( v\bigotimes w \right) := \left(cv \right) \bigotimes w = v \bigotimes \left(cw \right) )]
    • (덧셈 1 - 좌분배법칙) [math( v\bigotimes w + v' \bigotimes w := \left(v + v' \right) \bigotimes w )]
    • (덧셈 2 - 우분배법칙) [math( v \bigotimes w + v \bigotimes w' := v \bigotimes \left( w + w'\right) )]

이 정의에서 어떤 기저를 골라도 각각의 텐서곱은 동형이다. 또한, 텐서곱을 여러 번 할 때 어떤 순서로 해도 각각은 동형이므로 동형의 관점에서 결합 법칙이 성립한다고 할 수 있다.

여담으로, 사실 텐서 공간 [math( \mathfrak{J}^{k}\left(V\right) )]는 이러한 방식으로 [math(V^{*} )]의 텐서곱으로 정의된 것이다.

3.2. 곱공간의 몫공간

위의 정의는 각각이 동형이기는 해도 정의가 기저에 의존적이라는 문제가 있다. 이 문제를 해결하기 위해 텐서곱 [math( V\bigotimes W )]을 곱공간 [math( V \times W )]의 몫공간[math( \left. V \times W \right/ \sim )]으로 정의하기도 한다. 이 때 동치 관계 [math( \sim )]는 위의 정의에서 주어진 텐서곱의 세 가지 법칙에 따라 주어진다. 즉,
  • 임의의 [math( c \in F )]와 [math( v, v' \in V )], [math( w, w' \in W )]에 대해 다음이 성립한다.
    • (스칼라곱) [math( c\left( v, w \right) \sim \left(cv, w \right) \sim \left(v, cw \right) )]
    • (덧셈 1) [math( \left(v, w\right) + \left(v', w\right) \sim \left(v + v', w \right) )]
    • (덧셈 2) [math( \left(v, w\right) + \left(v, w'\right) \sim \left(v, w + w'\right) )]

4.가군 사이의 텐서곱

벡터공간을 위에서 정의된 가군 이라고 생각할 수 있으며, 가군을 벡터 공간의 확장으로 생각할 수 있다. 자연스럽게 일반적인 위서 정의된 가군에에서의 텐서곱 또한 생각할 수 있다.

이에 대한 좋은 접근이라고 생각되는 Rotman의 An Introduction to Homological Algebra의 section 2.2 내용을 소개한다. Module의 tensor product를 다음과 같은 universal property를 만족하는 abelian group으로 정의한다:
[math( R)]을 ring이라 하자. Right [math( R)]-module [math(A)]와 left [math( R)]-module [math(B)]에 대하여, biadditive map [math(g: A \times B \rightarrow A\bigotimes_{R} B)]가 주어졌다고 하자.[1] 그러면 [math(A \times B)]에서 임의의 abelian group [math(G)]로 가는 biadditive map [math(f)]에 대하여 [math( f = \tilde{f} \circ g)]를 만족하는 [math(\mathbb{Z})]-map [math( \tilde{f}: A\bigotimes_{R} B \rightarrow G )]가 유일하게 존재한다.
이러한 tensor product [math( A \bigotimes B)]는 abelian group으로서 유일하게 존재한다. 유일성은 두 tensor product에 대한 diagram을 그려서 서로 같다는 것을 보이면 되고, 존재성은 위의 벡터 공간의 텐서곱과 같이 직접 free module의 quotient module을 잡아서 보이면 된다.

굳이 이렇게 정의하는 이유는 관련 개념들을 정의할 때 module 간 tensor product의 정의로부터 well-definedness와 존재성, 그리고 유일성을 한꺼번에 보일 수 있기 때문이다. 예를 들어서 tensor functor가 잘 정의됨을 보이려면 [math( f\bigotimes g)]가 [math(\mathbb{Z})]-map으로서 유일하게 존재함을 보여야 할 텐데, 이것을 (학부 대수학에서 하듯이) 직접 잡아서 보여주는 것은 힘들 것이다. 그러나 위의 universal property를 이용하면 셋이 한번에 증명이 된다.

이러한 텐서곱에서 첫 번째 모듈을 [math((S,R))]-bimodule로 바꿔주면 scalar extension을 통해 그 tensor product를 [math(S)]-module로 만들어줄 수 있다. 그러면 tensor functor는 module category 위의 functor가 되며, 위의 universal property 또한 다음과 같이 재서술될 수 있다:
[math( R)]을 commutative ring이라 하자. [math( R)]-module [math(A, B)]에 대하여, bilinear map [math(g: A \times B \rightarrow A\bigotimes_{R} B)]가 주어졌다고 하자. 그러면 [math(A \times B)]에서 임의의 [math( R)]-module [math(M)]으로 가는 bilinear map [math(f)]에 대하여 [math( f = \tilde{f} \circ g)]를 만족하는 linear map [math( \tilde{f}: A\bigotimes_{R} B \rightarrow G )]가 유일하게 존재한다.
[math( R)]이 commutative ring임에 따라 right [math( R)]-module과 left [math( R)]-module의 차이가 없이 모두 bimodule이 됨에 유의하라. 즉, 위에서의 [math(A, B)]는 모두 [math((R,R))]-bimodule이다. 물론 임의의 ring에 대해서 그 center 위의 module로 보는 것도 가능하다. 이렇게 bimodule을 도입하면 텐서곱의 교환법칙이나 결합법칙 등이 적절한 형태로 서술될 수 있고, 실제로 성립한다. 교환법칙의 경우 right [math( R)]-module이 ([math( R)]이 commutative하지 않더라도) [math( (R^{op}, R))]-bimodule이고 반대도 마찬가지라는 사실을 이용한다.

한편 위의 universal property로부터 텐서곱을 이해하는 관점 중 하나를 얻을 수 있는데, 바로 'bilinear map의 정보들 중에서 겹치는 부분을 잘라내고 linear map에 대한 정보로 바꿔주는 것'이 tensor product라는 것이다. 다음 사실은 이에 대한 직관을 키워준다:
[math( R)]을 ring, [math( M)]을 left [math( R)]-module이라고 하자. 그러면 [math( R\bigotimes M)]은 [math( M)]과 (natural하게) isomorphic하다.
왜냐하면 [math( M)]이 이미 scalar multiplication으로서 linear map에 대한 정보를 갖고 있기 때문이다.

마지막으로 Hom functor와 tensor functor는 다음과 같은 adjoint한 관계를 갖는다:
[math( R, S)]가 ring이고 [math( A)]가 right [math( R)]-module, [math( B)]가 [math((R,S))]-bimodule, [math( C)]가 right [math(S)]-module일 때, [math( \mathrm{Hom}_{S}(A\bigotimes_{R} B, C))]와 [math(\mathrm{Hom}_{R}(A, \mathrm{Hom}_{S}(B,C)))]은 naturally isomorphic하다.
[math( R, S)]가 ring이고 [math( A)]가 left [math( R)]-module, [math( B)]가 [math((S,R))]-bimodule, [math( C)]가 left [math(S)]-module일 때, [math( \mathrm{Hom}_{S}(B\bigotimes_{R} A, C))]와 [math(\mathrm{Hom}_{R}(A, \mathrm{Hom}_{S}(B,C)))]은 naturally isomorphic하다.


[1] 이렇게 left와 right를 따로 고려하는 이유는 biadditive 및 bilinear map을 그런 식으로 정의했기 때문이다.