블록 위데만 알고리즘

Block Wiedemann algorithm

유한분야에 걸쳐 매트릭스의 커널 벡터를 계산하기 위한 블록 위데만 알고리즘은 더그 위데만으로 인한 알고리즘의 돈 코퍼스미스에 의한 일반화다.

위데만 알고리즘

Let be an square matrix over some finite field F, let be a random vector of length , and let . Consider the sequence of vectors obtained by repeatedly multiplying the vector by the matrix ; let be any other vector of length , and consider the sequence of finite-field elements

We know that the matrix has a minimal polynomial; by the Cayley–Hamilton theorem we know that this polynomial is of degree (which we will call ) no more than . Say 그러면 = n ( )= }^{0; 따라서 행렬의 최소 다항식은 시퀀스 {\(와) S 을(를) 소멸시킨다

그러나 Berlekamp-Massey 알고리즘을 사용하면sequence = [i+ = L Q I [ + r ] = 0 sum \ 일부 시퀀스 를 비교적 효율적으로 계산할 수 있다. Our hope is that this sequence, which by construction annihilates , actually annihilates ; so we have .We then take advantage of the initial definition of to say and so is a hopefully non-zero 커널 벡터( M.

블록 Wedemann(또는 Coppersmith-Wedemann) 알고리즘

컴퓨터에 희박한 행렬 산술의 자연적인 구현은 기계 단어의 폭과 같은 수의 벡터에 대해 시퀀스 S를 병렬로 계산하는 것을 쉽게 한다 – 실제로, 일반적으로 하나의 벡터보다 그 많은 벡터에 대해 계산하는 것이 더 이상 필요하지 않을 것이다.프로세서가 여러 개 있으면 모든 시스템에서 병렬로 다른 랜덤 벡터 집합에 대한 시퀀스 S를 계산할 수 있다.

작은 행렬의 시퀀스를 제공하기 위해 Berlekamp-Massey 알고리즘을 일반화하면 다수의 벡터에 대해 생성된 시퀀스를 취하여 원래의 큰 행렬의 커널 벡터를 생성할 수 있다는 것이 밝혀졌다.You need to compute for some where need to satIsfy t 최대>지금 나는 max+djmax+O(1){\displaystyle t_{\max}>,{\frac{d}{i_{\max}}}+{\frac{d}{j_{\max}}}+O(1)}과 y 나는{\displaystyle y_{나는}}은 길이 n의 요인의 시리즈지만, 연습에서}단위 벡터의 순서로 그리고 단순히를 작성 나는{\displaystyle y_{나는}는 y를 취할 수 있기그는 first 각 시간 t에 벡터에 입력된 항목.

참조

Wedemann, D, "유한 분야에 걸친 희박한 선형 방정식 해결", IEEE Trans.inf. 이론 IT-32, 페이지 54-62, 1986.

D. 코퍼스미스, 블록 위데만 알고리즘, 수학(Math)을 통해 GF(2)를 통한 동종 선형 방정식 해결.62 (1994), 333-350.

빌라드가 1997년 발표한 연구보고서 '매트릭스 다항식을 이용한 코퍼스미스의 블록 위데만 알고리즘 연구'(표지 소재는 프랑스어지만 내용은 영어로 된 것)는 합리적인 설명이다.

벡터 다항식을 조성하고, 블록 위데만 알고리즘의 개선의 Thomé의 종이'Subquadratic 계산은 벡터 다항식을 조성하고 산정을 위한, 그리고imax 방침을 실용적인 구현을 설명한 더 정교한FFT-based 알고리즘을 사용합니다 jmax=4사용되는 계산을 하는 커널 벡터의484603×484603 기질의 항목 이용해odulo2-1607, 따라서 GF(2607) 필드의 이산 로그 계산.