Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Dobré odpoledne
Mám dotaz, zda by někoho napadlo, jak řešit následující úlohu:
"Nalezněte řešení maticové rovnice AX=B řádově rychleji, než by obnášelo spočítání inverzní matice A."
-----------------
Měl jsem takovou ideu, ale nedokázal jsem jí dotáhnout do konce. Bez újmy na obecnosti jí budu ilustrovat na matici 2x2. Když vyjdeme z toho, že řádky matice jsou LN, tak nám sloupce matice reprezentují vektory v rovině, jejichž složením dostaneme vektor řešení. Vzhledem k tomu, že vektory dokážeme složit v konstantním čase, nabízí se řešení takové, že si představíme matici v její geometrické interpretaci, a poté provedeme "inverzi" vektoru řešení, což by mělo suplovat klasickou inverzi matice A pomocí Gauss-Jordanovy eliminace. Problém je v tom, co si představit pod oním pojmem "inverze" vektoru řešení. Je jasné, že vektor řešení matice A^(-1) bude vektor řešení původní matice A, akorát pootočený. Otázka tedy zní - o kolik a kterým směrem pootočit vektor řešení matice A, aby se dosáhlo efektu inverze?
Díky za nápady
Offline

Hledání inverzní matice k A je vlastně řešení maticové rovnice AX=1. Kdyby tvůj algoritmus fungoval pro libovolná A,B, tedy i pro B=1, byl by algoritmem pro hledání inverzní matice a nemohl by být rychlejší. Pokud to myslíš tak, že tvůj algoritmus hledá inverzi výrazně rychleji než Gauss-Jordan, pak ho zkus popsat bez mlhavých pojmů jako "skládání vektorů" nebo "inverze vektoru", takto to nedává žádný smysl.
Navíc hledání rychlých maticových algoritmů je poměrně účelná, a proto i probádaná oblast složitosti. Pro násobení matic existuje algoritmus se složitostí
http://en.wikipedia.org/wiki/Coppersmit … _algorithm a zřejmě neexistuje algoritmus se složitostí menší než O(n^2). Pro inverze to bude nejspíš podobné, ale tam se mi zatím nepodařilo horní odhad zjistit. Celkem pochybuju, že by se ti podařilo překonat některý z těch rychlých algoritmů.
Offline
Stránky: 1