2012-03-31 13 views
0

Ich habe eine nicht-negative Matrix p, die Elemente hat, die Summe 1 in jeder Zeile.Wie bestimmt man einen Vektor, dessen Summe gleich Null ist?

Wie kann ich einen nicht-negativen Vektor x finden, die es Summe hat gleich 1 ist, wie zum Beispiel:
(i -t (p)) * x = 0?
(wobei i Diagonalmatrix und T ( p) ist, ist die transponierte Matrix)

+1

Das klingt für mich eher nach einem Problem in der Matrixalgebra als nach der Programmierung. Vielleicht versuchen Sie, hier zu fragen: http://stats.stackexchange.com/questions Ich bin mir auch nicht sicher, ob Sie die Summe des Vektors 0, aus dem Titel oder 1, aus dem Körper des Beitrags wollen. –

+2

http://math.stackexchange.com/ würde auch funktionieren. (Sie suchen nach einem Eigenvektor von 't (p)' entsprechend dem Eigenwert 1, btw) – huon

+0

Ich stelle diese Frage, weil ich eine Übung in R relativ dazu habe – lyhung009

Antwort

0

?? Eigenvektor schlägt 'base :: eigen'. ? Eigen schlägt auch 'svd' vor.

svd gibt Ihnen, was Sie wollen, wird aber nicht richtig skaliert.

"Summe gleich 1" ist nur eine Skala. Typischerweise werden Eigenvektoren so skaliert, dass sie stattdessen eine Länge von 1 haben.

Edited:

Sie suchen nach einem bestimmten Vektor mit Summe von 1. Darf nicht nur jeden Vektor. Sie möchten einen Vektor, der ein Eigenvektor mit dem Eigenwert von 1 ist.

Sobald Sie einen solchen (ungleich Null) Vektor x haben, wird jedes Vielfache von x auch ein Eigenvektor sein. Insbesondere hat der Vektor x/sum (x) Elemente, die zu 1 summieren.

+0

Sorry, die Frage ist: Wie bestimmt man einen Vektor, dessen Summe gleich eins ist? – lyhung009

+1

'sum (yourvector) == 1' –

+0

Oh Lundberg, vielen Dank! – lyhung009

Verwandte Themen