Ich weiß, das ist mehr eine Frage der Komplexitätstheorie als eine Programmierfrage, hoffe, ich mache nicht das Falsche, hier zu schreiben, entschuldige mich, wenn es der falsche Ort ist, aber ich hoffe, jemand von euch hat die Antwort. Und es ist sogar irgendwie Programm-bezogen, indem es eine Frage der Komplexitätstheorie ist.Companion Matrix Komplexität
Ich studiere linear wiederkehrende Sequenzen, und ich lese, dass, um den n-ten Wert der Sequenz zu erhalten, die Sie benötigen, um eine Leistung einer Companion-Matrix zu bekommen, fragte ich mich, ob es bekannt ist Algorithmus, um Kräfte dieser Art Matrix auf eine schnelle Art und Weise zu bekommen ..
ich kann nicht Beispiel geben Codierung, aber ich werde versuchen, Ihnen etwas mehr Erklärung zu bekommen:
homogene lineare wiederkehrende Folge von k-ten Auftrag:
s (n + k) = a (k-1) s (n + k-1) + a (k-2) s (n + k-2) + ... + a (0)
für n = 0,1, .. wobei s (i) der i-te Wert der Sequenz ist e und die a (i) sind Koeffizienten in einem algebraischen Feld.
A die Begleitmatrix der obigen Sequenz, wenn es:
(0 0 0 0 0 ... a (0))
(1 0 0 0 0 ... a (1))
(0 1 0 0 ... 0 a (2))
(.. .. .. .. .. .. .. .. ..)
(0 0 0 0 ... 1 a (k -1))
Außerdem Theorie besagt, dass für die Zustandsvektoren der Folge haben wir:
s (n) = s (0) A^n für n = 0,1, ..
das ist es, vielen dank für die Hilfe.
Es ist nicht immer diagonalizable, nur dann, wenn die Wurzeln der charakteristischen polynoials verschieden sind, trotzdem ok, es ist gut, aber ich frage mich, ob es eine Möglichkeit, die Struktur der Matrix, ty auszubeuten waren – luiss