ZmmaqemodmO(log(mn)M(logm))
aqi≡aqi(modφ(m))(modm)
m
경우 소수 또는 효율적으로 인수 분해 될 수 있고, 최악의 복잡도 는 매트릭스 승산을 위해 필요한 단계의 수에 의해 지배된다 . 예를 들어, 파트너 게시물 에서 언급 한 Smith 정규 형식 접근 방식 은 "느린"을 사용하는 경우 시간에 결정자를 계산합니다 곱셈 알고리즘 . 는 2.373으로 선택할 수 있습니다.mO(nω)O(nωlog2mlog(mn))∗ω
행렬의 계수를 두 배로 늘려야하기 때문에 Moore vs Vandermonde 의 속도 가 느려집니다 . 을 인수 분해 할 수있을 때이 감속은 에 대한 다항식입니다 . 그렇지 않은 경우 제시된 알고리즘은 Double-Modular-Exponentiation에 대한 Cook 축소 를 제공합니다 .mmZm
참고 * : 정수 곱셈에 대한 빠른 알고리즘을 사용하면 을 로 바꿀 수 있습니다 .log2mM(logmloglogm)
업데이트 : 달성 가능성에 대해 .O(nlogan)
이에 대한 명확한 답은 없지만 검색을 강화할 수있는 정보를 찾았습니다.
시간 에서 결정자와 같은 양을 계산 하는 구조화 된 행렬에 대한 알고리즘 은 문헌에서 "초고속"이라고합니다. 구조화 된 행렬 (Vandermonde, Toeplitz, Hankel)에 대해 알려진 모든 "초고속"알고리즘은 낮은 "변위 순위"로 알려진이 행렬의 공통 속성에 의존하는 것 같습니다. 이 책 의 첫 장 (오픈 액세스 페이지) 또는이 문서 [ACM] , [PDF] 에 대한 토론을 진행 하십시오 .O(nlogan)
내가 읽은 것에서, Moore matrix , 행렬 , 를 찾을 수 있다면 새로운 행렬 (또는 대안 적으로 ) 다음과 같은 구조를 가지고있다m×nMABL(M)=AM−MBL(M)=M−AMB
L(M)=∑k=1rgkhTk
의 순위 가 작고 (상수 또는 기존 기술을 적용 할 수 있습니다 (책 5 장, open- 에 삼각 분할 하기 위해 사용하여 계산하십시오 . 상기 , 는 벡터를 나타낸다. 위의 책에서 모든 것을 읽을 수 없다면 이 기사 에도 이러한 방법에 대한 많은 정보가 있습니다.r>0o(min{m,n})MdetMO(nlog2n)gkhk
불행히도 나는 Moore 매트릭스 (Vandermonde가 가지고 있음)에 대한 낮은 변위 순위 구조를 찾을 수 없었습니다. 여기서 주요 합병증은 이중 지수의 "비선형"특성에서 발생하는 것으로 보입니다. 도움이된다면, Vandermonde, Cauchy, Toeplitz, Hankel의 경우가 책에서 해결됩니다.