Tips(Python3)
Python で10進数とn進数の変換
int型の変数をn進数表示する必要があったので,その時いろいろ調べたメモです.関数の形で使えるようになっています.
Python で文字列の一文字だけを変換
Numpy で行列を対角化する際の精度
要点だけまとめると,
- ユーザーが numpy.linalg.eig の精度を調整するのは難しそう
- 自分の問題の場合は「行列サイズが大きいくても,扱っている行列がエルミート行列なら,eig でなく eigh を使えば精度良く求まるよ」ということで解決できた
となります.
np.linalg.eig を使った際の精度の問題点
行列の対角化を使っていろんなことをやっている最中に遭遇した問題だが,行列の大きさが16X16ぐらいになったときに numpy.linalg.eig で対角化した際に,固有値と固有ベクトルの精度が悪くなるのが確認された.
解決策の模索
何とか解決しようと,numpy.lialg.eig がどのような仕組みで対角化していて誤差が生じたのか原因を特定しようと思った.
Python の Tips(1)
偉そうに”Tips”とか書いていますが,ただ自分がつまづいたところのメモ.ブログってそんなもんじゃないの…