수학에서 자센하우스 알고리즘 은[1] 벡터 공간 의 두 서브스페이스 의 교차로 와 합 을 계산하는 방법이다. 한스 자센하우스 (Hans Zassenhaus)의 이름을 따서 명명되었지만, 그에 의해 이 알고리즘의 간행물은 알려져 있지 않다.[2] 그것은 컴퓨터 대수 체계 에서 사용된다.[3]
알고리즘. 입력 V 는 벡터 공간이 되고 U , W 는 다음과 같은 스패닝 세트 가 있는 V 의 두 개의 유한한 차원 서브스페이스가 된다.
U = ⟨ u 1 , … , u n ⟩ {\displaystyle U=\langle u_{1},\ldots,u_{n}\angle } 그리고
W = ⟨ w 1 , … , w k ⟩ . {\displaystyle W=\langle w_{1},\ldots, w_{k}\angle .} 마지막으로 B 1 , … , B m {\ displaystyle B_{1},\ldots,B_{m}} 은 (는) u i {\displaystyle u_{i} 및 w i {\ displaysty w_{i}} 라고 쓸 수 있도록 선형 독립 벡터가 되도록 한다.
u i = ∑ j = 1 m a i , j B j {\displaystyle u_{i}=\sum _{j=1}^{m}a_{i,j}B_{j}}}}} 그리고
w i = ∑ j = 1 m b i , j B j . {\displaystyle w_{i}=\sum _{j=1}^{m_{i,j}B_{j}. } 출력 알고리즘은 U + W 의 합계 베이스와 U u W의 교차점 베이스 U comput W {\displaystyle U\cap W} 를 계산한다.
알고리즘. 알고리즘은 다음과 같은 크기의 블록 매트릭스 ( ( n + k ) × ( 2 m ) {\displaystyle ((n+k)\times (2m)}) 를 생성한다.
( a 1 , 1 a 1 , 2 ⋯ a 1 , m a 1 , 1 a 1 , 2 ⋯ a 1 , m ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ a n , 1 a n , 2 ⋯ a n , m a n , 1 a n , 2 ⋯ a n , m b 1 , 1 b 1 , 2 ⋯ b 1 , m 0 0 ⋯ 0 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ b k , 1 b k , 2 ⋯ b k , m 0 0 ⋯ 0 ) {\displaystyle{\begin{pmatrix}a_{1,1}&, a_{1,2}&, \cdots &, a_{1,m}&, a_{1,1}&, a_{1,2}&, \cdots, a_{1,m}\\\vdots, \vdots & & &,&\vdots, \vdots & &, \vdots &,&\vdots \\a_{n,1}&, a_{n,2}&, \cdots &, a_{n,m}&, a_{n,1}&, a_{n,2}&, \cdots &, a_{n,m}\\b_{1,1}&, b_{1,2}&, \cdots &, b_{1,m}&, 0&을 말한다.0&, \cdots, 0\\\vdots, \vdots &, 및 &, \vdots &, \vdots &, \vdots & &,&\vdots \\b_{k,1}&, b_{k,2}&, \cdots &, b_{k,m}&, 0&, 0&, \cdo. ts &0\end{pmatrix}} 기본 행 연산 을 사용하여 이 행렬은 행 에셀론 형식 으로 변환된다.그리고 다음과 같은 모양을 하고 있다.
( c 1 , 1 c 1 , 2 ⋯ c 1 , m ∙ ∙ ⋯ ∙ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ c q , 1 c q , 2 ⋯ c q , m ∙ ∙ ⋯ ∙ 0 0 ⋯ 0 d 1 , 1 d 1 , 2 ⋯ d 1 , m ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ 0 0 ⋯ 0 d ℓ , 1 d ℓ , 2 ⋯ d ℓ , m 0 0 ⋯ 0 0 0 ⋯ 0 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ 0 0 ⋯ 0 0 0 ⋯ 0 ) {\displaystyle{\begin{pmatrix}c_{1,1}&, c_{1,2}&, \cdots &, c_{1,m}&, \bullet&\bullet&\cdots, \bullet \\\vdots &, \vdots &,&\vdots &, \vdots &, \vdots, 및 &, \vdots \\c_{q,1}&, c_{q,2}&, \cdots & &, c_{q,m}&, \bullet&\bullet&\cdots &, \bullet \\0&, 0&, \cdots &, 0&, d_{1,1}&, d_{120.}&\cdots, d_{1,m}\\\vdots, \vdots & &,&\vdots &, \vdots &, \vdots & &,&\vdots \\0&, 0&, \cdots &, 0&, d_{\ell ,1}&, d_{\ell. ,2}&\cdots &d_{\ell}\m}\0&0&\cdots &0�&\cdots &0&\vdots &\vdots &\0�&#cdots &0�&#cdots &0�>cdt;{pmatrix}}}} Here, ∙ {\displaystyle \bullet } stands for arbitrary numbers, and the vectors ( c p , 1 , c p , 2 , … , c p , m ) {\displaystyle (c_{p,1},c_{p,2},\ldots ,c_{p,m})} for every p ∈ { 1 , … , q } {\displaystyle p\in \{1,\ldots ,q\}} and ( d p , 1 , … , d p , m ) {\displaystyle (d_{p,1},\ldots ,d_{p,m} p ∈{ 1 , … , ℓ } {\displaystyle p\in \{1,\ldots,\ell \}} 은 (는) 0이 아니다 .
그런 다음(y 1 , … , y q ) {\displaystyle(y_{1},\ldots ,y_{q}},
y i := ∑ j = 1 m c i , j B j {\displaystyle y_{i}: =\sum _{j=1}^{m}c_{i,j}B_{j}}}}}} U + W {\displaystyle U+W} 및 (z 1 , … , z ℓ ) {\displaystyle (z_{1},\ldots ,z_{\ell }}} 의 기본 구성 요소:
z i := ∑ j = 1 m d i , j B j {\displaystyle z_{i}: =\sum _{j=1}^{m}d_{i,j}B_{j}}}}} U ∩ W {\displaystyle U\cap W} 의 기본이다.
정확성 증명 먼저 π 1 : V × V → V , ( a , b ) ↦ a {\displaystyle \pi _{1}: V\time V\to V, (a,b)\mapsto a} 이 (가) 첫 번째 구성 요소에 대한 투영이어야 함
Let H := { ( u , u ) ∣ u ∈ U } + { ( w , 0 ) ∣ w ∈ W } ⊆ V × V . {\displaystyle H:=\{(u,u)\mid u\in U\}+\{(w,0)\mid w\in W\}\subseteq V\times V.} Then π 1 ( H ) = U + W {\displaystyle \pi _{1}(H)=U+W} and H ∩ ( 0 × V ) = 0 × ( U ∩ W ) {\displaystyle H\cap (0\times V)=0\times (U\cap W)} .
또한 H ∩ (0 × V ) {\displaystyle H\cap (0\time V)} 은 π 1 H {\ displaystyle {\pi _{1}_{H}} 의 커널 이며, 투영법은 H 로 제한 된다. 따라서 딤 ) ( H ) = 딤 w ( U + W ) + 딤 ) ( U ∩ W ) {\displaystyle \dim(H)=\dim(U+W)+\dim (U\ cap W)}}.
자센하우스 알고리즘은 H 의 기초를 계산한다. 이 행렬의 첫 번째 m 열에는 U + W {\displaystyle U+W} 의 기본 y {\ displaystyle y_{i} 가 있다.
( 0 , z i ) {\displaystyle (0,z_{i}}}) 형식의 행은 분명히 H ( (0 × V ) {\displaystyle z_ {i}\ neq 0 } 에 있다. 행렬이 echelon 형식 에 있기 때문에 이들 행도 선형적으로 독립적이다. All rows which are different from zero ( ( y i , ∙ ) {\displaystyle (y_{i},\bullet )} and ( 0 , z i ) {\displaystyle (0,z_{i})} ) are a basis of H , so there are dim ( U ∩ W ) {\displaystyle \dim(U\cap W)} such z i {\displaystyle z_{i}} s. 따라서 z i {\ displaystyle z_{i} s 는 U ∩ W {\displaystyle U\cap W} 의 기초를 형성한다.
예 Consider the two subspaces U = ⟨ ( 1 − 1 0 1 ) , ( 0 0 1 − 1 ) ⟩ {\displaystyle U=\left\langle \left({\begin{array}{r}1\\-1\\0\\1\end{array}}\right),\left({\begin{array}{r}0\\0\\1\\-1\end{array}}\right)\right\rangle } and W = ⟨ ( 5 0 − 3 3 ) , ( 0 5 − 3 − 2 ) ⟩ {\displaystyle W=\left\langle \left({\begin{array}{r}5\\0\\-3\\3\end{array}}\right),\left({\begin{array}{r}0\\5\\-3\\-2\end{array}}\right)\right\rangle } of the vector space R 4 {\displaystyle \mathbb {R} ^{4}} .
표준 기준 을 사용하여 다음과 같은 치수 행렬(2 + 2 ) × ( 2 ⋅ 4 ){\displaystyle(2+2)\time(2\cdot 4)} 을 생성 한다.
( 1 − 1 0 1 1 − 1 0 1 0 0 1 − 1 0 0 1 − 1 5 0 − 3 3 0 0 0 0 0 5 − 3 − 2 0 0 0 0 ) . {\displaystyle \left({\begin{array}{rrrrrrrr}1&-1&0&1&&1&-1&0&1\\0&0&1&-1&&0&0&1&-1\\\\5&0&-3&3&&0&0&0&0\\0&5&-3&-2&&0&0&0&0\end{array}}\right). } 기본 행 연산 을 사용하여 이 행렬을 다음과 같은 행렬로 변환한다.
(1000∙∙ ∙ ∙ 010− 1∙∙ ∙ ∙ 001− 1∙∙ ∙ ∙ 00001− 101){\displaystyle \left({\begin{배열}{rrrrrrrrr}1&, 0&, 0&, 0&,&\bullet&\bullet&\bullet&\bullet \\0&, 1&, 0&, -1&,&\bullet&\bullet&\bullet &a.Mp, \bullet \\0&, 0&, 1&, -1&,&\bullet&\bullet&\bullet&\bullet\. \\\0&0&0&0&1 &1&1 \end {array}\right)}( 일부 항목은 결과와 무관하기 때문에 "∙ {\displaystyle \bullet }" 로 대체되었다.) Therefore ( ( 1 0 0 0 ) , ( 0 1 0 − 1 ) , ( 0 0 1 − 1 ) ) {\displaystyle \left(\left({\begin{array}{r}1\\0\\0\\0\end{array}}\right),\left({\begin{array}{r}0\\1\\0\\-1\end{array}}\right),\left({\begin{array}{r}0\\0\\1\\-1\end{array}}\right)\right)} is a basis of U + W {\displaystyle U+W }, 및 (1 - 1 0 1 ) {\ displaystyle \left(\begin{array}\{r1}\-1\\\\end \1\nd{array}\오른쪽)} 는 U { W {\displaystystystyle U\cap W} 의 기본이다.
참고 항목 참조 ^ Luks, Eugene M. ; Rákóczi, Ferenc; Wright, Charles R. B. (April 1997), "Some algorithms for nilpotent permutation groups", Journal of Symbolic Computation , 23 (4): 335–354, doi :10.1006/jsco.1996.0092 . ^ Fischer, Gerd (2012), Lernbuch Lineare Algebra und Analytische Geometrie (in German), Vieweg+Teubner , pp. 207–210, doi :10.1007/978-3-8348-2379-3 , ISBN 978-3-8348-2378-6 ^ The GAP Group (February 13, 2015), "24 Matrices" , GAP Reference Manual, Release 4.7 , retrieved 2015-06-11
외부 링크