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 より前に導入