Ich benutze Mathematica, um Probleme zu lösen. Ich habe eine Frage zur Matrixinverse.
Wenn ich nur ein Element der inversen Matrix möchte, gibt es einen schnelleren Algorithmus als die Inverse
Berechnung der gesamten inversen Matrix und das Extrahieren des gewünschten Elements?
algorithms
user15964
quelle
quelle
Antworten:
Ich habe dies in Mathematica nicht genau gesehen, aber ich denke, dass es unterstützt werden kann, einen Gleichungssatz für nur einen Unbekannten zu lösen.
Der direkte Weg wäre natürlich, die inversen Matrixalgorithmen zu implementieren und sie stoppen zu lassen, wenn das bestimmte Element bestimmt wird. Es wäre wahrscheinlich interessant zu sehen, welche Optimierungen Sie für jeden Algorithmus vornehmen können, wenn das Ziel darin besteht, nur ein Element zu erhalten.
Gemäß dem ersten Absatz könnte eine Idee darin bestehen, Ihre inverse Matrix als Unbekanntes im Gleichungssystem auszudrücken und dann zu versuchen, nur nach dem Unbekannten zu lösen, das Sie benötigen (da das Lösen eines Gleichungssatzes für ein einzelnes Unbekanntes unterstützt werden sollte). Wenn Sie eine bessere Speicher- und CPU-Leistung erzielen, kann man mit Sicherheit sagen, dass Mathematica nicht die gesamte Gleichung gelöst hat, sondern nur die Optimierungen vorgenommen hat, um nur Ihr Unbekanntes zu ermitteln. Sie können natürlich eine schlechtere Leistung erzielen, da Sie nicht direkt inverse Algorithmen verwenden. Wenn Sie es versuchen möchten, lassen Sie uns wissen, ob es funktioniert hat!
quelle