Używam Mathematiki do rozwiązywania problemów. Mam pytanie dotyczące macierzy odwrotnej.
jeśli chcę tylko jednego elementu macierzy odwrotnej, czy istnieje szybszy algorytm niż użycie Inverse
do obliczenia całej macierzy odwrotnej i wyodrębnienie elementu, który chcę?
algorithms
użytkownik15964
źródło
źródło
Odpowiedzi:
Nie widziałem tego dokładnie w Mathematica, ale myślę, że może być w stanie rozwiązać zestaw równań tylko dla jednej niewiadomej.
Bezpośrednim sposobem byłoby oczywiście zaimplementowanie algorytmów macierzy odwrotnej i zatrzymanie ich po określeniu konkretnego elementu. Prawdopodobnie byłoby interesujące zobaczyć, jakie optymalizacje możesz uzyskać dla każdego algorytmu, jeśli celem jest uzyskanie tylko jednego elementu.
Ale zgodnie z pierwszym akapitem jednym z pomysłów może być wyrażenie macierzy odwrotnej jako nieznane w układzie równań, a następnie próba rozwiązania tylko dla nieznanego, czego potrzebujesz (ponieważ rozwiązanie zestawu równań dla jednego nieznanego powinno być obsługiwane). Jeśli uzyskasz lepszą wydajność pamięci i procesora, możesz śmiało powiedzieć, że Mathematica tak naprawdę nie rozwiązał całego równania, ale po prostu dokonał optymalizacji, aby określić tylko twoje nieznane. Oczywiście możesz uzyskać gorszą wydajność, ponieważ nie używasz bezpośrednio algorytmów odwrotnych. Jeśli zdecydujesz się spróbować, daj nam znać, czy to zadziałało!
źródło