RowReduce

RowReduce[m]

行列 m に掃出し法を適用した形を示す.

詳細とオプション

  • RowReduceはガウスの消去を行う.これは複数の行を加算しながら可能な場合にゼロの要素を作成する.最終的な行列は掃き出した行を梯列形式で表す.
  • m が非退化正方行列である場合,RowReduce[m]IdentityMatrix[Length[m]]である. »
  • m 行と より多くの列を持った非退化矩形行列である場合,RowReduce[m]の先頭の 列は単位行列を作る. »
  • RowReduceは,数値的および記号的行列に対して機能する.
  • 次のオプションを与えることができる.
  • MethodAutomatic使用するアルゴリズム
    Modulus 0使用すべき法とする整数
    Tolerance Automatic使用する数値許容度
    ZeroTest Automatic行列の要素をゼロとみなすかどうかを判別する関数
  • RowReduce[m,Modulus->n]は,素数 n を法とする掃出し法を実行する. »
  • RowReduce[m,ZeroTest->test]は,行列要素がゼロであるかどうかを判定するために test[m[[i,j]]]を評価する.
  • Methodオプションの取り得る値は,"CofactorExpansion""DivisionFreeRowReduction""OneStepRowReduction"である.デフォルト設定のAutomaticの場合は,与えられた行列によってこれらのメソッドを使い分ける.

例題

すべて開くすべて閉じる

  (3)

正方行列に掃出し法を使う:

矩形行列に掃出し法を使う:

記号成分を持つ行列に掃出し法を使う:

スコープ  (13)

基本的な用法  (8)

機械精度実数行列に掃出し法を使う:

機械精度の複素数行列に掃出し法を使う:

任意精度行列に掃出し法を使う:

厳密行列に掃出し法を使う:

記号行列に掃出し法を使う:

RowReduceはすべてのシンボルが独立であると仮定する:

矩形行列に掃出し法を使う:

大きい数値行列の掃出し法は効率的に計算される:

有限体の元を含む行列の行を削減する:

特殊行列  (5)

疎な行列に掃出し法を使う:

構造化行列に掃出し法を使う:

RowReduceは恒等行列は変えない:

ヒルベルト(Hilbert)行列に掃出し法を使う:

次数の一変量多項式の行列に掃出し法を使う:

オプション  (3)

Modulus  (1)

m は0から4までの整数の3×3行列である:

通常の演算を使った m の掃出し法:

5を法とした演算での m の掃出し法:

Tolerance  (1)

m は悪条件が含まれる行列である:

厳密演算では,m は明らかに非退化である:

機械演算でのデフォルトでは小さすぎる数はゼロと考えられる:

許容度をゼロと設定すると小さい項も考慮される:

拡張係数行列では,可能な解がどのように増幅されたかを見ることができる:

ZeroTest  (1)

デフォルトで,記号式は非零であるとみなされる:

この場合は,特異行列を生成する特殊なケース RowReduceには欠けている:

式が0になるかどうかを判定する関数を書く:

test[k]ZeroTestの値として渡してより記号的な削減を得る:

以下は における特殊ケースを捉えるが, の他の値に対しては削減されていない行列を与える:

アプリケーション  (13)

スパンと線形独立  (5)

次の3つのベクトルは線形独立ではない:

掃出し法を適用した形には0の行がある:

次の3つの独立は線形独立である:

したがって,掃出し法を適用した形は恒等行列である:

次のベクトルが線形独立かどうかを判定する:

は恒等行列には削減されないので,線形独立ではない:

次の行列の列空間の次元を求める:

掃出し法を適用した形は恒等行列なので,列空間の次元は列数に等しい:

次のベクトルでスパンされた部分空間の次元を求める:

掃出し法を適用した形には3つの非零の行があるのでこれが部分空間の次元である:

方程式の解法と可逆性  (8)

次の方程式系が一意解を持つかどうかを判定する:

系を行列形式に書き直す:

