SmithDecomposition

SmithDecomposition[m]

整数行列 m のスミス(Smith)正規形分解を与える.

詳細

  • 結果は{u,r,v}の形式で与えられる.uv はユニモジュラ行列で,r は各対角項目が次の項目を分割する対角行列であり,u.m.vr である.
  • ユニモジュラ行列 uvAbs[Det[u]]1の整数行列であり,その逆行列もまた整数行列である.

例題

すべて開くすべて閉じる

  (1)

m をユニモジュラ行列の uv および対角行列 r に分解する:

uv の行列式の絶対値は1である:

r の対角上の各項目が続く項目を分割する:

分解を確認する:

スコープ  (12)

基本的な用法  (8)

整数の正方行列のスミス分解を求める:

結果をフォーマットする:

特異行列のスミス分解:

r i中の非零の行の数は m の階数と一致する:

矩形行列のスミス分解:

正方行列 uvm を対角矩形形式にする:

SmithDecompositionを有理行列に使う:

ガウス整数行列のスミス分解:

ガウス有理行列のスミス分解:

スミス分解は有理行列にしか使えない:

大きい整数行列のスミス分解は効率的に計算される:

特殊行列  (4)

疎な行列のスミス分解を求める:

構造化行列のスミス分解:

IdentityMatrixのスミス分解は3つの恒等行列からなる:

HilbertMatrixのスミス分解:

アプリケーション  (4)

スミス分解を使って整数上で線形方程式を解くことができる. が下記の通りの について考える:

m=(TemplateBox[{u}, Inverse].r.TemplateBox[{v}, Inverse])なので,方程式 m.x=(TemplateBox[{u}, Inverse].r.TemplateBox[{v}, Inverse]).x=bx=v.TemplateBox[{r}, Inverse].u.b を暗示する:

Solveからの解と比較する:

可逆な について,上記の過程が結果を整数で与えるときかつそのときに限り解が存在する:

スミス分解は有限生成アーベル群の正準表現を与える.の関係を法とする整数2ベクトルの商群について考える.つまり,ベクトル の整数倍だけ異なる場合は平面上の2点を等しいとみなすことになる.行が である行列 のスミス分解を計算する:

から,群の構造がは自明群なのでより簡潔にはであることが分かる:

したがって,平面上のどの点も9つの点の一つと等しい.点 について考える.の正準表現を求めるために を右側に使って対角基底に回転させ, の対角成分について法を計算する:

は点 に等しいので,同じ正準表現に写像されるべきであり,実際にそうなる:

したがって,平面内のすべての整数点は正準表現に簡約できる.反対に,行列 TemplateBox[{v}, Inverse]は標準基底の開始基底への写像と見ることができる.によって生成された格子は単に原点に等しいすべての点の集合なので,格子を TemplateBox[{v}, Inverse]回転させると によって生成されたのと同じ格子が生成される:

SmithDecompositionを使って2つの整数 の拡張GCDを計算する:

を項目 の列行列であるとする:

スミス分解は を与える. はユニモジュラ行列である一意的な正のである:

したがって,First[u].mFirst[r]である:

しかしf の第1行が で方程式の左辺が なので,前述の方程式はBézoutの恒等式である.これは,拡張最大公約数が以下であることを示している:

ExtendedGCDと比較する:

SmithDecompositionを使って2つの行列 の右の拡張GCDを計算する:

および の行から形成された 行列であるとする:

スミス分解中の行列 は行列になる:

の左上と右上の部分だとする:

行列 と行列 r.TemplateBox[{v}, Inverse]は, のように,行列である:

r.TemplateBox[{v}, Inverse]の上半分を指すとする:

行列 m_a=a.TemplateBox[{g}, Inverse]と行列 m_b=b.TemplateBox[{g}, Inverse]は整数項を持つ:

したがって, 両方の右因子である:

の行列式は gcd(TemplateBox[{a}, Det],TemplateBox[{b}, Det])=TemplateBox[{g}, Det]に従うので, は実際のところ右GCDである:

さらに,スミス分解の最初の3行はBézoutの恒等式 を与える:

したがって,拡張右GCDは以下のようになる:

特性と関係  (9)

分解中の行列 は矩形 行列であり, の行数である:

分解中の行 は矩形 行列である. の列数である:

分解中の行列 は対角行列で, と同じ次元の矩形行列である:

行列 はそれぞれ大きさ1の行列式を持つ:

行列と 行列は,入力行列が整数行列か有理行列かに関係なく,常に整数値を持つ:

このことは,入力行列が複素行列のときは結果の実部と虚部にも拡大される:

の各対角項目がその後続項目を割る:

入力行列が整数行列なら 行列は整数値を持つ:

入力行列が非整数の有理要素を持つなら, 行列もそうなる:

実数値入力については, 行列の対角成分は非負である:

複素数値の入力については,成分の実部と虚部は非負である:

スミス分解はエルミート分解を2回反復した際にしばしば求まる:

HermiteDecompositionの初回使用は と上三角行列を与える:

HermiteDecompositionを三角行列のTransposeに適用すると が与えられる:

Wolfram Research (2015), SmithDecomposition, Wolfram言語関数, https://reference.wolfram.com/language/ref/SmithDecomposition.html.

テキスト

Wolfram Research (2015), SmithDecomposition, Wolfram言語関数, https://reference.wolfram.com/language/ref/SmithDecomposition.html.

CMS

Wolfram Language. 2015. "SmithDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SmithDecomposition.html.

APA

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

BibTeX

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

BibLaTeX

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