Mam problem z budowaniem zespołu POE w Julii. Postępuję zgodnie z this papieru i częścią tego innego paper.Jak zbudować zespół POE w Julii
W Julia obliczyć:
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))
gdzie dim
jest wymiarem macierzy i irealiz
tylko i indeks całkowitej liczby realizacji.
Interesują mnie fazy Q, ponieważ chcę, aby Q było macierzą ortogonalną z odpowiednią miarą Haara. Jeśli dim=50
i całkowita liczba realizacji wynosi 100000
, a skoro poprawiam Q, powinienem oczekiwać płaskiego rozkładu phases_ens
. Jednak otrzymuję płaską dystrybucję z wyjątkiem piku przy zera iw pi. Czy coś jest nie tak z kodem?
prostu ciekawy, można powiedzieć nam, co jest pożądane „płaski” rozkład? Masz na myśli, że powinien on być płaski (-pi, pi] bez żadnych "pików" przy 0 i pi? – roygvib
Tak, jest pomiędzy -pi a pi. Patrząc na macierz Q, nie znajduję żadnego preferowanego "kierunku" w colach: Q. Wiem, że na przykład, kiedy diagonalizujesz numerowaną macierz hermitowską numerycznie, jej wektory własne są zazwyczaj ustalone tak, że pierwszy wpis każdego z nich jest prawdziwy, ale tutaj, w przypadku ortogonalnym, nie mogę zobacz, i jak wyeliminować, preferowany wybór: – user2820579
Próbowałem również pobrać matrycę ortogonalną z matrycy wektorów własnych, która diagonalizuje GOE, one również cierpią z powodu tej samej wady – user2820579