Ich habe Schwierigkeiten beim Aufbau des POE-Ensembles in Julia. Ich folge this Papier und Teil dieser anderen paper.Wie man das POE-Ensemble in Julia baut
In julia, I berechnen:
X = randn(dim, dim)
Q, R = qr(X)
Q = Q*diagm(sign(diag(R)))
ij = (irealiz-1)*dim
phases_ens[1+ij:ij+dim] = angle(eigvals(Q))
dim
wo die Matrix Abmessungen und ist nur irealiz
und Index für die Gesamtzahl der Realisierungen.
Ich interessiere mich für die Phasen von Q, da ich möchte, dass Q eine orthogonale Matrix mit dem entsprechenden Haar-Maß ist. Wenn dim=50
und die Gesamtzahl der Realisierung ist 100000
, und da ich Q korrigiere, sollte ich eine flache phases_ens
Verteilung erwarten. Ich bekomme jedoch eine flache Verteilung mit Ausnahme einer Spitze bei Null und bei Pi. Stimmt etwas nicht mit dem Code?
Einfach nur neugierig, könnten Sie uns sagen, was die „flat“ Verteilung gewünscht ist? Sie meinen, es sollte flach sein über (-pi, pi) ohne irgendwelche "Spitzen" bei 0 und pi? – roygvib
Ja, es ist zwischen -pi und pi. Betrachtet man die Matrix Q, finde ich keine bevorzugte "Richtung" in den Spalten von Q. Ich weiß, dass zum Beispiel, wenn Sie eine comple hermitian Matrix numerisch diagonalisieren, ihre Eigenvektoren normalerweise so festgelegt sind, dass der erste Eintrag von jedem von ihnen reell ist, aber hier, im orthogonalen Fall, kann ich nicht sehen und wie man die bevorzugte Wahl eliminiert – user2820579
Ich habe auch versucht, die orthogonale Matrix aus der Eigenvektormatrix zu nehmen, die einen GOE diagonalisiert, sie leiden auch unter dem gleichen Fehler – user2820579