3

scipy で線形代数モジュールを使用してエルミート行列の行列対数を計算すると、出力される行列はエルミートではありません。まず、次を使用してベクトルを定義します。

n = np.random.uniform(size = 3) + 1j*np.random.uniform(size = 3)

次に、それぞれのエルミート行列を定義します。

N = np.outer(n,n.conj())

ただし、エルミート行列linalg.logm(N)は返しません。なぜこうなった?

4

1 に答える 1

2

乱数行列の固有値は 1 つを除いてすべてゼロです。行列の関数は行列の固有値の関数として記述できるため、log(0) が定義されていないため、対数に問題がある理由がわかりました。関数はこの問題を認識せず、ガベージを返すだけかもしれません。

ランダムなエルミート行列にゼロ以外の固有値があることを確認するだけでよいと思います。

于 2013-04-13T16:27:53.690 に答える