2012-02-17 2 views
0

Matlab 이중 함수 "inv"를 사용하여 정사각형 행렬의 역함수를 계산하려고합니다. matlab inv()는 inverse를 계산하기 위해 모든 재정렬 알고리즘 (사용자가 지정한 inv와 out을 사용)을 사용합니까? 사전에Matlab은 "inv"를 사용하여 역함수를 계산할 때 순서 매기기 알고리즘을 사용합니까?

감사합니다 ..

+1

[역행하지 않는 좋은 이유가 있습니다] (http://blogs.mathworks.com/loren/2007/05/16/purpose-of-inv/). 알고 있어야합니다. – Lucas

답변

1

아마가하는 행 선회 반올림을 최소화하기 위해 계속하지만이 알고리즘의 한 부분입니다.

돌아 오는 역수는 예상되는 순서 여야합니다. 설명 할 수없는 특이한 기능이 있기 때문에 묻고 있습니까?

나는 당신이 왜 그 반대가 필요하다고 생각하는지 묻습니다. 역 분모를 계산하기보다는 LU 분해 및 순방향 대체를 사용하여 방정식을 푸는 것이 더 일반적입니다. 어떻게 결과를 사용하고 있습니까?

+0

빠른 응답을 위해 @duffymo에게 감사드립니다. 내 알고리즘에서는 4 행렬 곱셈을해야하는데, A * (inv (B)) * C * D; 여기서 A, B, C 및 D는 정사각형 행렬이고 B = B1 * B2입니다. 그리고 모든 행렬은 초기에 희소 행렬입니다. 그러나이 곱셈은 밀도를 높입니다. – Superted

+0

필자는 @ duffymo의 추론이'A * (inv (B)) * C * D'가'A/B * C * D'처럼 훨씬 더 효율적이라고 가정하고 예상 된 정확도 내에서 동일한 대답을 제공 할 것이라고 가정합니다). 몇 가지 빠른 타이밍을 할게요 ... – Pursuit

+0

+1 BTW에 대한 질문 뒤에 실제 질문을 결정합니다. – Pursuit