正方行列 m の一般化された逆行列
を求める.
DrazinInverse
正方行列 m の一般化された逆行列
を求める.
詳細とオプション
- 正方行列 m のDrazin逆行列は,m の不変部分空間に基づく一般化された逆行列である.
- Drazin逆行列は,Moore–Penrose逆行列が一般化された逆行列であるように,一般化された逆行列である.しかし,Drazin逆行列は不変部分空間を扱い,固有値問題,微分方程式および差分方程式の解等と関連しているのに対し, Moore–Penrose逆行列は最小二乗問題を扱い,フィッティング,特異値分解,近似等と関連がある.
- DrazinInverse[m]は
として計算することができる.ただし,{t,c,n}はCoreNilpotentDecomposition[m]によって返されたリストである. » - Drazin逆行列
は
と
の関係を満足する. » - 行列のベキ零指標
は零固有値に対応する最大ジョルダン(Jordan)ブロックのサイズとして定義される.Drazin逆行列
は関係
を満足する.ただし,
は m のベキ零指標である. » - 正則正方行列 m について,Drazin逆行列
は標準的な逆行列に等しい. - DrazinInverse[m]は,StandardFormとTraditionalFormでは
とフォーマットされる. »
例題
すべて開く すべて閉じる例 (3)
DrazinInverse[(| | | |
| - | - | - |
| 1 | 2 | 0 |
| 5 | 1 | 3 |
| 0 | 0 | 0 |)]//MatrixFormm = {{2, 0, 0}, {-1, 1 / 5, 1}, {-1 / 3, -1, -1}};(d = DrazinInverse[m])//MatrixFormd.m == m.dd.m.d == dm = {{-2, 5, 4, 4}, {3, -3, -3, -4}, {-4, 1, 2, 4}, {-2, 4, 5, 3}};(d = DrazinInverse[m])//MatrixFormDrazinInverseの定義を確認する:
{t, c, n} = CoreNilpotentDecomposition[m];a = PadRight[Inverse[c], Dimensions[m]];d === t.a.Inverse[t]スコープ (11)
基本的な用法 (7)
DrazinInverse[{{0.2, -0.32}, {0.1, -0.16}}]DrazinInverse[{{-4 + 6 I, 8 - 10 I, 2}, {-2 + 3 I, 4 - 5 I, 1}, {1, -1, 1}}]DrazinInverse[{{1, 2, -2}, {4, 5, -3}, {1, 5, -3}}]DrazinInverse[RandomReal[4, {2, 2}, WorkingPrecision -> 20]]DrazinInverse[{{a, a, 1}, {0, 0, 0}, {2, 3, -1}}]//Simplifymat = RandomReal[{0, 10}, {800, 800}];AbsoluteTiming[DrazinInverse[mat];]DrazinInverse[m]特殊行列 (4)
SparseArray[{{1, 3} -> 1, {2, 2} -> 2, {3, 1} -> 3}, {3, 3}]DrazinInverse[%]SymmetrizedArray[{{1, 1} -> 3, {2, 2} -> 1, {3, 1} -> -5}, {3, 3}, Symmetric[All]]DrazinInverse[%]IdentityMatrixはそれ自体のDrazin逆行列である:
DrazinInverse[IdentityMatrix[3]]DrazinInverse[HilbertMatrix[3]]アプリケーション (3)
a = (| | | |
| -- | - | -- |
| 1 | 0 | -2 |
| -1 | 0 | 2 |
| 2 | 3 | 2 |);b = (| | | |
| --- | --- | --- |
| 0 | 1 | 2 |
| -27 | -22 | -17 |
| 18 | 14 | 10 |);v = {-1, -8, 13};
と
はどちらも特異なので,この方程式は標準形
にはできない:
{Det[a], Det[b]}MatrixExp[-DrazinInverse[LinearSolve[a + b, a]].LinearSolve[a + b, b]t].v//SimplifyDSolveValueが与える結果と比較する:
DSolveValue[{a.y'[t] + b.y[t] == 0, y[0] == v}, y[t]∈Vectors[3], t]m = (| | | |
| -- | -- | -- |
| 4 | 2 | -2 |
| -8 | -3 | 1 |
| -6 | -2 | 0 |);Det[m]x[n_] = Simplify[MatrixPower[DrazinInverse[m], n + 1].m.{C[1], C[2], C[3]}, n > 0]m.x[n + 1] == x[n]//Simplifyg = [image];MatrixForm[rm = With[{n = VertexCount[g], km = Normal[KirchhoffMatrix[g]]}, Table[ReplacePart[Diagonal[DrazinInverse[ReplacePart[km, k -> UnitVector[n, k]]]], k -> 0], {k, n}]]]Total[rm, 2] / 2特性と関係 (8)
DrazinInverseは可逆行列についてはInverseと同じである:
m = {{2, 5}, {7, 18}};DrazinInverse[m]Inverse[m]DrazinInverse[m]は
と
の関係を満足する:
m = {{0, 1, 0}, {0, 1, 1}, {0, 0, 0}};(d = DrazinInverse[m])//MatrixFormd.m == m.dd.m.d == dPseudoInverseとは異なり,必ずしも
である訳ではない:
m.d.m == mムーア・ペンローズ(Moore–Penrose)方程式[詳細]を満足する必要もない:
{m.d == (m.d), d.m == (m.d)}DrazinInverseは,行列随伴のもとでは可逆である,すなわち
:
a = {{8, 7, 0}, {9, 9, 2}, {9, 4, 7}};
b = {{6, 7, 6}, {5, 8, 5}, {1, 6, 4}};DrazinInverse[a.b.Inverse[a]] == a.DrazinInverse[b].Inverse[a]DrazinInverseはCoreNilpotentDecompositionで計算できる:
m = {{-6, -3, -4, 2}, {0, -1, 0, 1}, {9, 6, 6, -2}, {0, 4, 0, 1}};{t, c, n} = CoreNilpotentDecomposition[m];d = DrazinInverse[m];d === t.PadRight[Inverse[c], Dimensions[m]].Inverse[t]DrazinInverse[m]は,対角行列 m について非零の要素が反転された対角行列である:
DrazinInverse[DiagonalMatrix[{3, 14, 0}]]//MatrixFormJordanDecomposition[m]で与えられたジョルダン行列
について考える:
m = (| | | | |
| - | - | -- | -- |
| 2 | 6 | -9 | -2 |
| 6 | 6 | -3 | -6 |
| 0 | 0 | 4 | 0 |
| 2 | 6 | -9 | -2 |);
{s, j} = JordanDecomposition[m];DrazinInverseは対角要素が0のブロックを0にマップし,他のブロックをその逆数にマップする:
{j//MatrixForm, DrazinInverse[j]//MatrixForm}DrazinInverse[m] == s.DrazinInverse[j].Inverse[s]matrixIndex[m_ ? SquareMatrixQ] := Length[NestWhileList[m.#&, IdentityMatrix[Length[m]], MatrixRank[#1] != MatrixRank[#2]&, 2]] - 2m = {{4, 2, -2}, {-5, -3, 4}, {-3, -2, 3}};k = matrixIndex[m]DrazinInverse[m]は
という関係を満足する.ただし,k は m の指標である:
MatrixPower[m, k + 1].DrazinInverse[m] == MatrixPower[m, k]PseudoInverseはDrazinInverseによって
と表すことができる:
m = {{2, 2, -2}, {5, 1, -3}, {1, 5, -3}};PseudoInverse[m] == DrazinInverse[ConjugateTranspose[m].m].ConjugateTranspose[m]関連するガイド
-
▪
- 線形系
テキスト
Wolfram Research (2021), DrazinInverse, Wolfram言語関数, https://reference.wolfram.com/language/ref/DrazinInverse.html (2025年に更新).
CMS
Wolfram Language. 2021. "DrazinInverse." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/DrazinInverse.html.
APA
Wolfram Language. (2021). DrazinInverse. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DrazinInverse.html
BibTeX
@misc{reference.wolfram_2026_drazininverse, author="Wolfram Research", title="{DrazinInverse}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/DrazinInverse.html}", note=[Accessed: 01-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_drazininverse, organization={Wolfram Research}, title={DrazinInverse}, year={2025}, url={https://reference.wolfram.com/language/ref/DrazinInverse.html}, note=[Accessed: 01-August-2026]}