行列の平方根(X^2 =AとなるX)をPython+SciPy(linalg.sqrtm)で計算。
ある行列Aがあって、A=X^2となるようなX,つまり行列の平方根の計算が必要となって調べてみた。
英語版のWikipediaに結構詳しく書いてある。
単純に成分の平方根を取ったらいいとかそんな簡単じゃなくて、
無限にあったり複数あったりなかったり、半正定値なら決まるとか、かなり面倒。
こういうのは既存のライブラリを使う方が簡単、ということでまずはmatlab。
sqrtmというのを使うようだ。
さらに同じsqrtmがSciPyでも使える。
どちらも同じアルゴリズム”Blocked Schur algorithms”を使っている。
こちらに説明があります。
ということで早速Pythonで計算してみよう。説明資料とmatlabの例を計算してみた。
scipy.linalg.sqrtmを使ってこんな感じで計算できる。
« Python+SymPy(ブロック行列)で2*NポートのSパラメータをTパラメータに変換(2) 4ポートの場合 | トップページ | Excel VBAで複素N×N行列(動的配列でNを決める)のさらに動的配列を作る方法(NポートSパラメータの周波数特性みたいな) »
「学問・資格」カテゴリの記事
- 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース2021年2月16日 IEEE Microwave Magazineの特集はオールデジタルのRFID、Microwave JournalはEバンド ミリ波通信に衛星や気球を使う話、アメリカの半導体企業がバイデンに投資を迫る、(2021.02.17)
- カオスを生じる電気回路、Chua’s circuitをLTspiceで回路シミュレーションしてみる。(2021.02.19)
- Labyrinth Chaos(迷宮カオス)を生むThomas-Rössler方程式のパラメータbを色々変えて、Python+Scipyでルンゲクッタ8次のDOP853(Dormand&Prince)を使って計算してGIFアニメ(2021.02.16)
- フィッツヒュー・南雲 (FitzHugh-Nagumo) 方程式をPython+Scipyでルンゲクッタ8次のDOP853(Dormand Prince)で計算。(2021.02.23)
- 「水晶振動子の等価回路計算」をカシオの高精度計算サイトkeisan.casio.jpの自作式としてUP! インピーダンスの大きさと位相がグラフ化できる。(2021.02.12)
「日記・コラム・つぶやき」カテゴリの記事
- ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その5)ワンライナーでラマヌジャンの円周率公式を使って計算する。n=2で収束した。(2021.03.01)
- mRNAワクチンやCRISPR cas9のことが全然わからんので昔買ったブルーバックスの「アメリカ版 大学生物学の教科書」を3巻まで読む、、、と思ったら11年ぶりに完全改訂されたものが出てた!(2021.03.02)
- 新型コロナウイルス、中国、日本、韓国、アメリカ、ドイツ、フランス、イギリスでの感染者数を指数関数&ロジスティック関数&Log-Logプロットでべき関数フィッティングした(2/28更新)さすがにどの国も伸びは鈍ったか。(2021.03.01)
« Python+SymPy(ブロック行列)で2*NポートのSパラメータをTパラメータに変換(2) 4ポートの場合 | トップページ | Excel VBAで複素N×N行列(動的配列でNを決める)のさらに動的配列を作る方法(NポートSパラメータの周波数特性みたいな) »
コメント