Main Content

logm

説明

L = logm(A)A の主行列の対数で、expm(A) の逆関数です。出力 L は、各固有値が厳密に –π から π までの範囲にある虚数部をもつ固有の対数です。A が特異であるか、負の実数軸上に固有値をもつ場合、主対数は定義されません。この場合、logm は非対数を計算し、警告メッセージを返します。

[L,exitflag] = logm(A) は、関数 logm の終了条件を記述するスカラー exitflag を返します。

  • exitflag = 0 の場合、アルゴリズムは正しく実行されました。

  • exitflag = 1 の場合、必要な行列の平方根の計算量が多すぎます。ただし、その場合にも L の値は正しく計算されている可能性があります。

すべて折りたたむ

行列 A の行列指数を計算します。

A = [1 1 0; 0 0 2; 0 0 -1];
Y = expm(A)
Y = 3×3

    2.7183    1.7183    1.0862
         0    1.0000    1.2642
         0         0    0.3679

Y の行列対数を計算して元の行列 A を再現します。

P = logm(Y)
P = 3×3

    1.0000    1.0000   -0.0000
         0         0    2.0000
         0         0   -1.0000

log(A) はゼロの対数をとるため、結果が劣ります。

Q = log(A)
Q = 3×3 complex

   0.0000 + 0.0000i   0.0000 + 0.0000i     -Inf + 0.0000i
     -Inf + 0.0000i     -Inf + 0.0000i   0.6931 + 0.0000i
     -Inf + 0.0000i     -Inf + 0.0000i   0.0000 + 3.1416i

入力引数

すべて折りたたむ

入力行列。正方行列として指定します。

データ型: single | double
複素数のサポート: あり

ヒント

  • A が実対称または複素エルミートの場合も logm(A) を計算します。

  • A = [0 1; 0 0] のような行列は、対数、実数、複素数はもたず、関数 logm は結果を予想することができません。

アルゴリズム

関数 logm のアルゴリズムの使用方法は[1]および[2]に記述されています。

参照

[1] Al-Mohy, A. H. and Nicholas J. Higham, “Improved inverse scaling and squaring algorithms for the matrix logarithm,” SIAM J. Sci. Comput., 34(4), pp. C153–C169, 2012

[2] Al-Mohy, A. H., Higham, Nicholas J. and Samuel D. Relton, “Computing the Frechet derivative of the matrix logarithm and estimating the condition number,” SIAM J. Sci. Comput.,, 35(4), pp. C394–C410, 2013

拡張機能

バージョン履歴

R2006a より前に導入

参考

| |