零空間計算機 - 行列の核と基底ベクトル

ガウス・ジョルダン消去を使って、4×4 までの任意の行列の零空間(核)を求め、基底ベクトル・階数・零化度を計算します。

行列のサイズを選び、成分を入力して計算を押すと、零空間のすべての基底ベクトルと行列の階数を求められます。

零空間計算機 - 行列の核と基底ベクトル
ガウス・ジョルダン消去を使って、4×4 までの任意の行列の零空間(核)を求め、基底ベクトル・階数・零化度を計算します。

零空間計算機について

行列 A の零空間(A の核とも呼ばれます)は、同次方程式 Ax = 0 を満たすすべてのベクトル x の集合です。幾何学的には、線形変換 A が零ベクトルに写すすべてのベクトルの集合です。零空間は常に定義域の部分空間で、その次元を行列の零化度と呼びます。 階数・零化度定理は線形代数の中心的な結果の一つです。m × n 行列 A について、rank(A) + nullity(A) = n が成り立ちます。これは、階数と零化度の和が常に列数に等しいことを意味します。完全列階数の行列(rank = n)は、自明な零空間、つまり零ベクトルだけを含む零空間を持ちます。rank が n より小さいと、零空間は正の次元 n − rank を持ち、Ax = 0 を満たすベクトルは無限に存在します。 零空間を計算するために、この計算機はガウス・ジョルダン消去で A を簡約行階段形(RREF)にします。RREF では、各非零行に先頭の 1(pivot)があり、その列の他の要素はすべて 0 です。pivot を含む列は基本変数、残りの列は自由変数に対応します。各自由変数について、それを 1、他の自由変数を 0 に置き、基本変数を逆代入して求めると、零空間の基底ベクトルが 1 つ得られます。 零空間は、応用数学や工学で重要な役割を持ちます。連立一次方程式では、零空間は解の非一意性を表します。Ax = b に 1 つの解 x₀ があるなら、一般解は x₀ に零空間の任意の要素を加えたものです。制御理論では、可制御性行列の零空間が不可制御モードを示します。信号処理では、計測行列の零空間が、センサー配列から見えない信号を特定します。化学では、化学量論行列の零空間が反応ネットワークの保存則を与えます。 数値安定性のため、この計算機はガウス消去中に部分ピボット選択を行い、絶対値が 1e-10 未満の値を 0 とみなします。これにより、授業や工学の問題でよく現れる整数・有理数の行列に対しても堅牢に動作します。整数、少数、小数で表した分数など、どんな数でも入力でき、計算機は直ちに階数、零化度、そして完全な零空間の基底ベクトルを返します。

零空間の例

異なる行列の形と零空間の次元を示す 4 つの例です。

行列零空間の基底説明
2×3: [[1,2,3],[4,5,6]]v1 = [1, −2, 1]階数 2、零化度 1。自由変数が 1 つあるので、基底ベクトルも 1 つです。確認:1·1 + 2·(−2) + 3·1 = 0、かつ 4·1 + 5·(−2) + 6·1 = 0。
3×3 Identity [[1,0,0],[0,1,0],[0,0,1]]自明(零ベクトルのみ)完全階数の行列:rank = 3、nullity = 0。Ix = 0 の唯一解は x = 0 です。
3×3 rank-deficient: [[1,2,3],[2,4,6],[1,1,2]]v1 = [−1, −1, 1]階数 2、零化度 1。第 1 行と第 2 行は一次従属(第 2 行 = 2×第 1 行)です。RREF では pivot 列が 0 と 1、自由列が 2 となり、逆代入で v = [−1, −1, 1] が得られます。
2×2 zero matrix [[0,0],[0,0]]v1 = [1,0], v2 = [0,1]階数 0、零化度 2。すべてのベクトルが Ax = 0 を満たすので、R² 全体が零空間で、標準基底がそのまま零空間の基底です。

零空間計算機の使い方

  1. サイズボタンで行列の次元(行 × 列)を選びます。2×2 から 4×4 まで、2×3 や 3×4 のような非正方行列も選べます。
  2. グリッドに行列の成分を入力します。各セルには小数や負の数を含む任意の実数を入力できます。空欄はエラーになります。
  3. 零空間を計算をクリックします。結果として、階数、零化度、そして零空間のすべての基底ベクトルが表示されます。
  4. 例の読み込みボタンで、典型的な例を事前入力できます。1 次元の零空間を持つ 2×3 行列や、階数欠損の 3×3 行列です。
  5. リセットをクリックすると現在の行列サイズを保ったまますべてのセルを消去できます。別のサイズに切り替えて最初からやり直すこともできます。

零空間計算機 FAQ

行列の零空間とは何ですか?
行列 A の零空間は、Ax が零ベクトルになるすべてのベクトル x の集合です。これは、線形変換 A によって入力空間のどの方向が 0 に潰されるかを表します。零空間は常に部分空間であり、零ベクトルを含み、加法とスカラー倍に閉じています。その次元である零化度は、変換の過程で A がどれだけ情報を失うかを表します。
ガウス・ジョルダン消去でどのように零空間を求めますか?
このアルゴリズムは行操作によって A を簡約行階段形(RREF)に変換します。RREF では pivot 列と自由列を簡単に見分けられます。各自由変数(pivot でない列)について、その変数を 1、他を 0 にしてから pivot 変数を解くと、零空間の基底ベクトルが 1 つ得られます。こうしたベクトル全体の張る空間が零空間です。
零空間が自明だとどういう意味ですか?
自明な零空間は零ベクトルだけを含みます。これは通常、行列が完全列階数で、すべての列が pivot 列であり自由変数がないときに起こります。方程式 Ax = 0 に対する解は x = 0 のみです。正方行列で零空間が自明なら、その行列は可逆です。非正方行列で零空間が自明なら、任意の b に対して Ax = b は高々 1 つの解しか持ちません。
階数・零化度定理とは何ですか?
階数・零化度定理は、m × n 行列 A について rank(A) + nullity(A) = n、ただし n は列数であると述べます。階数は列空間の次元(一次独立な列の数)、零化度は零空間の次元です。両者は補完関係にあり、階数が増えると零化度は減り、その逆も成り立ちます。この定理は線形写像や連立方程式を理解するうえで基本です。
非正方行列にも零空間はありますか?
はい。行列の列数が階数を上回るなら、非自明な零空間が必ず存在します。列数が行数より多い横長行列(m < n)では、階数は最大でも m なので、零化度 ≥ n − m > 0 となり、非自明な零空間が保証されます。行数が列数より多い縦長行列でも、列が一次独立なら自明な零空間を持つことがあります。
なぜ基底ベクトルに小数が出ることがあるのですか?
行列に整数でない成分がある場合や、逆代入で分数が生じる場合、零空間の基底ベクトルには小数成分が現れます。これは数学的に正しいことです。零空間は整数ではなく実数上で定義されます。基底ベクトルは非零定数倍しても同じく有効なので、整数の形がよければ分母の最小公倍数を掛ければよいです。