컴퓨팅 매트릭스 파워의 복잡성


14

나는 계산에 관심이 '은의 승기 행렬 . 시간에 실행되는 행렬 곱셈 알고리즘이 있다고 가정 합니다. 그러면 시간에 을 쉽게 계산할 수 있습니다 . 더 적은 시간 복잡성으로이 문제를 해결할 수 있습니까?nn×nAO(M(n))AnO(M(n)log(n))

일반적으로 매트릭스 항목은 반 링에서 나올 수 있지만 도움이되는 경우 추가 구조를 가정 할 수 있습니다.

참고 : 일반적으로 시간 에서 을 계산 하면 지수화를 위해 알고리즘이 제공됩니다. 그러나 많은 흥미로운 문제가 m = 인 행렬 지수의 특별한 경우로 축소 간단한 문제에 대해 동일한 것을 증명할 수 없었습니다.Amo(M(n)log(m))o(logm)O(n)


행렬의 항목은 무엇입니까? 정수?
Kaveh

1
일반적으로 항목은 반 반지에서 나올 수 있지만 도움이되는 경우 추가 구조를 가정 할 수 있습니다.
Shitikanth

위의 제안 된 방법 (즉 ) 에서 곱셈에서 제곱으로 축소를 얻을 수 없었습니다 . 그러나 ( 0 A B 0 ) 2 사용하면 작동합니다. 그러나 이것은 A n 계산시 Ω ( M ( n ) ) 만 제공합니다 . (A±B)2(0AB0)2Ω(M(n))An
시티 칸트

답변:


11

매트릭스 인 경우 diagonalizable는 다음 복용 시간에 수행 될 수 승 O ( D ( N ) + N 로그 N ) 여기서, D ( n은 ) 대각 시간이다 .n

O(D(n)+nlogn)
D(n)A

세부 사항을 완성하기 위해 대각선 D 가있는 인 경우 A n = ( P - 1 D P ) n = P - 1 D n PA=P1DPD

An=(P1DP)n=P1DnP

그리고 대각선의 각 요소 (각각 고유 값 A )를 n 제곱으로 취함으로써 을 계산할 수 있습니다 .DnAn


6
행렬이 대각 화 가능하더라도 고유 분해에 가장 잘 알려진 알고리즘은 시간이 걸립니다. Coppersmith-Winograd 알고리즘을 사용하여 A m 계산을위한 O ( n 2.3727 log ( m ) ) 알고리즘이 이미 있습니다 . O(n3)O(n2.3727log(m))Am
시티 칸트

1
(1) 인용 한 시간은 Coppersmith-Winograd가 아닙니다. (2) 해당 형식의 모든 알고리즘은 링에서만 작동합니다. 그들은 당신의 질문에서 허용하는 것처럼 일반적인 반반에서는 작동하지 않습니다.
Ryan Williams

5

한 가지 좋은 방법은 Singular Value Decomposition SVD 입니다. 전체 순위 실수 행렬 A 가 주어지면 SVD는이를 A = U Σ U T 로 나눕니다. 여기서 Σ 는 시간 행렬 O ( n 3 ) 의 대각 행렬 입니다. SVD의 특성에 따라 A m = U Σ m U T 이므로 대각 행렬 만 지수화하면되며 O ( n log m ) 로 수행 할 수 있습니다.n×nAA=UΣUTΣO(n3)Am=UΣmUTO(nlogm)시각. 수행 최종 승산 얻어 O를 ( N 2.3727 ) , 우리는 모두 그래서 O ( N 3 + N 로그 m ) 작업. U×Σm×UTO(n2.3727)O(n3+nlogm)

주석 후 업데이트 요점은 SVD가 발견되면 자체 CW 알고리즘으로 계산하는 데 시간 만 소요 된다는 것입니다. 그러나 이것은 정말 거기 당신의 question.If 아닌 O ( M ( N ) 로그 ( m ) ) 알고리즘은, 그것이 바로 변환 할 ( 로그 N ) 정수에 대한 알고리즘. 나는 그러한 것이 존재하지 않는다고 생각합니다.O(n2.3727+nlogm)o(M(n)log(m))o(logn)


Coppersmith–Winograd 알고리즘은 시간 에 두 행렬의 곱을 찾으므로 이미 A m 계산을위한 O ( n 2.3727 log ( m ) ) 알고리즘이 있습니다. 더 나은 행렬 곱셈 알고리즘을 요구하지 않고 특히 m = O ( n )에 대해 이것이 개선 될 수 있는지 알고 싶습니다 . O(n2.3727)O(n2.3727log(m))Amm=O(n)
시티 칸트

1
A=UΣUVU

1
nmn=1O(M(1)logmAm

2
logm

1
명시된 바와 같이 이것은 귀하의 질문에서 명확하지 않습니다.
PKG
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.