ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

構文

X = sqrtm(A)
[X, resnorm] = sqrtm(A)
[X, alpha, condest] = sqrtm(A)

説明

X = sqrtm(A) は、行列 A の平方根、X*X = A を計算します。

X は、すべての固有値が非負の実数値をもつ、ユニークな平方根です。A が負の実数値の固有値をもつ場合、結果は複素数になります。A が特異行列の場合、A は平方根をもちません。特異性が検出された場合は警告を表示します。

[X, resnorm] = sqrtm(A) は、警告を表示ぜず、残差 norm(A-X^2,'fro')/norm(A,'fro') を返します。

[X, alpha, condest] = sqrtm(A) は、安定因子 alphaX の行列の平方根の条件数の推定値 condest を返します。残差 norm(A-X^2,'fro')/norm(A,'fro') は、n*alpha*eps を境界とし、X の Frobenius ノルムに関連したエラーは、n*alpha*condest*eps を境界とします。ここで、n = max(size(A)) です。

例 1

4 階差分演算子の行列表現は、以下のようになります。

A =
     5   -4    1    0    0
    -4    6   -4    1    0
     1   -4    6   -4    1
     0    1   -4    6   -4
     0    0    1   -4    5

この行列は対称で正定です。一意的な正定平方根 Y = sqrtm(A) は、2 階の差分演算子を表します。

 Y =
     2   -1   -0   -0   -0 
    -1    2   -1    0   -0 
     0   -1    2   -1    0 
    -0    0   -1    2   -1 
    -0   -0   -0   -1    2 

例 2

行列

A =
     7   10
    15   22

には、4 つの平方根があります。そのうちの 2 つは、

Y1 =
    1.5667    1.7408
    2.6112    4.1779

および

Y2 =
     1    2
     3    4

です。他の 2 つは、-Y1-Y2 になります。4 つのすべての平方根は、A の固有値と固有ベクトルから得られます。

[V,D] = eig(A);
D =
    0.1386          0
         0    28.8614

対角行列 D の 4 つの平方根は、次の符号の選択によって決まります。

S =
    ±0.3723          0
          0    ±5.3723

4 つの Y は、以下の型です。

Y = V*S/V

Y2 の要素が整数であるため Y2 がより自然であっても、関数 sqrtm は、2 つのプラス符号を選択し、Y1 を求めます。

詳細

すべて折りたたむ

ヒント

A が実数の対称正定行列または複素エルミート正定行列の場合、行列の平方根が計算されます。

A = [0 1; 0 0] のような行列は、実数や複素数の平方根をもたず、関数 sqrtm の結果は予期できません。

参考

| |

この情報は役に立ちましたか?