行列演算・固有値計算機 戻る
数理・統計

行列演算・固有値計算機

2×2〜4×4行列の演算・行列式・逆行列・固有値・固有ベクトル・連立方程式をブラウザ上で即時計算。剛性行列やモーダル解析への応用も解説。

入力設定
行列サイズ
行列 A
行列 B(加減乗算用)
演算
プリセット
計算結果
det(A)
ランク
トレース
フロベニウスノルム
「計算」ボタンを押すと結果が表示されます。
理論・主要公式

固有値問題:$\det(A - \lambda I) = 0$ → 特性多項式の根が固有値

$$A\vec{v}= \lambda\vec{v}$$

逆行列(余因子展開):$A^{-1}= \dfrac{1}{\det(A)}\cdot \mathrm{adj}(A)$

LU分解:$A = LU$ → $Ly = b$(前進代入)、$Ux = y$(後退代入)

トレース = 固有値の和:$\mathrm{tr}(A) = \sum_i \lambda_i$

行列演算・固有値計算機とは

🙋
「固有値」って何ですか? 教科書で $A\vec{v}= \lambda\vec{v}$ って式を見たけど、CAEでどう使うんですか?
🎓
大まかに言うと、行列を「特別な方向」にかけた時に、ベクトルが伸び縮みするだけになる、その伸び縮み率が固有値だよ。CAEでは、例えば自動車のボディの「固有振動数」を求めるときに使うんだ。上のツールで「固有値・固有ベクトル」を選んで、適当な2x2行列を入力して「計算」ボタンを押して確認してみて。λとvが計算されるよ。
🙋
え、そうなんですか! じゃあ、このツールで「剛性行列」みたいなものも作って固有値を計算できるということ?
🎓
その通り! 実務では「質量行列M」も加わった $(K - \lambda M)\vec{v}=0$ という一般化固有値問題を解くことが多いんだ。まずは基本として、ツールの「行列サイズ」を3x3に変えて、対角成分に大きな数(例えば10)、非対角成分に小さな数(例えば1)を入れてみて。これは簡易的な「剛性行列」みたいなものだね。その固有値を計算すると、値の大小が「剛性の高さ」に対応するのがわかるよ。
🙋
なるほど! 逆行列が「存在しない」ってエラーが出たんですが、これもCAEに関係あるんですか?
🎓
大いに関係あるよ! 逆行列が存在しない(行列式が0)行列を「特異行列」って呼ぶんだ。FEMで構造解析する時、物体が宙に浮いたまま(拘束されてない)だと、剛性行列が特異になって解けない。ツールで「行列式」を計算してみて、0になるような行列を作ると、逆行列が計算できないことを確認できる。CAEソフトで「剛体運動モードが存在します」ってエラーが出るのは、まさにこの状態だね。

よくある質問

一般化固有値問題(K−ω²M)φ=0の形であれば直接使えます。本ツールは標準固有値問題Aφ=λφを解くため、剛性行列Kと質量行列Mから(K−λM)φ=0を解くには、M⁻¹Kの固有値を計算するなどの変換が必要です。結果の解釈には注意してください。
本ツールは2×2〜4×4の正方行列に限定されています。5×5以上の行列を扱う場合は、MATLAB、PythonのNumPy/SciPy、または専用のCAEソフトウェア(ANSYS、Abaqusなど)をご利用ください。
はい、非対称行列では複素固有値が現れます。構造力学では、減衰のある系や回転体の振動解析で複素固有値が生じ、虚部が振動数、実部が減衰率に対応します。本ツールは実数行列の実固有値のみを表示します。
行列式が0(特異行列)の場合、解は存在しないか無数に存在します。本ツールは警告を表示します。その場合は、入力値を見直すか、物理的に拘束条件が不足していないか確認してください。構造解析では境界条件の追加が有効です。

実世界での応用

モーダル解析(振動解析):自動車の車体や航空機の翼などの固有振動数と振動モード形状を求め、共振を避ける設計に利用されます。ツールで計算する固有値が振動数、固有ベクトルが変形の形に相当します。

主応力の計算:材料内の一点における応力状態は3x3の対称テンソル(行列)で表されます。この行列の固有値が主応力、固有ベクトルが主応力方向となり、材料の強度評価の基礎となります。

座屈解析:細長い柱が押しつぶされる前に横にたわむ現象(座屈)の荷重を予測します。幾何学的剛性行列の固有値問題として定式化され、最小の正の固有値が座屈荷重となります。

連立方程式の求解(FEMの静解析):有限要素法では、構造物全体の平衡式は $K u = F$ という大規模な連立一次方程式になります。ツールの「連立方程式を解く」機能は、この核心部分を小規模で体験できます。

よくある誤解と注意点

まず、固有値は必ずしも「振動数」そのものではない点に注意だよ。一般化固有値問題 $$(K - \omega^2 M)\vec{\phi}= 0$$ で求まるのは $\omega^2$(角振動数の二乗)だ。ツールで出てくるλはこの$\omega^2$に相当するから、実際の振動数fを求めるには $f = \sqrt{\lambda} / (2\pi)$ と計算する必要がある。例えばλ=100なら、f≒1.59 Hzになるね。

次に、行列成分の入力スケール。非対角成分が対角成分に比べて極端に大きい(または小さい)値を入れると、数値計算的に不安定になって、ツールが正確な固有値を出せないことがある。実務のFEMソフトでもメッシュや材料定数の設定が悪いと、似たような数値エラーが起こるんだ。試しに、対角成分が1なのに非対角成分が1000の行列を作って計算してみると、結果がおかしくなるかも。

あと、「固有ベクトルは大きさが1」と思い込んでいない? 固有ベクトル$\vec{v}$は方向だけが意味を持つから、通常は長さを1に正規化して表示する。でも本質は「向き」だ。CAEでモード形状を見るときも、変形の「相対的な形」に注目する。ツールで出てくるベクトルの各成分の比率をチェックしてみよう。