INVERZE MATIC
PROBLÉM
Určení matice X. inverzní k čtvercové matici A., tedy nalezení řešení maticové rovnice A.*X.=X.*A.=E., kde E. je jednotková matice a * značí násobení matic.
ALGORITMUS
Inverzní matici určíme sloupec po sloupci pomocí programových jednotek
LUDCMP a
LUBKSB. Celkový počet operací násobení je
N ** 3
IMPLEMENTACE
Jednotka: fragment programu
Vazby:
LUDCMP a LUBKSB
Výsledek:
Matice X. je inverzní maticí k zadané matici A.
/* čti prvky čtvercové matice A. řádu N */
...
call LUDCMP N
do J = 1 to N
B. = 0; B.J = 1; call LUBKSB N
do I = 1 to N; X.I.J = B.I; end
end
|
PŘÍKLAD
N = 3
A.1.1 = 1; A.1.2 = -4; A.1.3 = -3
A.2.1 = 1; A.2.2 = -5; A.2.3 = -3
A.3.1 = -1; A.3.2 = 6; A.3.3 = 4
/* LUDCMP matici A. zničí */
do I = 1 to N
do J = 1 to N
Y.I.J = A.I.J
end
end
call LUDCMP N
do J = 1 to N
B. = 0; B.J = 1; call LUBKSB N
do I = 1 to N; X.I.J = B.I; end
end
/* X. je inverzní maticí k původní matici A., důkaz?
X.*A.=Jednotková matice
*/
do I = 1 to N
Row = ""
do K = 1 to N
C.I.K = 0
do J = 1 to N
C.I.K = C.I.K + Y.I.J * X.J.K
end
Row = Row C.I.K
end
say Row
end
exit
...
|
SOUVISLOSTI
Literatura
Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P. Numerical Recipes in C : the art of scientific computing
- 2nd ed. University Press, Cambridge, 1992
Faddejev A.K., Sominskij J.S. Sbornik zadač po vyššej algebre
Nauka, Moskva 1964