sqrtm
行列の平方根
説明
X = sqrtm(
は、A
)X*X = A
であるような行列 A
の主平方根を計算します。
X
は、すべての固有値が非負の実数値をもつ、ユニークな平方根です。A
に負の実数部をもつ固有値が 1 つでも含まれる場合、結果は複素数になります。A
が特異行列の場合、A
は平方根をもたないことがあります。厳密な特異性が検出された場合は警告が出力されます。
[X,residual] = sqrtm(
は、残差 A
)residual = norm(A-X^2,1)/norm(A,1)
も返します。この構文では、厳密な特異性が検出されても警告が出力されません。
[X,alpha,condx] = sqrtm(
は、安定因子 A
)alpha
と 1 ノルムでの X
の行列の平方根の推定条件数 condx
を返します。残差 norm(A-X^2,1)/norm(A,1)
は n*alpha*eps
を境界とし、X
の 1 ノルムの相対誤差は n*alpha*condx*eps
を境界とします。ここで n = max(size(A))
です。
例
入力引数
ヒント
A = [0 1; 0 0]
のような行列は、実数や複素数の平方根をもたず、関数sqrtm
の結果は予期できません。
アルゴリズム
関数 sqrtm
のアルゴリズムは[3]に記述されています。
参照
[1] N.J. Higham, “Computing real square roots of a real matrix,” Linear Algebra and Appl., 88/89, pp. 405–430, 1987
[2] Bjorck, A. and S. Hammerling, “A Schur method for the square root of a matrix,” Linear Algebra and Appl., 52/53, pp. 127–140, 1983
[3] Deadman, E., Higham, N. J. and R. Ralha, “Blocked Schur algorithms for computing the matrix square root,” Lecture Notes in Comput. Sci., 7782, Springer-Verlag, pp. 171–182, 2013
拡張機能
バージョン履歴
R2006a より前に導入