MatrixFunction

MatrixFunction[f,m]

行列の引数 m でスカラー関数 f によって生成された行列を与える.

詳細とオプション

  • 行列関数は行列を異なる行列に変換する.収束ベキ級数の場合,MatrixFunction[f,m]は,事実上,通常のベキを行列ベキで置き換えて関数 f についてのベキ級数を評価する. »
  • 関数 f は一変数で微分可能であるか,さもなければ記号関数でなければならない.
  • MatrixFunctionは正方行列にのみ使うことができる.これは,非厳密行列にはシューア・パーレット(SchurParlett) メソッドを,厳密行列あるいは記号行列にはジョルダン(Jordan)分解を適用する.
  • MatrixFunctionSparseArrayオブジェクトおよび構造化配列に使うこともできる.
  • 場合によっては明示的な設定を含むMethodオプションを与えることができる.
  • "Jordan"ジョルダン分解
    "Schur"ブロックパーレット反復を伴うシューア分解
  • "Schur"メソッドはメソッドオプション mopts を使って Method{"Schur", mopts}とすることで指定できる.次は使用可能なメソッドオプションである.
  • "Balanced"Falseシューア分解の前に入力行列を平衡させるかどうか
    "BlockSeparationDelta"Automatic単一のパーレットブロック内の隣接固有値間の最大距離

例題

すべて開くすべて閉じる

  (3)

記号行列の平方根を計算する:

これが本当に平方根であることを確認する:

これが各項目の平方根を単純に計算するのとは異なる点に注意すること:

3×3行列mの対数を計算する:

結果の指数行列が元の行列であることを確認する:

多項式を純関数として指定して行列多項式を計算する:

スコープ  (11)

基本的な用法  (7)

機械精度行列の行列正弦と行列余弦を計算する:

行列恒等式 を検証する:

複素行列の行列正弦を計算する:

厳密行列の平方根を計算する:

20桁精度演算で多項式の対数の行列関数を計算する:

記号対角行列の行列正弦を計算する:

非対角記号行列の行列正接を計算する:

記号スカラー関数で行列関数を計算する:

記号行列を記号スカラー関数と一緒に使う:

機械精度行列に関数を適用すると効率的である:

特殊行列  (4)

疎な行列で行列関数を計算すると,一般に,通常行列になる:

構造化配列の行列多項式を計算する:

行列関数を恒等行列に適用しても対角要素の値しか変わらない:

より一般的には,任意の対角行列の関数はその対角要素に適用された関数である:

HilbertMatrixの平方を20桁精度で計算する:

オプション  (4)

Method  (4)

メソッド"Jordan"は厳密行列と非厳密行列に使うことができる:

メソッド"Schur"は非厳密行列(機械精度または任意精度)にしか使えない:

多くの固有値が非常に近い場合,それらは大きくなる可能性がある対角ブロック部分行列に入れらる.こうなると計算により費用がかかり収束が遅くなることがある:

"BlockSeparationDelta"の値を小さくすると対角ブロックの大きさが小さくなり,収束も速くなる:

しかし,結果の確度は低くなる:

入力行列の平衡状態が悪い(大きさが非常に違う項が含まれている)場合は,バランスを取ることで結果が改善されることがある:

アプリケーション  (5)

特定のベクトルに適用された第2逆行列ベキを求める:

これは, を計算するより効率的な方法である:

行列が特性多項式の根であることを示す:

スカラー記号 についての , , の解は以下で与えられる:

が行列であれば,解はスカラー解中の行列関数を使って計算することができる:

を満足する行列を求める:

単一チェーンで構成されるジョルダン行列の式 が次の行列 からなることを確認する:

特性と関係  (11)

関数1&を使うと恒等行列が返される:

関数&を使うのはInverseを使うのに等しい:

ベキである関数を使うのはMatrixPowerを使うのに等しい:

MatrixFunction[Exp,m]は基本的にMatrixExp[m]に等しい:

MatrixFunctionは,事実上,PowerMatrixPowerに置き換えてベキ級数を使う:

であるようにMatrixExp[MatrixFunction[Log,m]]m に等しい:

m が対角行列なら,MatrixFunction[f,m]は単に fm の対角の各要素に適用するに過ぎない:

m が上三角行列なら,MatrixFunction[f,m]もまた上三角行列である:

同様の陳述が下三角行列にもあてはまる:

で対角化でき,固有ベクトルの条件がよければ,である:

JordanDecomposition によって v.f(j).TemplateBox[{v}, Inverse]として計算できる:

さらに,は優対角のによって表現された上三角ブロックを除いて0である:

行列はその特性多項式の根である:

考えられる問題  (4)

スカラー関数は厳密行列あるいは記号行列について記号導関数を持つことができる:

例題と比較する:

MatrixFunctionAbsのように微分不可能な関数には使えない:

これは,厳密な入力行列に対しては行列関数を返すが,Absには一次導関数も二次導関数もないので結果は無意味である:

MatrixFunctionはスカラー関数あるいはその任意の最初の導関数が行列固有値で定義されていない場合は結果を返さない:

このスカラー関数 f には123で極(特異値)がある:

スカラー関数が分析的ではなく行列の固有値が関数の極に近い場合,結果の行列は大抵の場合正しくない:

おもしろい例題  (1)

Wolfram Research (2012), MatrixFunction, Wolfram言語関数, https://reference.wolfram.com/language/ref/MatrixFunction.html (2014年に更新).

テキスト

Wolfram Research (2012), MatrixFunction, Wolfram言語関数, https://reference.wolfram.com/language/ref/MatrixFunction.html (2014年に更新).

CMS

Wolfram Language. 2012. "MatrixFunction." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/MatrixFunction.html.

APA

Wolfram Language. (2012). MatrixFunction. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MatrixFunction.html

BibTeX

@misc{reference.wolfram_2024_matrixfunction, author="Wolfram Research", title="{MatrixFunction}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/MatrixFunction.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_matrixfunction, organization={Wolfram Research}, title={MatrixFunction}, year={2014}, url={https://reference.wolfram.com/language/ref/MatrixFunction.html}, note=[Accessed: 22-November-2024 ]}