대칭 빈 행렬의 벡터화

Nov 16 2020

대칭 중공 (대각선 항목은 다음과 같음)과 관련된 몇 가지 문제를 던지고 싶습니다. $0$) 행렬의 벡터화로 표현되는 등가 형식의 행렬. 행렬이 대칭 인 경우 효과적인 방법은 행렬의 절반 벡터화와 복제제거 행렬을 사용하는 것입니다 . 중공 대칭 행렬의 경우와 비슷한 것을 찾고 싶습니다.

나는 실제 가치가있는 함수가있다 $f$ 인수가있는 대칭 중공 행렬 $\mathbf{A}$. 행렬의 모든 정보는 행렬의 엄격 하한 (또는 상한) 삼각형 부분에 저장되므로 다음과 같이 호출하십시오.$\mathbf{A}_1$ , 행렬의 벡터화를 사용하여 함수를 다시 작성하는 방법이 있어야한다고 생각합니다. $\mathbf{A}_1$, 즉 $\mathbf{a}=\mathbf{A}_1$.

예를 들어 대칭 행렬을 고려하면 $\mathbf{B}$:

$$ f(\mathbf{A})= \operatorname{trace}(\mathbf{A}\mathbf{B}) = 2 \mathbf{a}^{\top}\mathbf{b}$$

이것은이 특정 기능에 즉시 적용되지만 어떻게 다른 기능으로 일반화 할 수 있습니까? 예를 들어,$ f(\mathbf{A})= \operatorname{trace}(\mathbf{A}^\top\mathbf{A}\mathbf{B})$. 일반적으로 제품도 가능$\mathbf{A}\mathbf{A}$ 벡터 제품의 특정 형태 변경으로 다시 작성됩니까?

감사합니다

편집하다

내가 기능이 있다면 $f(\mathbf{A})$,이 경우 중공-절반 -vec 공간에서 기울기와 헤세 안을 계산할 수 있고 연관된 행렬을 다시 계산할 수 있습니까? 관련 하위 질문으로$\operatorname{vechh(\cdot)}$뒤집을 수있는 작업? 물론 일단 내가$\mathbf{a}=\operatorname{vechh(\mathbf{A})}$ 다시 돌아가는 방식으로 벡터의 모양을 쉽게 변경할 수 있습니다. $\mathbf{A}$. 그러나 이것은 수학적으로 어떻게 표현됩니까? 다음과 같이 할 수 있어야합니다.

$$ \mathbf{A}= \operatorname{vec}^{-1} (\mathbf{D}\mathbf{H}^{-1}\mathbf{a}) \mathbf{P}^\top= \operatorname{vec}^{-1} (\mathbf{D}\mathbf{H}^{-1}\mathbf{H}\mathbf{E}\operatorname{vec}(\mathbf{AP})) \mathbf{P}^\top $$

어디 $\mathbf{D}$,$ \mathbf{E}$ 각각 중복 및 제거 행렬이며 $\mathbf{H}^{-1}$ "중공"행렬의 역 $\mathbf{H}=[\mathbf{0}_{l\times n} \mathbf{I}_l]$.

사례 연구로 우리는 $f(\mathbf{A})= \operatorname{trace}(\mathbf{A}\mathbf{B}) = 2 \mathbf{a}^{\top}\mathbf{b}$,와 함께 $\mathbf{A}$, $\mathbf{B}$ 대칭 행렬, $\mathbf{A}$구멍. 각 기능을 표현하는 방법론이 있으면 좋을 것 같아요$f(\mathbf{A})$ 동등한 형태로 $f(\mathbf{a})$.

답변

1 greg Nov 17 2020 at 06:42

$\def\m#1{ \left[\begin{array}{r}#1\end{array}\right] }$ 빈 행렬이 주어지면 $$\eqalign{ A &\in {\mathbb R}^{n\times n} \\ }$$ hollow-half-vec 작업은 더 익숙한 half-vec 작업과 유사합니다. 둘 다 표준 vec 연산자로 설명 할 수 있습니다. $$\eqalign{ {\rm vechh}(A) &= E_h\cdot{\rm vec}(A) \quad&\sim\quad {\rm vech}(A) &= E\cdot{\rm vec}(A) \\ {\rm vec}(A) &= D_h\cdot{\rm vechh}(A) \quad&\sim\quad \;\;{\rm vec}(A) &= D\cdot{\rm vech}(A) \\ }$$ 어디 $E_h\in{\mathbb R}^{\ell\times n^2}$속이 빈 제거 행렬입니다. 희소 이진 행렬입니다.$\,\ell = \tfrac 12(n^2-n)\,$. 각 행에는 0이 아닌 요소가 하나 있으며, 열 색인은 다음의 보존 된 요소 색인에 해당합니다.${\rm vec}(A)$.

할로우 복제 행렬은 다음과 같습니다. $D_h\in{\mathbb R}^{n^2\times\ell}$ 또한 희소 이진 행렬이며, 그 요소는 다음과 같습니다. $E_hD_h=I$ 그리고 그 열의 합이 2가됩니다. $\;\tfrac 12D_h^T{\tt1} = {\tt1}.\;$ 다시 말하지만 이것은 half-vec의 경우와 유사합니다. $ED=I\,$ (그러나 열 합계는 $D$ 하나와 둘 사이에서 다름).

흥미롭게도 의사 역 $D_h^+$ 제거 행렬 역할을 할 수 있지만 $E_h^+$ 중복 행렬로 실패합니다. $$\eqalign{ {\rm vechh}(A) &= D_h^+\cdot{\rm vec}(A) \quad&\sim\quad {\rm vech}(A) &= D^+\cdot{\rm vec}(A) \\ {\rm vec}(A) &\ne E_h^+\cdot{\rm vechh}(A) \quad&\sim\quad \;\;{\rm vec}(A) &\ne E^+\cdot{\rm vech}(A) \\ D_h^+D_h &= I \quad&\sim\quad \quad D^+D &= I \\ }$$ $\Big[\,$속이 빈 경우 계산이 특히 쉽습니다. $D_h^+ = \tfrac 12D_h^T\;\Big]$

예를 들어 $\;n=4,\;\ell=6$ $$\eqalign{ &E_h[1,2] &= 1,\qquad &D_h(2,1) &= 1,\quad &D_h(5,1) &= 1 \\ &E_h[2,3] &= 1,\qquad &D_h(3,2) &= 1,\quad &D_h(9,2) &= 1 \\ &E_h[3,4] &= 1,\qquad &D_h(4,3) &= 1,\quad &D_h(13,3)&= 1 \\ &E_h[4,7] &= 1,\qquad &D_h(7,4) &= 1,\quad &D_h(10,4)&= 1 \\ &E_h[5,8] &= 1,\qquad &D_h(8,5) &= 1,\quad &D_h(14,5)&= 1 \\ &E_h[6,12]&= 1,\qquad &D_h(12,6)&= 1,\quad &D_h(15,6)&= 1 \\ }$$ vec 및 vechh 벡터에 매핑 된 인덱스 $4\times 4$ 행렬은 위에 주어진 구성 요소를 설명하는 데 도움이됩니다. $$\eqalign{ \m{1&5&9&13\\2&6&10&14\\3&7&11&15\\4&8&12&16} \qquad\qquad \m{0&1&2&3\\1&0&4&5\\2&4&0&6\\3&5&6&0} \\ }$$