빠르고, 역 안정식 (왼쪽) 역행렬


10

나는 매우 적은 수의 퇴화 사례 ( ) 로 많은 행렬 역수 를 계산해야합니다 (Newton iteration polar decomposition ).×<0.1%

명시 적 역수 (행렬식 마이너를 행렬식으로 나눈 값)가 작동하는 것으로 보이며 약 32 ~ 40 개의 융합 된 플롭입니다 (결정자의 역수를 계산하는 방법에 따라 다름). Det 스케일 팩터를 고려하지 않고, 단지 18 개의 융합 된 플롭입니다 (각 9 개의 요소는 ab-cd, 2 개의 융합 된 플롭 형식입니다).

질문:

  • 18 미만 (임의의 스케일로) 또는 32 (적절한 스케일로, 상호 1 op를 고려한) 융합 플롭을 사용하여 역수를 계산하는 방법이 있습니까?×
  • 행렬의 역 안정적인 좌안 역수를 계산하는 경제적 인 방법이 있습니까 (~ 50 f-flops 사용) ?×

단 정밀도 플로트 (iOS 게임)를 사용하고 있습니다. 후진 안정성은 저에게있어 새로운 개념으로 흥미롭고 실험하고 싶습니다. 여기 에 생각을 불러 일으킨 기사 가 있습니다.


역으로 Cayley-Hamilton 정리를 사용하는 것은 어떻습니까?
nicoguaro

1
이것이 병목 현상이라면 극성 분해에 대한 다른 알고리즘이 더 빠를 수 있습니까? 예를 들어 SVD를 통해? 또는 eprints.ma.man.ac.uk/694/01/covered/MIMS_ep2007_9.pdf의 3.3에서와 같이 Newton의 방법을 가속화 합니까?
Kirill

답변:


5

빠른 inverse× 에 관한 첫 번째 질문에 대해 생각하려고합니다 . 치다

=[이자형h에프나는]

행렬은 작고 매우 일반적이기 때문에 (알려진 구조, 0, 요소의 상대적 스케일을 특징으로하지 않음) 임의 스케일 ( 없이)에 대한 알고리즘을 제공하는 것은 불가능하다고 생각 합니다. 9 개의 요소 각각에 2 개의 융합 된 플롭이 필요하고 의 항목 에 사전 정보가없는 경우 모든 제품은 고유하므로 18 개의 융합 된 플롭보다 빠릅니다 . 여기서, 는 기본적으로 "임의 척도"와 반대입니다 (반대가 존재하는 경우).1/데트(),,나는

1데트()=조정()=[이자형나는에프h나는에프이자형h나는h나는h이자형에프에프이자형]
조정()

그러나 계산에 일부 계산을 재사용 할 수 있습니다 . 첫 번째 열 위로 확장하면 (5 가지 추가 선택 항목이 있습니다) 사항, (* )은 평가 중에 이미 계산되었습니다 . 따라서 결정자의 역수는 4 개의 추가 융합 플롭으로 계산 될 수 있습니다 ( 역수가 1 플롭으로 간주되는 경우).데트()

데트()=(이자형나는에프h)+(에프나는)+(h이자형)=(이자형나는에프h)(나는에프)(이자형h)
조정()1/데트()

이제 의 각 9 개 요소는 이미 결정된 역수를 구하여 크기를 조정하고 9 개의 융합 된 플롭을 추가합니다.조정()

그래서,

  1. 18 개의 융합 플롭에서 계산조정()
  2. 계산 용융 3은 이미 계산 된 항목의 사용 퍼데트()조정()
  3. 찾습니다 (1 플롭 가정).1데트()
  4. 다른 9 개의 융합 된 플롭에서 에 의해 이미 계산 된 의 각 elelemt를 확장합니다 .조정()1데트()

18 + 3 + 1 + 9 = 31 융합 플롭 결과 . 결정자를 계산하는 방법을 설명하지 않았지만 1 개의 추가 플롭을 저장할 수 있다고 생각합니다. 또는 3 단계에서 검사를 수행하는 데 사용할 수 있습니다 . 여기서 은 축퇴 (무역) 사례에 대한 허용 오차이며 , 32 개의 융합 된 플롭 ( 1 개의 플롭으로 가정 )이 발생합니다.|데트()|>ϵϵif

나머지 모든 계산이 고유하기 때문에 일반 행렬 의 역수를 계산하는 더 빠른 방법이 없다고 생각 합니다. Cayley-Hamilton을 사용하면 속도 관점에서 도움이되지 않아야합니다. 일반적으로 다른 연산 외에 행렬에 대해 를 계산해야 합니다.×2×

NB :

  • 이 답변은 수치 안정성을 다루지 않습니다.
  • 벡터화 및 메모리 액세스 패턴 최적화에 대한 가능한 가능성에 대해서도 논의되지 않습니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.