수학 , 특히 선형대수 와 행렬 이론 에서, 정류행렬 은 행렬 의 벡터화 된 형태를 전치행렬 의 벡터화된 형태로 변환하는데 사용된다.구체적으로, 정류행렬 (m ,n ) K는 임의 의 m × n 행렬 A에 대해 vec (A)를 vec T (A)로 변환 하는 nm × mn 행렬이다.
K (m ,n ) vec(A ) = vec(A T ). 다음 vec(A )는 A의 열 을 서로 겹쳐 쌓음으로써 얻을 수 있는 mn × 1 열 벡터 입니다.
VEC ( A ) = [ A 1 , 1 , … , A m , 1 , A 1 , 2 , … , A m , 2 , … , A 1 , n , … , A m , n ] T \displaystyle \operatorname {vec}(\mathbf {A} _{1,1},\ldots,\mathbf {A} _{m,1},\mathbf {A} _{1,2},\ldots,\mathbf {A},\mathbf {A} 여기 서 A = [A i ,j ].즉, vec(A )는 A를 줄자 순서 로 벡터화 한 벡터이다. 마찬가지로 vec(A T )는 A를 줄자 순서로 벡터화 하여 얻는 벡터이다.
양자 정보 이론의 맥락 에서, 정류 행렬은 때때로 스왑 행렬 또는 스왑 연산자로 언급됩니다.
특성. 정류 행렬은 특수한 유형의 치환 행렬이므로 직교 입니다. 특히 K 는(m ,n ) P {\ { \ displaystyle \ mathbf { P } _ { \ pi } where 。 여기 서 { displaystyle \ { 1 , \ dots , mn \ } { { { { { in in in 。 π ( i + m j ) = j + n i , i = 1 , … , m , j = 1 , … , n . \displaystyle \pi(i+ni),\display i=1,\displays,m,\display j=1,\displays,n.} 정류 행렬의 정의에서 A를 A 로T 대체 하면 K = (K (n ,m ) )T 임을 나타냅니다 (m ,n ) . 따라서 m = n 의 특수 한 경우, 변환 행렬은 회전 행렬이며 대칭 행렬이다. 변환행렬의 주요 용도와 그 이름의 출처는 크로네커 곱을 이동하는 것이다: 모든 m × n 행렬 A 및 모든 r × q 행렬 B에 대해, K ( r , m ) ( A ⊗ B ) K ( n , q ) = B ⊗ A . \displaystyle \mathbf {K}^{(r,m)}(\mathbf {A} \otimes \mathbf {B})\mathbf {K} =\mathbf {B} \otimes \mathbf {A} } 이 속성은 Wishart 공분산 [2] 행렬의 고차 통계량을 개발하는 데 자주 사용됩니다. 위의 방정식에 대해 n=q =1의 경우 m, r 크기의 열 벡터 v,w 에 대해 각각 다음과 같이 기술한다. K ( r , m ) ( v ⊗ w ) = w ⊗ v . \displaystyle \mathbf {K}^{(r,m)}(\mathbf {v} \otimes \mathbf {w})=\mathbf {w} \otimes \mathbf {v} .} 이 성질은 양자 정보 이론의 맥락에서 이 행렬을 "스왑 연산자"라고 부르는 이유입니다. 변환 행렬에 대한 명시적 형식은 다음과 같다: 만약 r ,j e 가 차원 r의 j번째 정규 벡터 (즉, j번째 좌표에 1이 있고 다른 곳에 0이 있는 벡터)를 나타낸다면, K ( r , m ) = ∑ i = 1 r ∑ j = 1 m ( e r , i e m , j T ) ⊗ ( e m , j e r , i T ) . {\displaystyle \mathbf {K} ^{(r,m)}=\sum _{i=1}^{m}\left(\mathbf {e}_{r,i}{\mathbf {e}_{m,j}^{\otsmathbf}}\left(\mathbf}_e) } 정류 행렬은 다음과 같은 블록 행렬로 표현될 수 있습니다. K ( m , n ) = [ K 1 , 1 ⋯ K 1 , n ⋮ ⋱ ⋮ K m , 1 ⋯ K m , n , ] , {\displaystyle \mathbf {K} ^{(m,n)}=mathbf {K} _{1,1} &\cdots &\dots &\vdots &\mathbf {K} _{m,1\cdots} &\mathbf {K} &\cdots 여기 서 n x m 블록 매트릭스 i,j K 의 p,q 항목은 다음과 같이 주어진다. K i j ( p , q ) = { 1 i = q 그리고. j = p , 0 그렇지않으면 . {\displaystyle \mathbf {K} _{ij}(p,q)={case}1&i=q(텍스트{및}}}j=p,\0&{\text{text}}}}}. \end {case}} 예를들면, K ( 3 , 4 ) = [ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ] . {\displaystyle \mathbf{K}^{(3,4)}=\left는 경우에는{\begin{배열}{ccc ccc ccc 개인}1&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0\\0&, 0&, 0&, 1&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0\\0&, 0&, 0&, 0&, 0&, 0&, 1&, 0&, 0&, 0&, 0&, 0\\0&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 1&, 0&, 0\\\.hline 0&, 1&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0\\0&, 0&, 0&, 0&, 1&, 0&, 0&, 0&, 0&, 0&, 0&, 0\\0&, 0&, 0&, 0&, 0&, 0&, 0&, 1&, 0&, 0&, 0&, 0\\0&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 0&, 1&, 0\\\hline 0&, 0&, 1&, 0&, 0&, 0&, 0&, 0&, 0&, 0&0&0\\0&, 0&, 0&, 0&, 0&, 1&, 0&, 0&, 0&, 0&, 0&, 0\\0&, 0&, 0&, 0&, 0&, 0&0 &0&1&0&0&0&0&0&0&0&0&0&0&0&0&1&end {array}\right] } 코드 제곱 행렬과 직사각형 행렬 모두에 대해 m행과 n열, 아래 코드로 변환 행렬을 생성할 수 있습니다.
파이썬 수입품 수치 ~하듯이 np 방어하다 통신매트 ( m , n ): # K에 의해 적용되는 치환 결정 A = np . 모양을 바꾸다 ( np . 오렌지색 ( m * n ),( m , n ), 주문 = 'F' ) w = np . 모양을 바꾸다 ( A . T , m * n , 주문 = 'F' ) # 아이덴티티 매트릭스의 행(즉, 각 열에)에 이 순열을 적용합니다. M = np . 눈동자 ( m * n ) M = M [ w ,:] 돌아가다 M 또는 Import가 없는 버전:
# 크로네커 델타 방어하다 델타 ( i , j ): 돌아가다 인트 ( i == j ) 방어하다 통신매트 ( m , n ): # K에 의해 적용되는 치환 결정 v = [ m * j + i 위해서 i 에 범위 ( m ) 위해서 j 에 범위 ( n )] # 아이덴티티 매트릭스의 행(즉, 각 열에)에 이 순열을 적용합니다. M = [[ 델타 ( i , j ) 위해서 j 에 범위 ( m * n )] 위해서 i 에 범위 ( m * n )] M = [ M [ i ] 위해서 i 에 v ] 돌아가다 M 매트랩 함수 P = com_mat ( m,n) %는 K A = rephape ( 1: m * n , m , n ), v = rephape ( A ', 1,[]) 에 의해 적용 된 치환을 결정한다. 이 치환 을 동일성 행렬 P = eye ( m * n)의 행(즉, 각 열에 적용) 에 적용 한다.
예 A(\displaystyle A) 는 다음 2 × 3 (\displaystyle 2\times 3) 매트릭스를 나타냅니다.
A = [ 1 4 2 5 3 6 ] . ({displaystyle A=bmatrix}1&4\2&5\3&6\end{bmatrix}). } \displaystyle A에는 다음과 같은 줄자 벡터화 및 줄자 벡터화(각각)가 있습니다 .
v 콜 = VEC ( A ) = [ 1 2 3 4 5 6 ] , v 배를 젓다 = VEC ( A T ) = [ 1 4 2 5 3 6 ] . {\displaystyle \mathbf {v} _{\text{col}=\operatorname {v} =\operatorname {v} 1 \ \ \ \ \ 2 \ \ \ 3 \ \ 4 \ \ 5 \ 6 \ \ \ \ \ \ \ \ end { bmatrix } , \ quad \ mathbf { v } _ { v } _ { { { { { C } } } 연관된 정류 행렬은 다음과 같습니다.
K = K ( 3 , 2 ) = [ 1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 1 ⋅ ⋅ ⋅ 1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 1 ⋅ ⋅ ⋅ 1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 1 ] , {\displaystyle K=\mathbf{K}^{(3,2)}={\begin{bmatrix}1&,\cdot&\cdot&\cdot&\cdot&\cdot \\\cdot&\cdot&\cdot&1&,\cdot&\cdot \\\cdot&1&,\cdot&\cdot&\cdot&\cdot \\\cdot&\cdot&\cdot&\cdot&1&,\cdot \\\cdot&\cdot&1&,\cdot&\cdot&\cdot \\\cdot. &\cdot&\cdot&\cdot&\cdot&1\\\end{bmatrix}},}. (여기서 각 "\displaystyle\cdot" 은 0을 나타냅니다). 예상대로 다음이 유지됩니다.
K T K = K K T = I 6 \displaystyle K^{\mathrm {T}}K=KK^{\mathrm {T}=\mathbf {I}_{6} K v 콜 = v 배를 젓다 {\displaystyle K\mathbf {v} _{\text{col}}=\mathbf {v} _{\text{row}}} 레퍼런스 ^ Watrous, John (2018). The Theory of Quantum Information . Cambridge University Press. p. 94. ^ von Rosen, Dietrich (1988). "Moments for the Inverted Wishart Distribution". Scand. J. Stat . 15 : 97–109. Jan R. Magnus and Heinz Neudcker(1988), Wiley, 통계 및 계량경제학의 응용을 포함 한 행렬 미분학 .
명시적으로 제약된 엔트리 일정한 고유값 또는 고유 벡터에 대한 조건제품 또는 반전 조건 충족 특정 응용 프로그램 사용 통계 에 사용됨그래프 이론 에서 사용됨이공계에 사용 관련 용어