係数行列 に掃出し法を適用すると恒等行列になるので,この系は一意解を持つ:

Solveを使って結果を確かめる:

を解く.ただし, は行列で はベクトルである.掃出し法を使う:

拡張係数行列 を作る:

拡張係数行列に掃出し法を行う:

最終列が の解である:

別の右辺について同じことを行う:

最終列に先行する1があるので,の解はない.Solveを使って確認する:

次の方程式系のすべての解を求める:

まず,係数行列 ,変数ベクトル ,定数ベクトル を書く:

書き換えたものを確認する:

拡張行列 に掃出し法を適用して一つの解を求める:

一つの解を形成する最終列を抽出する:

0の行があるので,零空間は非空である.拡張行列 に掃出し法を使う:

最終行の後ろ半分は零空間の要素である:

一般解はの任意の倍数の和である:

次の行列が逆行列を持つかどうかを判定する:

削減しても恒等行列にはならないので,この行列は可逆ではない:

Inverseを使って結果を確かめる:

次の行列が非零の行列式を持つかどうかを判定する:

削減すると恒等行列になるので,行列式は非零でなくてはならない:

Detを使って結果を確認する:

を削減しても恒等行列にならないなら の固有値である.掃出し法を適用した形における0の行の数よりも大きい多重度を持つ固有値を持つならその行列は不完全行列である.が次の行列 の固有値であることを示す:

Eigenvaluesを使って結果を確認する:

2が2回現れるのに掃出し法を適用した形には0の行が1つしかないので,行列 は不完全である:

Eigensystemで結果を確かめると固有ベクトルのリストが0で充填されていることで不完全性が示される:

次の行列の逆行列を掃出し法を使って求める:

拡張行列 を形成する:

拡張行列に掃出し法を適用する:

の最初の3つの列は恒等行列である:

最後の3つの列は の逆行列である:

Inverseを使って結果を確かめる:

ランダムな10×10 01の可逆行列の割合を推定する:

特性と関係  (8)

RowReduceは,入力精度にかかわらず,先頭の0を厳密な整数として返す:

RowReduce[m]IdentityMatrix[Length[m]]のときかつそのときに限って正方行列 m は可逆である:

実際.逆行列は拡張行列の形式を m と単位行列で反転することで求められる:

正方行列では,Det[m]!=0のときかつそのときに限って m に掃出し法を使うと恒等行列になる:

正方行列では,零空間が空のときかつそのときに限って m に掃出し法を使うと恒等行列になる:

正方行列では,LinearSolve[m,b]が一般的な b についての解を持つときかつそのときに限って m に掃出し法を使うと恒等行列になる:

RowReduce[m]の最初の 列が恒等行列を形成するときかつそのときに限って である 行列 の階数は になる:

掃出し法を適用した行列を形成する:

MatrixRank[m]RowReduce[m]における非零の列の数に等しい:

平方行列 m の零空間はRowReduceを使って計算できる:

恒等行列で拡張された行列に掃出し法を使う:

行の拡張された半分に先頭の1があれば,その半分は零空間にある:

NullSpaceを使って零ベクトルを得る:

たとえベクトルは等しくなくても,どちらも同じ空間の基底である:

Wolfram Research (1988), RowReduce, Wolfram言語関数, https://reference.wolfram.com/language/ref/RowReduce.html (2024年に更新).

テキスト

Wolfram Research (1988), RowReduce, Wolfram言語関数, https://reference.wolfram.com/language/ref/RowReduce.html (2024年に更新).

CMS

Wolfram Language. 1988. "RowReduce." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/RowReduce.html.

APA

Wolfram Language. (1988). RowReduce. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RowReduce.html

BibTeX

@misc{reference.wolfram_2024_rowreduce, author="Wolfram Research", title="{RowReduce}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/RowReduce.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_rowreduce, organization={Wolfram Research}, title={RowReduce}, year={2024}, url={https://reference.wolfram.com/language/ref/RowReduce.html}, note=[Accessed: 21-November-2024 ]}