綴る数学の旅の中で固有値を求める関数eivals()を使うとエラーが発生する場合がある、という話を書きました。debugmode(true);このようにエラーが発生します。これは明らかにmaximaのバグです。なんでこんなエラーが発生するのでしょうか。細かい理由を調べる前に、まずこの行列の特性方程式を求めて、そいつを因数分解してみます。$$このように因数分解出来ました。solve()を使って解くと以下のように表示されます。$$5次の因数の部分が解けなくて、その部分だけ方程式がそのまま解のリストに入っています。これは、、、いかにもダメっぽそうです。eigen.macのコードを調べるとこの部分の処理が間違っていることがわかり、そこを修正しました。修正版のeigen.macを読み込みます。load("eigen.mac")$修正版のeivals()を使って固有値を求めてみます。1についてはその重複度まで正しく返しています。5次の因数は解けずそこに対応する固有値は求まっていないので、そのことをメッセージとして表示しています。この修正コードはMaxima本家のgitレポジトリにコミットしましたので、5.36.1以降のリリース(おそらく5.37.0)に含まれることになります。2.8のMaximaは5.36.1をインテグレーションしてありますが、上記の修正は取り込んで対応済みです。使って、数学を楽しみましょう。Androidのサポート」などの記事を書いていきます。test.天気はてなブログをはじめよう!jurupapaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。