行列計算

数学において、行列計算は多変数計算、特に行列空間上での計算を行うための特殊な表記法です。行列計算は、単一の関数の多変数に関する偏微分、および/または多変数関数の単一変数に関する偏微分を、単一の実体として扱えるベクトルや行列にまとめます。これにより、多変数関数の最大値や最小値を求めたり、微分方程式系を解いたりといった演算が大幅に簡素化されます。ここで用いられる表記法は統計学工学で一般的に用いられていますが、物理学ではテンソル指数表記法が好まれます。

2 つの競合する表記法の慣習により、行列計算の分野は 2 つの別々のグループに分かれています。2 つのグループは、スカラーのベクトルに関する導関数を列ベクトルとするか行ベクトルとするかで区別できます。ベクトルは、行列と組み合わせる場合は行ベクトルではなく列ベクトルとして扱うべきであるという共通の仮定がなされた場合でも、これらの慣習は両方とも可能です。行列計算をよく使用する 1 つの分野 (計量経済学、統計学、推定理論機械学習など) では、1 つの慣習がほぼ標準になることがあります。ただし、特定の分野内であっても、異なる著者が競合する慣習を使用していることがあります。両グループの著者は、多くの場合、自分たちの特定の慣習が標準であるかのように書いています。互換性のある表記法が使用されていることを慎重に確認せずに、異なる著者の結果を組み合わせると、重大な間違いを犯す可能性があります。これら 2 つの慣習の定義と比較は、レイアウト慣習のセクションにまとめられています。

範囲

行列計算とは、行列とベクトルを用いて従属変数の各要素を独立変数の各要素に対して微分する様々な表記法を指します。一般的に、独立変数はスカラー、ベクトル、または行列のいずれかであり、従属変数もこれらのいずれかです。それぞれの状況に応じて、異なる規則、あるいはより広い意味での「計算法」が用いられます。行列表記法は、多くの微分を整理してまとめる便利な方法です。

最初の例として、ベクトル解析勾配を考えてみましょう。3つの独立変数を持つスカラー関数 の場合、勾配はベクトル方程式で与えられます。 f×1×2×3{\displaystyle f(x_{1},x_{2},x_{3})}

ff×1×^1+f×2×^2+f×3×^3{\displaystyle \nabla f={\frac {\partial f}{\partial x_{1}}}{\hat {x}}_{1}+{\frac {\partial f}{\partial x_{2}}}{\hat {x}}_{2}+{\frac {\partial f}{\partial x_{3}}}{\hat {x}}_{3},}

ここで、は の方向の単位ベクトルを表します。このタイプの一般化微分は、スカラーfのベクトル に関する微分として見ることができ、その結果はベクトル形式で簡単にまとめることができます。 ×^{\displaystyle {\hat {x}}_{i}}×{\displaystyle x_{i}}13{\displaystyle 1\leq i\leq 3}×{\displaystyle \mathbf {x} }

ff×T[f×1f×2f×3]T{\displaystyle \nabla f=\left({\frac {\partial f}{\partial \mathbf {x} }}\right)^{\mathsf {T}}={\begin{bmatrix}{\dfrac {\partial f}{\partial x_{1}}}&{\dfrac {\partial f}{\partial x_{2}}}&{\dfrac {\partial f}{\partial x_{3}}}\\\end{bmatrix}}^{\textsf {T}}.}

より複雑な例としては、スカラー関数の行列に対する微分(勾配行列と呼ばれる)が挙げられます。これは、結果の行列内の対応する位置にある各行列要素に対する微分をまとめたものです。この場合、スカラーは行列内の各独立変数の関数でなければなりません。別の例として、m個の独立変数からなる従属変数または関数のnベクトルがある場合、従属ベクトルの独立ベクトルに対する微分を考えることができます。結果は、すべての可能な微分の組み合わせからなるm × n行列にまとめることができます。

スカラー、ベクトル、行列を用いた場合、合計9つの可能性があります。独立変数と従属変数のそれぞれの要素の数が増えるにつれて、非常に多くの可能性が残されることに注意してください。行列形式で最も整理しやすい6種類の微分を次の表に示します。[ 1 ]

行列微分の種類
種類 スカラー ベクター マトリックス
スカラー y×{\displaystyle {\frac {\partial y}{\partial x}}}y×{\displaystyle {\frac {\partial \mathbf {y} }{\partial x}}}はい×{\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}}}
ベクター y×{\displaystyle {\frac {\partial y}{\partial \mathbf {x} }}}y×{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}}
マトリックス yX{\displaystyle {\frac {\partial y}{\partial \mathbf {X} }}}

ここでは「行列」という用語を最も一般的な意味で使用しており、ベクトルは単に1列の行列であり(スカラーは単に1行のベクトルである)、ベクトルは単に1列の行列であることを理解しています。さらに、太字はベクトルを、太字の大文字は行列を示しています。この表記法は本文全体で使用されています。

ベクトルの行列に対する微分、あるいは表の他の空欄に対する微分についても言及できることに注意してください。しかし、これらの微分は2階以上のテンソルに最も自然にまとめられるため、行列にうまく収まりません。以下の3つのセクションでは、これらの微分をそれぞれ定義し、他の数学の分野と関連付けます。より詳細な表については、 レイアウト規則のセクションを参照してください。

他のデリバティブとの関係

行列微分は、計算を行う際に偏微分を記録するのに便利な表記法です。フレシェ微分は、関数解析の分野においてベクトルに関する微分を取るための標準的な方法です。行列の行列関数がフレシェ微分可能である場合、2つの微分は表記の変換を除いて一致するでしょう。偏微分の場合に一般的に当てはまるように、一部の公式は、線型写像を近似する微分の存在よりも弱い解析的条件下で拡張されることがあります。

使用法

行列計算は最適な確率推定値を導出するために用いられ、多くの場合ラグランジュ乗数を用いる。これには以下の導出が含まれる。

表記

以降のセクションで説明するベクトル導関数と行列導関数は、多数の変数を 1 つの変数で表すという行列表記法の利点を最大限に活用しています。以下では、スカラー、ベクトル、行列をその書体で区別します。 M ( n , m )で、nm列の実数n × m行列の空間を表すことにします。このような行列は、太字の大文字を使用してAXYなどと表記します。 M ( n ,1)の要素、つまり列ベクトルは、太字の小文字でaxyなどと表記します。 M (1,1)の要素はスカラーであり、小文字のイタリック体書体でatxなどと表記します。 X Tは行列の転置tr( X )トレースdet( X )または| X |は行列式です。特に断りのない限り、すべての関数は微分可能クラスC 1であると仮定します。一般的に、アルファベットの前半の文字(a、b、c、…)は定数を表し、後半の文字(t、x、y、…)は変数を表します。

:前述の通り、ベクトルと行列における偏微分系のレイアウトには競合する表記法が存在し、まだ標準的なものは確立されていないようです。次の2つの導入セクションでは、議論が過度に複雑になるのを避けるため、便宜上、分子のレイアウト規則を使用します。その後のセクションでは、レイアウト規則についてより詳細に説明します。以下の点を理解することが重要です。

  1. 「分子レイアウト」と「分母レイアウト」という用語が使われているにもかかわらず、実際には表記法の選択肢は2つ以上あります。その理由は、分子と分母(あるいは場合によっては分子と混合)の選択は、スカラー×ベクトル、ベクトル×スカラー、ベクトル×ベクトル、スカラー×行列の導関数それぞれで独立して行えるためであり、多くの著者が様々な方法でこれらのレイアウトを組み合わせています。
  2. 以下の導入セクションで分子のレイアウトを選択しているからといって、それが「正しい」あるいは「優れた」選択であるとは限りません。それぞれのレイアウトには長所と短所があります。異なるレイアウトで記述された数式を不用意に組み合わせると、重大なミスにつながる可能性があり、あるレイアウトから別のレイアウトに変換する際には、ミスを避けるために注意が必要です。したがって、既存の数式を扱う際には、あらゆる状況で同じレイアウトを使用するのではなく、使用されているレイアウトを特定し、一貫性を保つことが最善策と言えるでしょう。

代替案

テンソルのインデックス表記法とそのアインシュタイン総和規則は、一度に 1 つの要素しか記述しないことを除けば、行列計算と非常によく似ています。この表記法には、任意の高階数のテンソルを簡単に操作できるという利点がありますが、2 階以上のテンソルは行列表記では扱いにくくなります。ここでのすべての作業は、単変数行列表記法を使用せずにこの表記法で行うことができます。ただし、推定理論やその他の応用数学の分野では、インデックスが多すぎて適切に追跡できない問題が多く発生するため、これらの分野では行列計算の方が適しています。また、アインシュタイン表記法は、ここで提示した恒等式を証明する際に、明示的な和を持ち運ぶときに扱いにくくなる可能性がある一般的な要素表記法の代わりとして非常に役立ちます (微分化のセクションを参照)。行列は階数 2 のテンソルと見なすことができることに注意してください。

ベクトルによる微分

ベクトルは 1 列のみの行列であるため、最も単純な行列微分はベクトル微分です。

ここで展開される記法は、nベクトルの空間M ( n ,1)をユークリッド空間Rnと同一視、スカラーM (1,1)をRと同一視することで、ベクトル解析の通常の演算に対応する。ベクトル解析における対応する概念は、各節の末尾に示されている。

:このセクションでは、教育上の目的から分子のレイアウト規則を前提としています。著者によっては異なる規則を使用している場合もあります。レイアウト規則のセクションでは、この問題についてより詳細に説明しています。後述の恒等式は、一般的なレイアウト規則と組み合わせて使用​​できる形式で提示されています。

ベクトル×スカラー

ベクトルスカラーxによる微分分子レイアウト表記で)次のように 表されます。y[y1y2yメートル]T{\displaystyle \mathbf {y} ={\begin{bmatrix}y_{1}&y_{2}&\cdots &y_{m}\end{bmatrix}}^{\mathsf {T}}}

dyd×[dy1d×dy2d×dyメートルd×]{\displaystyle {\frac {d\mathbf {y}}{dx}}={\begin{bmatrix}{\frac {dy_{1}}{dx}}\\{\frac {dy_{2}}{dx}}\\\vdots \\{\frac {dy_{m}}{dx}}\\\end{bmatrix}}.}

ベクトル解析において、ベクトルyのスカラーxに関する微分は、ベクトルyの接線ベクトルと呼ばれます。ここで、 y : R 1R mであることに注意してください。 y×{\displaystyle {\frac {\partial \mathbf {y} }{\partial x}}}

簡単な例としては、ユークリッド空間における速度ベクトルが挙げられます。これは位置ベクトル(時間の関数として考えた場合)の接線ベクトルです。また、加速度は速度の接線ベクトルです。

スカラー×ベクトル

スカラーyのベクトルによる微分は、(分子レイアウト表記法で)次のように 表される。×[×1×2×n]{\displaystyle \mathbf {x} ={\begin{bmatrix}x_{1}&x_{2}&\cdots &x_{n}\end{bmatrix}}}

y×[y×1y×2y×n]{\displaystyle {\frac {\partial y}{\partial \mathbf {x} }}={\begin{bmatrix}{\dfrac {\partial y}{\partial x_{1}}}&{\dfrac {\partial y}{\partial x_{2}}}&\cdots &{\dfrac {\partial y}{\partial x_{n}}}\end{bmatrix}}.}

ベクトル計算では、スカラー場f  : R nR (その独立座標はxの成分) の勾配は、スカラーをベクトルで微分したものの転置です。

f[f×1f×n]f×T{\displaystyle \nabla f={\begin{bmatrix}{\frac {\partial f}{\partial x_{1}}}\\\vdots \\{\frac {\partial f}{\partial x_{n}}}\end{bmatrix}}=\left({\frac {\partial f}{\partial \mathbf {x} }}\right)^{\mathsf {T}}}

たとえば、物理学では、電場は電位の負のベクトル勾配です。

空間ベクトルxのスカラー関数f ( x )の単位ベクトルu (この場合は列ベクトルとして表される) の方向への方向微分は、次のように勾配を使用して定義されます。

あなたf×f×あなた{\displaystyle \nabla _{\mathbf {u} }{f}(\mathbf {x} )=\nabla f(\mathbf {x} )\cdot \mathbf {u} }

ベクトルに関するスカラーの微分に対して定義した表記法を使用すると、方向微分を と書き直すことができます。 このタイプの表記法は、スカラー微分でよく知られているものと似た積則や連鎖律を証明するときに便利です。 あなたff×あなた{\displaystyle \nabla _{\mathbf {u} }f={\frac {\partial f}{\partial \mathbf {x} }}\mathbf {u} .}

ベクトルごと

前の2つのケースはそれぞれ、ベクトルのベクトルに関する微分(ただし、サイズ1のベクトルを適切に用いた)の適用とみなすことができます。同様に、行列を含む微分は、対応する方法でベクトルを含む微分に帰着することがわかります。

ベクトル関数(成分が関数であるベクトル)の入力ベクトルに対する導関数は、(分子レイアウト表記法で)次のように 表されます。y[y1y2yメートル]T{\displaystyle \mathbf {y} ={\begin{bmatrix}y_{1}&y_{2}&\cdots &y_{m}\end{bmatrix}}^{\mathsf {T}}}×[×1×2×n]T{\displaystyle \mathbf {x} ={\begin{bmatrix}x_{1}&x_{2}&\cdots &x_{n}\end{bmatrix}}^{\mathsf {T}}}

y×[y1×1y1×2y1×ny2×1y2×2y2×nyメートル×1yメートル×2yメートル×n]{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}={\begin{bmatrix}{\frac {\partial y_{1}}{\partial x_{1}}}&{\frac {\partial y_{1}}{\partial x_{2}}}&\cdots &{\frac {\partial y_{1}}{\partial x_{n}}}\\{\frac {\partial y_{2}}{\partial x_{1}}}&{\frac {\partial y_{2}}{\partial x_{2}}}&\cdots &{\frac {\partial y_{2}}{\partial x_{n}}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial y_{m}}{\partial x_{1}}}&{\frac {\partial y_{m}}{\partial x_{2}}}&\cdots &{\frac {\partial y_{m}}{\partial x_{n}}}\\\end{bmatrix}}.}

ベクトル計算では、要素が空間を表すベクトルxに関するベクトル関数yの微分は、プッシュフォワード (または微分)またはヤコビ行列として知られています。

R nのベクトルvに関するベクトル関数fに沿ったプッシュフォワードは次のように与えられる。df(v)=fvdv.{\displaystyle d\mathbf {f} (\mathbf {v} )={\frac {\partial \mathbf {f} }{\partial \mathbf {v} }}d\mathbf {v} .}

行列の微分

行列の微分には、同じサイズの行列にまとめられる2種類があります。それは、行列のスカラーによる微分と、スカラーの行列による微分です。これらは応用数学の多くの分野における最小化問題で有用であり、ベクトルの類似物にちなんで、それぞれ接線行列勾配行列と呼ばれています。

:このセクションでは、教育上の目的から分子のレイアウト規則を前提としています。著者によっては異なる規則を使用している場合もあります。レイアウト規則のセクションでは、この問題についてより詳細に説明しています。後述の識別子は、一般的なレイアウト規則と組み合わせて使用​​できる形式で提示されています。

行列×スカラー

行列関数Yのスカラーxによる微分は接線行列として知られており、(分子配置表記法で)次のように 表される。

Yx=[y11xy12xy1nxy21xy22xy2nxym1xym2xymnx].{\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}}={\begin{bmatrix}{\frac {\partial y_{11}}{\partial x}}&{\frac {\partial y_{12}}{\partial x}}&\cdots &{\frac {\partial y_{1n}}{\partial x}}\\{\frac {\partial y_{21}}{\partial x}}&{\frac {\partial y_{22}}{\partial x}}&\cdots &{\frac {\partial y_{2n}}{\partial x}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial y_{m1}}{\partial x}}&{\frac {\partial y_{m2}}{\partial x}}&\cdots &{\frac {\partial y_{mn}}{\partial x}}\\\end{bmatrix}}.}

スカラー×行列

スカラー関数yのp × q行列Xに対する微分は、分子配置表記で次のように 表される。

yX=[yx11yx21yxp1yx12yx22yxp2yx1qyx2qyxpq].{\displaystyle {\frac {\partial y}{\partial \mathbf {X} }}={\begin{bmatrix}{\frac {\partial y}{\partial x_{11}}}&{\frac {\partial y}{\partial x_{21}}}&\cdots &{\frac {\partial y}{\partial x_{p1}}}\\{\frac {\partial y}{\partial x_{12}}}&{\frac {\partial y}{\partial x_{22}}}&\cdots &{\frac {\partial y}{\partial x_{p2}}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial y}{\partial x_{1q}}}&{\frac {\partial y}{\partial x_{2q}}}&\cdots &{\frac {\partial y}{\partial x_{pq}}}\\\end{bmatrix}}.}

行列のスカラー関数の重要な例としては、行列の跡と行列式が挙げられます。

ベクトル計算と同様に、この導関数は次のように記述されることが多いです。

Xy(X)=y(X)X{\displaystyle \nabla _{\mathbf {X} }y(\mathbf {X} )={\frac {\partial y(\mathbf {X} )}{\partial \mathbf {X} }}}

ベクトル解析と同様に、行列Xのスカラーf ( X )の行列Yの方向の方向微分は次のように表される。

Yf=tr(fXY).{\displaystyle \nabla _{\mathbf {Y} }f=\operatorname {tr} \left({\frac {\partial f}{\partial \mathbf {X} }}\mathbf {Y} \right).}

特に勾配行列は、推定理論における最小化問題、特にこの分野で非常に重要な カルマンフィルタアルゴリズムの導出において多くの用途が見られます。

その他の行列微分

これまで考慮されていない3種類の微分は、ベクトル×行列、行列×ベクトル、行列×行列です。これらはあまり広く考慮されておらず、表記法も広く合意されていません。

レイアウト規則

この節では、行列計算を利用する様々な分野で用いられる表記法の類似点と相違点について論じます。概ね一貫した表記法は2つありますが、後述する形式では2つの表記法を混在させる方が便利だと考える著者もいます。この節以降、方程式は2つの競合する形式でそれぞれ別々に列挙されます。

根本的な問題は、ベクトルのベクトルに対する微分、すなわち が、しばしば2つの矛盾する方法で記述されることです。分子y のサイズがmで、分母xのサイズがnの場合、結果はm × n行列またはn × m行列、つまりym要素が行に、 xn要素が列に配置される、あるいはその逆のいずれかで表されます。このことから、以下の可能性が考えられます。 yx{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}}

  1. 分子レイアウト、つまりyx Tに従って(つまりxとは逆に)レイアウトします。これはヤコビアン定式化と呼ばれることもあります。これは前の例のm × nレイアウトに対応し、 の行番号は分子のサイズに等しく、 の列番号はx Tのサイズに等しいことを意味します。yx{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}}y{\displaystyle \mathbf {y} }yx{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}}
  2. 分母レイアウト、つまりy Txに従って(つまりyとは逆に)レイアウトします。これはヘッセ行列式と呼ばれることもあります。一部の著者は、このレイアウトをその転置であるヤコビ行列(分子レイアウト)と区別するために勾配 と呼んでいます。(ただし、勾配はレイアウトに関わらず導関数を指す場合が多いです。)これは前の例のn×mレイアウトに対応し、 の行数はx(分母)のサイズに等しいことを意味します。yx,{\displaystyle {\frac {\partial y}{\partial \mathbf {x} }},}yx{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}}
  3. 3つ目の可能性として、導関数を (つまり、 xの転置について導関数をとる)と書き、分子の配置に従うことが時々見られます。これにより、行列は分子と分母の両方に従って配置されていると主張できます。実際には、この方法では分子の配置と同じ結果が得られます。yx,{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} '}},}

勾配 と逆勾配を扱う際にも同じ問題が発生します。一貫性を保つには、次のいずれかを行う必要があります。 yx{\displaystyle {\frac {\partial y}{\partial \mathbf {x} }}}yx,{\displaystyle {\frac {\partial \mathbf {y} }{\partial x}},}

  1. 分子レイアウトを選択した場合は、勾配を行ベクトルとして、列ベクトルとしてレイアウトする必要があります。yx,{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }},}yx{\displaystyle {\frac {\partial y}{\partial \mathbf {x} }}}yx{\displaystyle {\frac {\partial \mathbf {y} }{\partial x}}}
  2. 分母レイアウトを選択した場合は、勾配を列ベクトルとして、行ベクトルとしてレイアウトする必要があります。yx,{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }},}yx{\displaystyle {\frac {\partial y}{\partial \mathbf {x} }}}yx{\displaystyle {\frac {\partial \mathbf {y} }{\partial x}}}
  3. 上記の 3 番目の可能性では、およびを記述し、分子レイアウトを使用します。yx{\displaystyle {\frac {\partial y}{\partial \mathbf {x} '}}}yx,{\displaystyle {\frac {\partial \mathbf {y} }{\partial x}},}

この点において、すべての数学の教科書や論文が一貫しているわけではありません。つまり、同じ本や論文でも、文脈によって異なる表記法が用いられることがあります。例えば、勾配の分母配置(列ベクトルとして配置)を選択する一方で、ベクトルごとの微分では分子配置を選択する場合があります。yx.{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}.}

同様に、スカラー対行列の微分と行列対スカラーの微分については、分子の一貫したレイアウトはYX Tに従ってレイアウトされ、分母の一貫したレイアウトはY TXに従ってレイアウトされます。しかし実際には、分母のレイアウトをY Tに従ってレイアウトし、結果をY Tに従ってレイアウトすることは、スカラー式と一致しない見苦しい式になるため、ほとんど見られません。結果として、次のようなレイアウトがよく見られます。 yX{\displaystyle {\frac {\partial y}{\partial \mathbf {X} }}}Yx,{\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}},}Yx,{\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}},}

  1. 一貫した分子レイアウト。YおよびX T に従ってレイアウトさますYx{\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}}}yX{\displaystyle {\frac {\partial y}{\partial \mathbf {X} }}}
  2. 混合レイアウト: Yに従ってレイアウトし、Xに従ってレイアウトします。Yx{\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}}}yX{\displaystyle {\frac {\partial y}{\partial \mathbf {X} }}}
  3. 一貫した分子レイアウトと同じ結果になる表記法を使用します。yX,{\displaystyle {\frac {\partial y}{\partial \mathbf {X} '}},}

以下の式では、 と の 5 つの可能な組み合わせを個別に扱います。また、中間ベクトルまたは行列を含むスカラーごとの微分の場合も扱います (これは、たとえば、多次元パラメトリック曲線がスカラー変数で定義され、曲線のスカラー関数の微分が、曲線をパラメータ化するスカラーに関して取られる場合に発生します)。さまざまな組み合わせごとに、分子レイアウトと分母レイアウトの結果を示します (分母レイアウトがめったに発生しない上記の場合を除きます)。行列が関係し、それが意味をなす場合は、分子レイアウトと混合レイアウトの結果を示します。前述のように、ベクトルと行列の分母が転置表記で記述されている場合は、分母が転置表記なしで記述された分子レイアウトと同じです。 yx,yx,yx,yX{\displaystyle {\frac {\partial y}{\partial \mathbf {x} }},{\frac {\partial \mathbf {y} }{\partial x}},{\frac {\partial \mathbf {y} }{\partial \mathbf {x} }},{\frac {\partial y}{\partial \mathbf {X} }}}Yx{\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}}}

導関数の種類によって分子と分母の配置の組み合わせは著者によって異なり、すべての導関数の種類において、ある著者が分子または分母のいずれかの配置を一貫して使用するという保証はありません。以下の式と出典に記載されている式を照らし合わせることで、特定の種類の導関数に使用されている配置を判断できますが、他の種類の導関数も必ずしも同じ配置に従うとは限りませんので注意してください。

総和(ベクトルまたは行列)の分母で微分を行い、その最大値または最小値を求める場合、分子レイアウトを使用すると、総和に関して転置された結果が生成されることに注意する必要があります。例えば、行列計算を用いて多変量正規分布最大尤度推定値を求める場合、定義域がk ×1列ベクトルであれば、分子レイアウトを使用した結果は1× k行ベクトルになります。したがって、結果を最後に転置するか、分母レイアウト(または混合レイアウト)を使用する必要があります。

様々な種類の集合体を他の種類の集合体と区別した結果
スカラーy列ベクトルy(サイズm ×1行列Y(サイズm × n
表記タイプ 表記タイプ 表記タイプ
スカラーx分子 yx{\displaystyle {\frac {\partial y}{\partial x}}}スカラー yx{\displaystyle {\frac {\partial \mathbf {y} }{\partial x}}}サイズmの列ベクトルYx{\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}}}m × n行列
分母 サイズmの行ベクトル
列ベクトルx(サイズn × 1分子 yx{\displaystyle {\frac {\partial y}{\partial \mathbf {x} }}}サイズnの行ベクトルyx{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}}m × n行列 Yx{\displaystyle {\frac {\partial \mathbf {Y} }{\partial \mathbf {x} }}}
分母 サイズnの列ベクトルn × m行列
行列X(サイズp × q分子 yX{\displaystyle {\frac {\partial y}{\partial \mathbf {X} }}}q × p行列 yX{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {X} }}}YX{\displaystyle {\frac {\partial \mathbf {Y} }{\partial \mathbf {X} }}}
分母 p × q行列

分子レイアウト表記と分母レイアウト表記を切り替えると、演算結果が転置されます。

分子レイアウト表記

分子レイアウト記法を用いると次のようになる。[ 1 ]

yx=[yx1yx2yxn].yx=[y1xy2xymx].yx=[y1x1y1x2y1xny2x1y2x2y2xnymx1ymx2ymxn].yX=[yx11yx21yxp1yx12yx22yxp2yx1qyx2qyxpq].{\displaystyle {\begin{aligned}{\frac {\partial y}{\partial \mathbf {x} }}&={\begin{bmatrix}{\frac {\partial y}{\partial x_{1}}}&{\frac {\partial y}{\partial x_{2}}}&\cdots &{\frac {\partial y}{\partial x_{n}}}\end{bmatrix}}.\\{\frac {\partial \mathbf {y} }{\partial x}}&={\begin{bmatrix}{\frac {\partial y_{1}}{\partial x}}\\{\frac {\partial y_{2}}{\partial x}}\\\vdots \\{\frac {\partial y_{m}}{\partial x}}\\\end{bmatrix}}.\\{\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}&={\begin{bmatrix}{\frac {\partial y_{1}}{\partial x_{1}}}&{\frac {\partial y_{1}}{\partial x_{2}}}&\cdots &{\frac {\partial y_{1}}{\partial x_{n}}}\\{\frac {\partial y_{2}}{\partial x_{1}}}&{\frac {\partial y_{2}}{\partial x_{2}}}&\cdots &{\frac {\partial y_{2}}{\partial x_{n}}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial y_{m}}{\partial x_{1}}}&{\frac {\partial y_{m}}{\partial x_{2}}}&\cdots &{\frac {\partial y_{m}}{\partial x_{n}}}\\\end{bmatrix}}.\\{\frac {\partial y}{\partial \mathbf {X} }}&={\begin{bmatrix}{\frac {\partial y}{\partial x_{11}}}&{\frac {\partial y}{\partial x_{21}}}&\cdots &{\frac {\partial y}{\partial x_{p1}}}\\{\frac {\partial y}{\partial x_{12}}}&{\frac {\partial y}{\partial x_{22}}}&\cdots &{\frac {\partial y}{\partial x_{p2}}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial y}{\partial x_{1q}}}&{\frac {\partial y}{\partial x_{2q}}}&\cdots &{\frac {\partial y}{\partial x_{pq}}}\\\end{bmatrix}}.\end{aligned}}}

次の定義は分子レイアウト表記法でのみ提供されます。

Yx=[y11xy12xy1nxy21xy22xy2nxym1xym2xymnx].dX=[dx11dx12dx1ndx21dx22dx2ndxm1dxm2dxmn].{\displaystyle {\begin{aligned}{\frac {\partial \mathbf {Y} }{\partial x}}&={\begin{bmatrix}{\frac {\partial y_{11}}{\partial x}}&{\frac {\partial y_{12}}{\partial x}}&\cdots &{\frac {\partial y_{1n}}{\partial x}}\\{\frac {\partial y_{21}}{\partial x}}&{\frac {\partial y_{22}}{\partial x}}&\cdots &{\frac {\partial y_{2n}}{\partial x}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial y_{m1}}{\partial x}}&{\frac {\partial y_{m2}}{\partial x}}&\cdots &{\frac {\partial y_{mn}}{\partial x}}\\\end{bmatrix}}.\\d\mathbf {X} &={\begin{bmatrix}dx_{11}&dx_{12}&\cdots &dx_{1n}\\dx_{21}&dx_{22}&\cdots &dx_{2n}\\\vdots &\vdots &\ddots &\vdots \\dx_{m1}&dx_{m2}&\cdots &dx_{mn}\\\end{bmatrix}}.\end{aligned}}}

分母レイアウト表記

分母レイアウト記法を用いると次のようになる。[ 2 ]

yx=[yx1yx2yxn].yx=[y1xy2xymx].yx=[y1x1y2x1ymx1y1x2y2x2ymx2y1xny2xnymxn].yX=[yx11yx12yx1qyx21yx22yx2qyxp1yxp2yxpq].{\displaystyle {\begin{aligned}{\frac {\partial y}{\partial \mathbf {x} }}&={\begin{bmatrix}{\frac {\partial y}{\partial x_{1}}}\\{\frac {\partial y}{\partial x_{2}}}\\\vdots \\{\frac {\partial y}{\partial x_{n}}}\\\end{bmatrix}}.\\{\frac {\partial \mathbf {y} }{\partial x}}&={\begin{bmatrix}{\frac {\partial y_{1}}{\partial x}}&{\frac {\partial y_{2}}{\partial x}}&\cdots &{\frac {\partial y_{m}}{\partial x}}\end{bmatrix}}.\\{\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}&={\begin{bmatrix}{\frac {\partial y_{1}}{\partial x_{1}}}&{\frac {\partial y_{2}}{\partial x_{1}}}&\cdots &{\frac {\partial y_{m}}{\partial x_{1}}}\\{\frac {\partial y_{1}}{\partial x_{2}}}&{\frac {\partial y_{2}}{\partial x_{2}}}&\cdots &{\frac {\partial y_{m}}{\partial x_{2}}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial y_{1}}{\partial x_{n}}}&{\frac {\partial y_{2}}{\partial x_{n}}}&\cdots &{\frac {\partial y_{m}}{\partial x_{n}}}\\\end{bmatrix}}.\\{\frac {\partial y}{\partial \mathbf {X} }}&={\begin{bmatrix}{\frac {\partial y}{\partial x_{11}}}&{\frac {\partial y}{\partial x_{12}}}&\cdots &{\frac {\partial y}{\partial x_{1q}}}\\{\frac {\partial y}{\partial x_{21}}}&{\frac {\partial y}{\partial x_{22}}}&\cdots &{\frac {\partial y}{\partial x_{2q}}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial y}{\partial x_{p1}}}&{\frac {\partial y}{\partial x_{p2}}}&\cdots &{\frac {\partial y}{\partial x_{pq}}}\\\end{bmatrix}}.\end{aligned}}}

アイデンティティ

上で述べたように、一般に、分子レイアウト表記と分母レイアウト表記を切り替えると、演算結果は転置されます。

以下の恒等式の意味を理解するには、最も重要な規則である連鎖律積律和律を覚えておく必要があります。和律は普遍的に適用され、積律は、行列積の順序が維持される限り、以下のほとんどの場合に適用されます。これは、行列積が可換ではないためです。連鎖律はいくつかの場合に適用されますが、残念ながら、行列とスカラーの微分やスカラーと行列の微分には適用されません(後者の場合は、ほとんどの場合、行列にトレース演算子が適用されます)。後者の場合、積律を直接適用することもできませんが、微分恒等式を使用して少し作業するだけで同等のことができます。

以下のアイデンティティは、以下の規則を採用しています。

  • スカラーabcdeはに関して定数であり、スカラーuvはxx、またはXのいずれかの関数である。
  • ベクトルabcdeはに関して定数であり、ベクトルuv はxxXのいずれかの関数である。
  • 行列ABCDEは に関して定数であり、行列UVはxx、またはXのいずれかの関数です。

ベクトルごとの恒等式

これを最初に紹介する理由は、ベクトルごとの微分に適用されるすべての演算が、分子または分母の適切なベクトルをスカラーに減らすだけで、ベクトルごとのスカラーまたはスカラーごとの微分に直接適用されるためです。

恒等式: ベクトルごとyx{\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {x} }}}
状態 表現 分子レイアウト、つまりyx T分母のレイアウト、つまりy Tx
aはxの関数ではないax={\displaystyle {\frac {\partial \mathbf {a} }{\partial \mathbf {x} }}=}0{\displaystyle \mathbf {0} }
xx={\displaystyle {\frac {\partial \mathbf {x} }{\partial \mathbf {x} }}=}I{\displaystyle \mathbf {I} }
Aはxの関数ではないAxx={\displaystyle {\frac {\partial \mathbf {A} \mathbf {x} }{\partial \mathbf {x} }}=}A{\displaystyle \mathbf {A} }A{\displaystyle \mathbf {A} ^{\top }}
Aはxの関数ではないxAx={\displaystyle {\frac {\partial \mathbf {x} ^{\top }\mathbf {A} }{\partial \mathbf {x} }}=}A{\displaystyle \mathbf {A} ^{\top }}A{\displaystyle \mathbf {A} }
aはxの関数ではない、 u = u ( x )aux={\displaystyle {\frac {\partial a\mathbf {u} }{\partial \,\mathbf {x} }}=}aux{\displaystyle a{\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}}
v = v ( x ) aはxの関数ではないvax={\displaystyle {\frac {\partial v\mathbf {a} }{\partial \mathbf {x} }}=}avx{\displaystyle \mathbf {a} {\frac {\partial v}{\partial \mathbf {x} }}}vxa{\displaystyle {\frac {\partial v}{\partial \mathbf {x} }}\mathbf {a} ^{\top }}
v = v ( x ) u = u ( x )vux={\displaystyle {\frac {\partial v\mathbf {u} }{\partial \mathbf {x} }}=}vux+uvx{\displaystyle v{\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}+\mathbf {u} {\frac {\partial v}{\partial \mathbf {x} }}}vux+vxu{\displaystyle v{\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}+{\frac {\partial v}{\partial \mathbf {x} }}\mathbf {u} ^{\top }}
Aはxの関数ではない、 u = u ( x )Aux={\displaystyle {\frac {\partial \mathbf {A} \mathbf {u} }{\partial \mathbf {x} }}=}Aux{\displaystyle \mathbf {A} {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}}uxA{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}\mathbf {A} ^{\top }}
u = u ( x ) v = v ( x )(u+v)x={\displaystyle {\frac {\partial (\mathbf {u} +\mathbf {v} )}{\partial \mathbf {x} }}=}ux+vx{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}+{\frac {\partial \mathbf {v} }{\partial \mathbf {x} }}}
u = u ( x )g(u)x={\displaystyle {\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial \mathbf {x} }}=}g(u)uux{\displaystyle {\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial \mathbf {u} }}{\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}}uxg(u)u{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}{\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial \mathbf {u} }}}
u = u ( x )f(g(u))x={\displaystyle {\frac {\partial \mathbf {f} (\mathbf {g} (\mathbf {u} ))}{\partial \mathbf {x} }}=}f(g)gg(u)uux{\displaystyle {\frac {\partial \mathbf {f} (\mathbf {g} )}{\partial \mathbf {g} }}{\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial \mathbf {u} }}{\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}}uxg(u)uf(g)g{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}{\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial \mathbf {u} }}{\frac {\partial \mathbf {f} (\mathbf {g} )}{\partial \mathbf {g} }}}

スカラー対ベクトルの恒等式

基本的なアイデンティティは太い黒い線の上に配置されます。

恒等式: スカラー対ベクトルyx=xy{\displaystyle {\frac {\partial y}{\partial \mathbf {x} }}=\nabla _{\mathbf {x} }y}
状態 表現 分子レイアウト、つまりx T ; 結果は行ベクトル 分母レイアウト、つまりxによる; 結果は列ベクトル
aはxの関数ではないax={\displaystyle {\frac {\partial a}{\partial \mathbf {x} }}=}0{\displaystyle \mathbf {0} ^{\top }}[注 1 ]0{\displaystyle \mathbf {0} }[注 1 ]
aはxの関数ではない、 u = u ( x )aux={\displaystyle {\frac {\partial au}{\partial \mathbf {x} }}=}aux{\displaystyle a{\frac {\partial u}{\partial \mathbf {x} }}}
u = u ( x ) v = v ( x )(u+v)x={\displaystyle {\frac {\partial (u+v)}{\partial \mathbf {x} }}=}ux+vx{\displaystyle {\frac {\partial u}{\partial \mathbf {x} }}+{\frac {\partial v}{\partial \mathbf {x} }}}
u = u ( x ) v = v ( x )uvx={\displaystyle {\frac {\partial uv}{\partial \mathbf {x} }}=}uvx+vux{\displaystyle u{\frac {\partial v}{\partial \mathbf {x} }}+v{\frac {\partial u}{\partial \mathbf {x} }}}
u = u ( x )g(u)x={\displaystyle {\frac {\partial g(u)}{\partial \mathbf {x} }}=}g(u)uux{\displaystyle {\frac {\partial g(u)}{\partial u}}{\frac {\partial u}{\partial \mathbf {x} }}}
u = u ( x )f(g(u))x={\displaystyle {\frac {\partial f(g(u))}{\partial \mathbf {x} }}=}f(g)gg(u)uux{\displaystyle {\frac {\partial f(g)}{\partial g}}{\frac {\partial g(u)}{\partial u}}{\frac {\partial u}{\partial \mathbf {x} }}}
u = u ( x ) v = v ( x )(uv)x=uvx={\displaystyle {\frac {\partial (\mathbf {u} \cdot \mathbf {v} )}{\partial \mathbf {x} }}={\frac {\partial \mathbf {u} ^{\top }\mathbf {v} }{\partial \mathbf {x} }}=}uvx+vux{\displaystyle \mathbf {u} ^{\top }{\frac {\partial \mathbf {v} }{\partial \mathbf {x} }}+\mathbf {v} ^{\top }{\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}}

ux,vx{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }},{\frac {\partial \mathbf {v} }{\partial \mathbf {x} }}}分子レイアウト

uxv+vxu{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}\mathbf {v} +{\frac {\partial \mathbf {v} }{\partial \mathbf {x} }}\mathbf {u} }

ux,vx{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }},{\frac {\partial \mathbf {v} }{\partial \mathbf {x} }}}分母レイアウト

u = u ( x ) v = v ( x ) Aはxの関数ではない(uAv)x=uAvx={\displaystyle {\frac {\partial (\mathbf {u} \cdot \mathbf {A} \mathbf {v} )}{\partial \mathbf {x} }}={\frac {\partial \mathbf {u} ^{\top }\mathbf {A} \mathbf {v} }{\partial \mathbf {x} }}=}uAvx+vAux{\displaystyle \mathbf {u} ^{\top }\mathbf {A} {\frac {\partial \mathbf {v} }{\partial \mathbf {x} }}+\mathbf {v} ^{\top }\mathbf {A} ^{\top }{\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}}

ux,vx{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }},{\frac {\partial \mathbf {v} }{\partial \mathbf {x} }}}分子レイアウト

uxAv+vxAu{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}\mathbf {A} \mathbf {v} +{\frac {\partial \mathbf {v} }{\partial \mathbf {x} }}\mathbf {A} ^{\top }\mathbf {u} }

ux,vx{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }},{\frac {\partial \mathbf {v} }{\partial \mathbf {x} }}}分母レイアウト

2fxx={\displaystyle {\frac {\partial ^{2}f}{\partial \mathbf {x} \partial \mathbf {x} ^{\top }}}=}H{\displaystyle \mathbf {H} ^{\top }}H{\displaystyle \mathbf {H} }ヘッセ行列[ 3 ]
aはxの関数ではない(ax)x=(xa)x={\displaystyle {\frac {\partial (\mathbf {a} \cdot \mathbf {x} )}{\partial \mathbf {x} }}={\frac {\partial (\mathbf {x} \cdot \mathbf {a} )}{\partial \mathbf {x} }}=}axx=xax={\displaystyle {\frac {\partial \mathbf {a} ^{\top }\mathbf {x} }{\partial \mathbf {x} }}={\frac {\partial \mathbf {x} ^{\top }\mathbf {a} }{\partial \mathbf {x} }}=}a{\displaystyle \mathbf {a} ^{\top }}a{\displaystyle \mathbf {a} }
Aはx の関数ではない、 bはxの関数ではないbAxx={\displaystyle {\frac {\partial \mathbf {b} ^{\top }\mathbf {A} \mathbf {x} }{\partial \mathbf {x} }}=}bA{\displaystyle \mathbf {b} ^{\top }\mathbf {A} }Ab{\displaystyle \mathbf {A} ^{\top }\mathbf {b} }
Aはxの関数ではないxAxx={\displaystyle {\frac {\partial \mathbf {x} ^{\top }\mathbf {A} \mathbf {x} }{\partial \mathbf {x} }}=}x(A+A){\displaystyle \mathbf {x} ^{\top }\left(\mathbf {A} +\mathbf {A} ^{\top }\right)}(A+A)x{\displaystyle \left(\mathbf {A} +\mathbf {A} ^{\top }\right)\mathbf {x} }
Aはx の関数ではないAは対称であるxAxx={\displaystyle {\frac {\partial \mathbf {x} ^{\top }\mathbf {A} \mathbf {x} }{\partial \mathbf {x} }}=}2xA{\displaystyle 2\mathbf {x} ^{\top }\mathbf {A} }2Ax{\displaystyle 2\mathbf {A} \mathbf {x} }
Aはxの関数ではない2xAxxx={\displaystyle {\frac {\partial ^{2}\mathbf {x} ^{\top }\mathbf {A} \mathbf {x} }{\partial \mathbf {x} \partial \mathbf {x} ^{\top }}}=}A+A{\displaystyle \mathbf {A} +\mathbf {A} ^{\top }}
Aはx の関数ではないAは対称である2xAxxx={\displaystyle {\frac {\partial ^{2}\mathbf {x} ^{\top }\mathbf {A} \mathbf {x} }{\partial \mathbf {x} \partial \mathbf {x} ^{\top }}}=}2A{\displaystyle 2\mathbf {A} }
(xx)x=xxx=x2x={\displaystyle {\frac {\partial (\mathbf {x} \cdot \mathbf {x} )}{\partial \mathbf {x} }}={\frac {\partial \mathbf {x} ^{\top }\mathbf {x} }{\partial \mathbf {x} }}={\frac {\partial \left\Vert \mathbf {x} \right\Vert ^{2}}{\partial \mathbf {x} }}=}2x{\displaystyle 2\mathbf {x} ^{\top }}2x{\displaystyle 2\mathbf {x} }
aはxの関数ではない、 u = u ( x )(au)x=aux={\displaystyle {\frac {\partial (\mathbf {a} \cdot \mathbf {u} )}{\partial \mathbf {x} }}={\frac {\partial \mathbf {a} ^{\top }\mathbf {u} }{\partial \mathbf {x} }}=}aux{\displaystyle \mathbf {a} ^{\top }{\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}}

ux{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}}分子レイアウト

uxa{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}\mathbf {a} }

ux{\displaystyle {\frac {\partial \mathbf {u} }{\partial \mathbf {x} }}}分母レイアウト

a bはxの関数ではないaxxbx={\displaystyle {\frac {\partial \;{\textbf {a}}^{\top }{\textbf {x}}{\textbf {x}}^{\top }{\textbf {b}}}{\partial \;{\textbf {x}}}}=}x(ab+ba){\displaystyle {\textbf {x}}^{\top }\left({\textbf {a}}{\textbf {b}}^{\top }+{\textbf {b}}{\textbf {a}}^{\top }\right)}(ab+ba)x{\displaystyle \left({\textbf {a}}{\textbf {b}}^{\top }+{\textbf {b}}{\textbf {a}}^{\top }\right){\textbf {x}}}
A b C D eはxの関数ではない(Ax+b)C(Dx+e)x={\displaystyle {\frac {\partial \;({\textbf {A}}{\textbf {x}}+{\textbf {b}})^{\top }{\textbf {C}}({\textbf {D}}{\textbf {x}}+{\textbf {e}})}{\partial \;{\textbf {x}}}}=}(Dx+e)CA+(Ax+b)CD{\displaystyle ({\textbf {D}}{\textbf {x}}+{\textbf {e}})^{\top }{\textbf {C}}^{\top }{\textbf {A}}+({\textbf {A}}{\textbf {x}}+{\textbf {b}})^{\top }{\textbf {C}}{\textbf {D}}}DC(Ax+b)+AC(Dx+e){\displaystyle {\textbf {D}}^{\top }{\textbf {C}}^{\top }({\textbf {A}}{\textbf {x}}+{\textbf {b}})+{\textbf {A}}^{\top }{\textbf {C}}({\textbf {D}}{\textbf {x}}+{\textbf {e}})}
aはxの関数ではないxax={\displaystyle {\frac {\partial \;\|\mathbf {x} -\mathbf {a} \|}{\partial \;\mathbf {x} }}=}(xa)xa{\displaystyle {\frac {(\mathbf {x} -\mathbf {a} )^{\top }}{\|\mathbf {x} -\mathbf {a} \|}}}xaxa{\displaystyle {\frac {\mathbf {x} -\mathbf {a} }{\|\mathbf {x} -\mathbf {a} \|}}}

ベクトルとスカラーの恒等式

恒等式: ベクトル対スカラーyx{\displaystyle {\frac {\partial \mathbf {y} }{\partial x}}}
状態 表現 分子レイアウト、つまりyによる結果は列ベクトル 分母レイアウト、つまりy Tによる結果は行ベクトル
aはxの関数ではないax={\displaystyle {\frac {\partial \mathbf {a} }{\partial x}}=}0{\displaystyle \mathbf {0} }[注 1 ]
aはxの関数ではない、 u = u ( x )aux={\displaystyle {\frac {\partial a\mathbf {u} }{\partial x}}=}aux{\displaystyle a{\frac {\partial \mathbf {u} }{\partial x}}}
Aはxの関数ではない、 u = u ( x )Aux={\displaystyle {\frac {\partial \mathbf {A} \mathbf {u} }{\partial x}}=}Aux{\displaystyle \mathbf {A} {\frac {\partial \mathbf {u} }{\partial x}}}uxA{\displaystyle {\frac {\partial \mathbf {u} }{\partial x}}\mathbf {A} ^{\top }}
u = u ( x )ux={\displaystyle {\frac {\partial \mathbf {u} ^{\top }}{\partial x}}=}(ux){\displaystyle \left({\frac {\partial \mathbf {u} }{\partial x}}\right)^{\top }}
u = u ( x ) v = v ( x )(u+v)x={\displaystyle {\frac {\partial (\mathbf {u} +\mathbf {v} )}{\partial x}}=}ux+vx{\displaystyle {\frac {\partial \mathbf {u} }{\partial x}}+{\frac {\partial \mathbf {v} }{\partial x}}}
u = u ( x ) v = v ( x )(u×v)x={\displaystyle {\frac {\partial (\mathbf {u} ^{\top }\times \mathbf {v} )}{\partial x}}=}(ux)×v+u×vx{\displaystyle \left({\frac {\partial \mathbf {u} }{\partial x}}\right)^{\top }\times \mathbf {v} +\mathbf {u} ^{\top }\times {\frac {\partial \mathbf {v} }{\partial x}}}ux×v+u×(vx){\displaystyle {\frac {\partial \mathbf {u} }{\partial x}}\times \mathbf {v} +\mathbf {u} ^{\top }\times \left({\frac {\partial \mathbf {v} }{\partial x}}\right)^{\top }}
u = u ( x )g(u)x={\displaystyle {\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial x}}=}g(u)uux{\displaystyle {\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial \mathbf {u} }}{\frac {\partial \mathbf {u} }{\partial x}}}uxg(u)u{\displaystyle {\frac {\partial \mathbf {u} }{\partial x}}{\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial \mathbf {u} }}}
一貫したマトリックスレイアウトを想定しています。以下を参照してください。
u = u ( x )f(g(u))x={\displaystyle {\frac {\partial \mathbf {f} (\mathbf {g} (\mathbf {u} ))}{\partial x}}=}f(g)gg(u)uux{\displaystyle {\frac {\partial \mathbf {f} (\mathbf {g} )}{\partial \mathbf {g} }}{\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial \mathbf {u} }}{\frac {\partial \mathbf {u} }{\partial x}}}uxg(u)uf(g)g{\displaystyle {\frac {\partial \mathbf {u} }{\partial x}}{\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial \mathbf {u} }}{\frac {\partial \mathbf {f} (\mathbf {g} )}{\partial \mathbf {g} }}}
一貫したマトリックスレイアウトを想定しています。以下を参照してください。
U = U ( x ) v = v ( x )(U×v)x={\displaystyle {\frac {\partial (\mathbf {U} \times \mathbf {v} )}{\partial x}}=}Ux×v+U×vx{\displaystyle {\frac {\partial \mathbf {U} }{\partial x}}\times \mathbf {v} +\mathbf {U} \times {\frac {\partial \mathbf {v} }{\partial x}}}v×(Ux)+vx×U{\displaystyle \mathbf {v} ^{\top }\times \left({\frac {\partial \mathbf {U} }{\partial x}}\right)+{\frac {\partial \mathbf {v} }{\partial x}}\times \mathbf {U} ^{\top }}

注意: ベクトルごとの導関数および(出力が行列) を含む式では、行列がベクトルのレイアウトと一致して配置されていることを前提としています。つまり、分子レイアウト ベクトルの場合は分子レイアウト 行列、その逆も同様です。それ以外の場合は、ベクトルごとの導関数を転置します。 g(u)u{\displaystyle {\frac {\partial \mathbf {g} (\mathbf {u} )}{\partial \mathbf {u} }}}f(g)g{\displaystyle {\frac {\partial \mathbf {f} (\mathbf {g} )}{\partial \mathbf {g} }}}

スカラーと行列の恒等式

スカラー積則連鎖律は、行列の行列値関数に適用する場合、厳密には存在しないことに注意してください。しかし、この種の積則は微分形式(下記参照)には適用可能であり、これはトレース関数を含む以下の多くの恒等式を導く方法でもあります。さらに、トレース関数は転置と巡回置換を許容するという事実も考慮に入れると、以下のようになります。

tr(A)=tr(A)tr(ABCD)=tr(BCDA)=tr(CDAB)=tr(DABC){\displaystyle {\begin{aligned}\operatorname {tr} (\mathbf {A} )&=\operatorname {tr} \left(\mathbf {A^{\top }} \right)\\\operatorname {tr} (\mathbf {ABCD} )&=\operatorname {tr} (\mathbf {BCDA} )=\operatorname {tr} (\mathbf {CDAB} )=\operatorname {tr} (\mathbf {DABC} )\end{aligned}}}

例えば、計算するにはtr(AXBXC)X:{\displaystyle {\frac {\partial \operatorname {tr} (\mathbf {AXBX^{\top }C} )}{\partial \mathbf {X} }}:}dtr(AXBXC)=dtr(CAXBX)=tr(d(CAXBX))=tr(CAXd(BX)+d(CAX)BX)=tr(CAXd(BX))+tr(d(CAX)BX)=tr(CAXBd(X))+tr(CA(dX)BX)=tr(CAXB(dX))+tr(CA(dX)BX)=tr((CAXB(dX)))+tr(CA(dX)BX)=tr((dX)BXAC)+tr(CA(dX)BX)=tr(BXAC(dX))+tr(BXCA(dX))=tr((BXAC+BXCA)dX)=tr((CAXB+ACXB)dX){\displaystyle {\begin{aligned}d\operatorname {tr} (\mathbf {AXBX^{\top }C} )&=d\operatorname {tr} \left(\mathbf {CAXBX^{\top }} \right)=\operatorname {tr} \left(d\left(\mathbf {CAXBX^{\top }} \right)\right)\\[1ex]&=\operatorname {tr} \left(\mathbf {CAX} d(\mathbf {BX^{\top }} \right)+d\left(\mathbf {CAX} )\mathbf {BX^{\top }} \right)\\[1ex]&=\operatorname {tr} \left(\mathbf {CAX} d\left(\mathbf {BX^{\top }} \right)\right)+\operatorname {tr} \left(d(\mathbf {CAX} )\mathbf {BX^{\top }} \right)\\[1ex]&=\operatorname {tr} \left(\mathbf {CAXB} d\left(\mathbf {X^{\top }} \right)\right)+\operatorname {tr} \left(\mathbf {CA} (d\mathbf {X} )\mathbf {BX^{\top }} \right)\\[1ex]&=\operatorname {tr} \left(\mathbf {CAXB} (d\mathbf {X} )^{\top }\right)+\operatorname {tr} (\mathbf {CA} \left(d\mathbf {X} )\mathbf {BX^{\top }} \right)\\[1ex]&=\operatorname {tr} \left(\left(\mathbf {CAXB} (d\mathbf {X} )^{\top }\right)^{\top }\right)+\operatorname {tr} \left(\mathbf {CA} (d\mathbf {X} )\mathbf {BX^{\top }} \right)\\[1ex]&=\operatorname {tr} \left((d\mathbf {X} )\mathbf {B^{\top }X^{\top }A^{\top }C^{\top }} \right)+\operatorname {tr} \left(\mathbf {CA} (d\mathbf {X} )\mathbf {BX^{\top }} \right)\\[1ex]&=\operatorname {tr} \left(\mathbf {B^{\top }X^{\top }A^{\top }C^{\top }} (d\mathbf {X} )\right)+\operatorname {tr} \left(\mathbf {BX^{\top }} \mathbf {CA} (d\mathbf {X} )\right)\\[1ex]&=\operatorname {tr} \left(\left(\mathbf {B^{\top }X^{\top }A^{\top }C^{\top }} +\mathbf {BX^{\top }} \mathbf {CA} \right)d\mathbf {X} \right)\\[1ex]&=\operatorname {tr} \left(\left(\mathbf {CAXB} +\mathbf {A^{\top }C^{\top }XB^{\top }} \right)^{\top }d\mathbf {X} \right)\end{aligned}}}

したがって、

tr(AXBXC)X=BXAC+BXCA.{\displaystyle {\frac {\partial \operatorname {tr} \left(\mathbf {AXBX^{\top }C} \right)}{\partial \mathbf {X} }}=\mathbf {B^{\top }X^{\top }A^{\top }C^{\top }} +\mathbf {BX^{\top }CA} .}(分子レイアウト)
tr(AXBXC)X=CAXB+ACXB.{\displaystyle {\frac {\partial \operatorname {tr} \left(\mathbf {AXBX^{\top }C} \right)}{\partial \mathbf {X} }}=\mathbf {CAXB} +\mathbf {A^{\top }C^{\top }XB^{\top }} .}(分母レイアウト)

(最後のステップについては、「微分形式から微分形式への変換」セクションを参照してください。)

恒等式: スカラー対行列yX{\displaystyle {\frac {\partial y}{\partial \mathbf {X} }}}
状態 表現 分子レイアウト、つまりX T分母レイアウト、つまりX順
aはXの関数ではないaX={\displaystyle {\frac {\partial a}{\partial \mathbf {X} }}=}0{\displaystyle \mathbf {0} ^{\top }}[注 2 ]0{\displaystyle \mathbf {0} }[注 2 ]
aはXの関数ではない、 u = u ( X )auX={\displaystyle {\frac {\partial au}{\partial \mathbf {X} }}=}auX{\displaystyle a{\frac {\partial u}{\partial \mathbf {X} }}}
u = u ( X ) v = v ( X )(u+v)X={\displaystyle {\frac {\partial (u+v)}{\partial \mathbf {X} }}=}uX+vX{\displaystyle {\frac {\partial u}{\partial \mathbf {X} }}+{\frac {\partial v}{\partial \mathbf {X} }}}
u = u ( X ) v = v ( X )uvX={\displaystyle {\frac {\partial uv}{\partial \mathbf {X} }}=}uvX+vuX{\displaystyle u{\frac {\partial v}{\partial \mathbf {X} }}+v{\frac {\partial u}{\partial \mathbf {X} }}}
u = u ( X )g(u)X={\displaystyle {\frac {\partial g(u)}{\partial \mathbf {X} }}=}g(u)uuX{\displaystyle {\frac {\partial g(u)}{\partial u}}{\frac {\partial u}{\partial \mathbf {X} }}}
u = u ( X )f(g(u))X={\displaystyle {\frac {\partial f(g(u))}{\partial \mathbf {X} }}=}f(g)gg(u)uuX{\displaystyle {\frac {\partial f(g)}{\partial g}}{\frac {\partial g(u)}{\partial u}}{\frac {\partial u}{\partial \mathbf {X} }}}
U = U ( X )[ 3 ]    g(U)Xij={\displaystyle {\frac {\partial g(\mathbf {U} )}{\partial X_{ij}}}=}tr(g(U)UUXij){\displaystyle \operatorname {tr} \left({\frac {\partial g(\mathbf {U} )}{\partial \mathbf {U} }}{\frac {\partial \mathbf {U} }{\partial X_{ij}}}\right)}tr((g(U)U)UXij){\displaystyle \operatorname {tr} \left(\left({\frac {\partial g(\mathbf {U} )}{\partial \mathbf {U} }}\right)^{\top }{\frac {\partial \mathbf {U} }{\partial X_{ij}}}\right)}
どちらの形式も分子のレイアウトを前提としており、UXij,{\displaystyle {\frac {\partial \mathbf {U} }{\partial X_{ij}}},}

つまり、 Xの分母レイアウトが使用されている場合は混合レイアウトになります。

abはXの関数ではないaXbX={\displaystyle {\frac {\partial \mathbf {a} ^{\top }\mathbf {X} \mathbf {b} }{\partial \mathbf {X} }}=}ba{\displaystyle \mathbf {b} \mathbf {a} ^{\top }}ab{\displaystyle \mathbf {a} \mathbf {b} ^{\top }}
abはXの関数ではないaXbX={\displaystyle {\frac {\partial \mathbf {a} ^{\top }\mathbf {X} ^{\top }\mathbf {b} }{\partial \mathbf {X} }}=}ab{\displaystyle \mathbf {a} \mathbf {b} ^{\top }}ba{\displaystyle \mathbf {b} \mathbf {a} ^{\top }}
abはXの関数ではない、 f( v )は実数値微分可能関数である f(Xa+b)X={\displaystyle {\frac {\partial f(\mathbf {Xa+b} )}{\partial \mathbf {X} }}=}afv{\displaystyle \mathbf {a} {\frac {\partial f}{\partial \mathbf {v} }}}fva{\displaystyle {\frac {\partial f}{\partial \mathbf {v} }}\mathbf {a} ^{\top }}
a b 、 CXの関数ではない(Xa+b)C(Xa+b)X={\displaystyle {\frac {\partial (\mathbf {X} \mathbf {a} +\mathbf {b} )^{\top }\mathbf {C} (\mathbf {X} \mathbf {a} +\mathbf {b} )}{\partial \mathbf {X} }}=}((C+C)(Xa+b)a){\displaystyle \left(\left(\mathbf {C} +\mathbf {C} ^{\top }\right)(\mathbf {X} \mathbf {a} +\mathbf {b} )\mathbf {a} ^{\top }\right)^{\top }}(C+C)(Xa+b)a{\displaystyle \left(\mathbf {C} +\mathbf {C} ^{\top }\right)(\mathbf {X} \mathbf {a} +\mathbf {b} )\mathbf {a} ^{\top }}
a b 、 CXの関数ではない(Xa)C(Xb)X={\displaystyle {\frac {\partial (\mathbf {X} \mathbf {a} )^{\top }\mathbf {C} (\mathbf {X} \mathbf {b} )}{\partial \mathbf {X} }}=}(CXba+CXab){\displaystyle \left(\mathbf {C} \mathbf {X} \mathbf {b} \mathbf {a} ^{\top }+\mathbf {C} ^{\top }\mathbf {X} \mathbf {a} \mathbf {b} ^{\top }\right)^{\top }}CXba+CXab{\displaystyle \mathbf {C} \mathbf {X} \mathbf {b} \mathbf {a} ^{\top }+\mathbf {C} ^{\top }\mathbf {X} \mathbf {a} \mathbf {b} ^{\top }}
tr(X)X={\displaystyle {\frac {\partial \operatorname {tr} (\mathbf {X} )}{\partial \mathbf {X} }}=}I{\displaystyle \mathbf {I} }
U = U ( X ) V = V ( X )tr(U+V)X={\displaystyle {\frac {\partial \operatorname {tr} (\mathbf {U} +\mathbf {V} )}{\partial \mathbf {X} }}=}tr(U)X+tr(V)X{\displaystyle {\frac {\partial \operatorname {tr} (\mathbf {U} )}{\partial \mathbf {X} }}+{\frac {\partial \operatorname {tr} (\mathbf {V} )}{\partial \mathbf {X} }}}
aはXの関数ではない、 U = U ( X )tr(aU)X={\displaystyle {\frac {\partial \operatorname {tr} (a\mathbf {U} )}{\partial \mathbf {X} }}=}atr(U)X{\displaystyle a{\frac {\partial \operatorname {tr} (\mathbf {U} )}{\partial \mathbf {X} }}}
g ( X )スカラー係数を持つ任意の多項式、または無限多項式級数(例えばテイラー級数を用いたe X sin( X ) cos( X ) ln( X )など)で定義される任意の行列関数である。g ( x )は等価なスカラー関数、 g ( x )はその導関数、 g ( X )は対応する行列関数であるtr(g(X))X={\displaystyle {\frac {\partial \operatorname {tr} (\mathbf {g(X)} )}{\partial \mathbf {X} }}=}g(X){\displaystyle \mathbf {g} '(\mathbf {X} )}(g(X)){\displaystyle \left(\mathbf {g} '(\mathbf {X} )\right)^{\top }}
AはXの関数ではない[ 4 ]    tr(AX)X=tr(XA)X={\displaystyle {\frac {\partial \operatorname {tr} (\mathbf {AX} )}{\partial \mathbf {X} }}={\frac {\partial \operatorname {tr} (\mathbf {XA} )}{\partial \mathbf {X} }}=}A{\displaystyle \mathbf {A} }A{\displaystyle \mathbf {A} ^{\top }}
AはXの関数ではない[ 3 ]    tr(AX)X=tr(XA)X={\displaystyle {\frac {\partial \operatorname {tr} \left(\mathbf {AX^{\top }} \right)}{\partial \mathbf {X} }}={\frac {\partial \operatorname {tr} \left(\mathbf {X^{\top }A} \right)}{\partial \mathbf {X} }}=}A{\displaystyle \mathbf {A} ^{\top }}A{\displaystyle \mathbf {A} }
AはXの関数ではない[ 3 ]    tr(XAX)X={\displaystyle {\frac {\partial \operatorname {tr} \left(\mathbf {X^{\top }AX} \right)}{\partial \mathbf {X} }}=}X(A+A){\displaystyle \mathbf {X} ^{\top }\left(\mathbf {A} +\mathbf {A} ^{\top }\right)}(A+A)X{\displaystyle \left(\mathbf {A} +\mathbf {A} ^{\top }\right)\mathbf {X} }
AはXの関数ではない[ 3 ]    tr(X1A)X={\displaystyle {\frac {\partial \operatorname {tr} (\mathbf {X^{-1}A} )}{\partial \mathbf {X} }}=}X1AX1{\displaystyle -\mathbf {X} ^{-1}\mathbf {A} \mathbf {X} ^{-1}}(X1)A(X1){\displaystyle -\left(\mathbf {X} ^{-1}\right)^{\top }\mathbf {A} ^{\top }\left(\mathbf {X} ^{-1}\right)^{\top }}
A BはXの関数ではないtr(AXB)X=tr(BAX)X={\displaystyle {\frac {\partial \operatorname {tr} (\mathbf {AXB} )}{\partial \mathbf {X} }}={\frac {\partial \operatorname {tr} (\mathbf {BAX} )}{\partial \mathbf {X} }}=}BA{\displaystyle \mathbf {BA} }AB{\displaystyle \mathbf {A^{\top }B^{\top }} }
A B CはXの関数ではないtr(AXBXC)X={\displaystyle {\frac {\partial \operatorname {tr} \left(\mathbf {AXBX^{\top }C} \right)}{\partial \mathbf {X} }}=}BXCA+BXAC{\displaystyle \mathbf {BX^{\top }CA} +\mathbf {B^{\top }X^{\top }A^{\top }C^{\top }} }ACXB+CAXB{\displaystyle \mathbf {A^{\top }C^{\top }XB^{\top }} +\mathbf {CAXB} }
nは正の整数である[ 3 ]    tr(Xn)X={\displaystyle {\frac {\partial \operatorname {tr} \left(\mathbf {X} ^{n}\right)}{\partial \mathbf {X} }}=}nXn1{\displaystyle n\mathbf {X} ^{n-1}}n(Xn1){\displaystyle n\left(\mathbf {X} ^{n-1}\right)^{\top }}
AはXの関数ではなく、 nは正の整数である[ 3 ]    tr(AXn)X={\displaystyle {\frac {\partial \operatorname {tr} \left(\mathbf {A} \mathbf {X} ^{n}\right)}{\partial \mathbf {X} }}=}i=0n1XiAXni1{\displaystyle \sum _{i=0}^{n-1}\mathbf {X} ^{i}\mathbf {A} \mathbf {X} ^{n-i-1}}i=0n1(XiAXni1){\displaystyle \sum _{i=0}^{n-1}\left(\mathbf {X} ^{i}\mathbf {A} \mathbf {X} ^{n-i-1}\right)^{\top }}
[ 3 ]    tr(eX)X={\displaystyle {\frac {\partial \operatorname {tr} \left(e^{\mathbf {X} }\right)}{\partial \mathbf {X} }}=}eX{\displaystyle e^{\mathbf {X} }}(eX){\displaystyle \left(e^{\mathbf {X} }\right)^{\top }}
[ 3 ]    tr(sin(X))X={\displaystyle {\frac {\partial \operatorname {tr} (\sin(\mathbf {X} ))}{\partial \mathbf {X} }}=}cos(X){\displaystyle \cos(\mathbf {X} )}(cos(X)){\displaystyle (\cos(\mathbf {X} ))^{\top }}
[ 5 ]    |X|X={\displaystyle {\frac {\partial |\mathbf {X} |}{\partial \mathbf {X} }}=}cofactor(X)=|X|X1{\displaystyle \operatorname {cofactor} (X)^{\top }=|\mathbf {X} |\mathbf {X} ^{-1}}cofactor(X)=|X|(X1){\displaystyle \operatorname {cofactor} (X)=|\mathbf {X} |\left(\mathbf {X} ^{-1}\right)^{\top }}
aはXの関数ではない[ 3 ] [注 3 ]ln|aX|X={\displaystyle {\frac {\partial \ln |a\mathbf {X} |}{\partial \mathbf {X} }}=}X1{\displaystyle \mathbf {X} ^{-1}}(X1){\displaystyle \left(\mathbf {X} ^{-1}\right)^{\top }}
A BはXの関数ではない[ 3 ]     |AXB|X={\displaystyle {\frac {\partial |\mathbf {AXB} |}{\partial \mathbf {X} }}=}|AXB|X1{\displaystyle |\mathbf {AXB} |\mathbf {X} ^{-1}}|AXB|(X1){\displaystyle |\mathbf {AXB} |\left(\mathbf {X} ^{-1}\right)^{\top }}
nは正の整数である[ 3 ]    |Xn|X={\displaystyle {\frac {\partial \left|\mathbf {X} ^{n}\right|}{\partial \mathbf {X} }}=}n|Xn|X1{\displaystyle n\left|\mathbf {X} ^{n}\right|\mathbf {X} ^{-1}}n|Xn|(X1){\displaystyle n\left|\mathbf {X} ^{n}\right|\left(\mathbf {X} ^{-1}\right)^{\top }}
擬似逆関数を参照)[ 3 ]      ln|XX|X={\displaystyle {\frac {\partial \ln \left|\mathbf {X} ^{\top }\mathbf {X} \right|}{\partial \mathbf {X} }}=}2X+{\displaystyle 2\mathbf {X} ^{+}}2(X+){\displaystyle 2\left(\mathbf {X} ^{+}\right)^{\top }}
擬似逆関数を参照)[ 3 ]     ln|XX|X+={\displaystyle {\frac {\partial \ln \left|\mathbf {X} ^{\top }\mathbf {X} \right|}{\partial \mathbf {X} ^{+}}}=}2X{\displaystyle -2\mathbf {X} }2X{\displaystyle -2\mathbf {X} ^{\top }}
AはXの関数ではない。X正則かつ逆関数である。|XAX|X={\displaystyle {\frac {\partial \left|\mathbf {X^{\top }} \mathbf {A} \mathbf {X} \right|}{\partial \mathbf {X} }}=}2|XAX|X1=2|X||A||X|X1{\displaystyle 2\left|\mathbf {X^{\top }} \mathbf {A} \mathbf {X} \right|\mathbf {X} ^{-1}=2\left|\mathbf {X^{\top }} \right||\mathbf {A} ||\mathbf {X} |\mathbf {X} ^{-1}}2|XAX|(X1){\displaystyle 2\left|\mathbf {X^{\top }} \mathbf {A} \mathbf {X} \right|\left(\mathbf {X} ^{-1}\right)^{\top }}
AはXの関数ではない、 Xは非正方、 Aは対称である|XAX|X={\displaystyle {\frac {\partial \left|\mathbf {X^{\top }} \mathbf {A} \mathbf {X} \right|}{\partial \mathbf {X} }}=}2|XAX|(XAX)1XA{\displaystyle 2\left|\mathbf {X^{\top }} \mathbf {A} \mathbf {X} \right|\left(\mathbf {X^{\top }A^{\top }X} \right)^{-1}\mathbf {X^{\top }A^{\top }} }2|XAX|AX(XAX)1{\displaystyle 2\left|\mathbf {X^{\top }} \mathbf {A} \mathbf {X} \right|\mathbf {AX} \left(\mathbf {X^{\top }AX} \right)^{-1}}
AはXの関数ではない、 Xは非正方、 Aは非対称である|XAX|X={\displaystyle {\frac {\partial |\mathbf {X^{\top }} \mathbf {A} \mathbf {X} |}{\partial \mathbf {X} }}=}|XAX|((XAX)1XA+(XAX)1XA){\displaystyle {\begin{aligned}\left|\mathbf {X^{\top }} \mathbf {A} \mathbf {X} \right|{\Big (}&\left(\mathbf {X^{\top }AX} \right)^{-1}\mathbf {X^{\top }A} +{}\\&\left(\mathbf {X^{\top }A^{\top }X} \right)^{-1}\mathbf {X^{\top }A^{\top }} {\Big )}\end{aligned}}}|XAX|(AX(XAX)1+AX(XAX)1){\displaystyle {\begin{aligned}\left|\mathbf {X^{\top }} \mathbf {A} \mathbf {X} \right|{\Big (}&\mathbf {AX} \left(\mathbf {X^{\top }AX} \right)^{-1}+{}\\&\mathbf {A^{\top }X} \left(\mathbf {X^{\top }A^{\top }X} \right)^{-1}{\Big )}\end{aligned}}}

行列とスカラーの恒等式

恒等式: 行列とスカラーYx{\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}}}
状態 表現 分子レイアウト、つまりY順
U = U ( x )aUx={\displaystyle {\frac {\partial a\mathbf {U} }{\partial x}}=}aUx{\displaystyle a{\frac {\partial \mathbf {U} }{\partial x}}}
A Bはxの関数ではない、 U = U ( x )AUBx={\displaystyle {\frac {\partial \mathbf {AUB} }{\partial x}}=}AUxB{\displaystyle \mathbf {A} {\frac {\partial \mathbf {U} }{\partial x}}\mathbf {B} }
U = U ( x ) V = V ( x )(U+V)x={\displaystyle {\frac {\partial (\mathbf {U} +\mathbf {V} )}{\partial x}}=}Ux+Vx{\displaystyle {\frac {\partial \mathbf {U} }{\partial x}}+{\frac {\partial \mathbf {V} }{\partial x}}}
U = U ( x ) V = V ( x )(UV)x={\displaystyle {\frac {\partial (\mathbf {U} \mathbf {V} )}{\partial x}}=}UVx+UxV{\displaystyle \mathbf {U} {\frac {\partial \mathbf {V} }{\partial x}}+{\frac {\partial \mathbf {U} }{\partial x}}\mathbf {V} }
U = U ( x ) V = V ( x )(UV)x={\displaystyle {\frac {\partial (\mathbf {U} \otimes \mathbf {V} )}{\partial x}}=}UVx+UxV{\displaystyle \mathbf {U} \otimes {\frac {\partial \mathbf {V} }{\partial x}}+{\frac {\partial \mathbf {U} }{\partial x}}\otimes \mathbf {V} }
U = U ( x ) V = V ( x )(UV)x={\displaystyle {\frac {\partial (\mathbf {U} \circ \mathbf {V} )}{\partial x}}=}UVx+UxV{\displaystyle \mathbf {U} \circ {\frac {\partial \mathbf {V} }{\partial x}}+{\frac {\partial \mathbf {U} }{\partial x}}\circ \mathbf {V} }
U = U ( x )U1x={\displaystyle {\frac {\partial \mathbf {U} ^{-1}}{\partial x}}=}U1UxU1{\displaystyle -\mathbf {U} ^{-1}{\frac {\partial \mathbf {U} }{\partial x}}\mathbf {U} ^{-1}}
U = U ( x , y )2U1xy={\displaystyle {\frac {\partial ^{2}\mathbf {U} ^{-1}}{\partial x\partial y}}=}U1(UxU1Uy2Uxy+UyU1Ux)U1{\displaystyle \mathbf {U} ^{-1}\left({\frac {\partial \mathbf {U} }{\partial x}}\mathbf {U} ^{-1}{\frac {\partial \mathbf {U} }{\partial y}}-{\frac {\partial ^{2}\mathbf {U} }{\partial x\partial y}}+{\frac {\partial \mathbf {U} }{\partial y}}\mathbf {U} ^{-1}{\frac {\partial \mathbf {U} }{\partial x}}\right)\mathbf {U} ^{-1}}
Aはxの関数ではなく、 g ( X )はスカラー係数を持つ任意の多項式、または無限多項式級数によって定義される任意の行列関数(例: eX sin ( X ) cos( X ) ln( X )など)であり、 g ( x )は等価なスカラー関数、 g ( x )はその導関数、 g ( X )は対応する行列関数であるg(xA)x={\displaystyle {\frac {\partial \,\mathbf {g} (x\mathbf {A} )}{\partial x}}=}Ag(xA)=g(xA)A{\displaystyle \mathbf {A} \mathbf {g} '(x\mathbf {A} )=\mathbf {g} '(x\mathbf {A} )\mathbf {A} }
Aはxの関数ではないexAx={\displaystyle {\frac {\partial e^{x\mathbf {A} }}{\partial x}}=}AexA=exAA{\displaystyle \mathbf {A} e^{x\mathbf {A} }=e^{x\mathbf {A} }\mathbf {A} }

スカラーごとの恒等式

ベクトルが関与する

恒等式: スカラーごとに、ベクトルを含む
状態 表現 任意のレイアウト(ドット積は行と列のレイアウトを無視すると想定)
u = u ( x )g(u)x={\displaystyle {\frac {\partial g(\mathbf {u} )}{\partial x}}=}g(u)uux{\displaystyle {\frac {\partial g(\mathbf {u} )}{\partial \mathbf {u} }}\cdot {\frac {\partial \mathbf {u} }{\partial x}}}
u = u ( x ) v = v ( x )(uv)x={\displaystyle {\frac {\partial (\mathbf {u} \cdot \mathbf {v} )}{\partial x}}=}uvx+uxv{\displaystyle \mathbf {u} \cdot {\frac {\partial \mathbf {v} }{\partial x}}+{\frac {\partial \mathbf {u} }{\partial x}}\cdot \mathbf {v} }

行列が関係する

恒等式:スカラー対スカラー、行列を含む[ 3 ]
状態 表現 一貫した分子レイアウト、つまりYX TYXの混合レイアウト
U = U ( x )|U|x={\displaystyle {\frac {\partial |\mathbf {U} |}{\partial x}}=}|U|tr(U1Ux){\displaystyle |\mathbf {U} |\operatorname {tr} \left(\mathbf {U} ^{-1}{\frac {\partial \mathbf {U} }{\partial x}}\right)}
U = U ( x )ln|U|x={\displaystyle {\frac {\partial \ln |\mathbf {U} |}{\partial x}}=}tr(U1Ux){\displaystyle \operatorname {tr} \left(\mathbf {U} ^{-1}{\frac {\partial \mathbf {U} }{\partial x}}\right)}
U = U ( x )2|U|x2={\displaystyle {\frac {\partial ^{2}|\mathbf {U} |}{\partial x^{2}}}=}|U|[tr(U12Ux2)+tr2(U1Ux)tr((U1Ux)2)]{\displaystyle \left|\mathbf {U} \right|\left[\operatorname {tr} \left(\mathbf {U} ^{-1}{\frac {\partial ^{2}\mathbf {U} }{\partial x^{2}}}\right)+\operatorname {tr} ^{2}\left(\mathbf {U} ^{-1}{\frac {\partial \mathbf {U} }{\partial x}}\right)-\operatorname {tr} \left(\left(\mathbf {U} ^{-1}{\frac {\partial \mathbf {U} }{\partial x}}\right)^{2}\right)\right]}
U = U ( x )g(U)x={\displaystyle {\frac {\partial g(\mathbf {U} )}{\partial x}}=}tr(g(U)UUx){\displaystyle \operatorname {tr} \left({\frac {\partial g(\mathbf {U} )}{\partial \mathbf {U} }}{\frac {\partial \mathbf {U} }{\partial x}}\right)}tr((g(U)U)Ux){\displaystyle \operatorname {tr} \left(\left({\frac {\partial g(\mathbf {U} )}{\partial \mathbf {U} }}\right)^{\top }{\frac {\partial \mathbf {U} }{\partial x}}\right)}
Aはxの関数ではなく、 g ( X )はスカラー係数を持つ任意の多項式、または無限多項式級数によって定義される任意の行列関数です (例: e X sin( X ) cos( X ) ln( X )など)。 g ( x )は同等のスカラー関数、 g ( x )はその導関数、 g ( X )は対応する行列関数です。tr(g(xA))x={\displaystyle {\frac {\partial \operatorname {tr} (\mathbf {g} (x\mathbf {A} ))}{\partial x}}=}tr(Ag(xA)){\displaystyle \operatorname {tr} \left(\mathbf {A} \mathbf {g} '(x\mathbf {A} )\right)}
Aはxの関数ではないtr(exA)x={\displaystyle {\frac {\partial \operatorname {tr} \left(e^{x\mathbf {A} }\right)}{\partial x}}=}tr(AexA){\displaystyle \operatorname {tr} \left(\mathbf {A} e^{x\mathbf {A} }\right)}

微分形式の恒等式

微分形式で計算し、その後通常の微分形式に戻す方が簡単な場合が多い。これは分子の配置を用いる場合にのみ有効である。これらの規則では、aはスカラーである。

微分恒等式:行列を含むスカラー[ 1 ] [ 3 ]
表現結果(分子レイアウト)
d(tr(X))={\displaystyle d(\operatorname {tr} (\mathbf {X} ))=}tr(dX){\displaystyle \operatorname {tr} (d\mathbf {X} )}
d(|X|)={\displaystyle d(|\mathbf {X} |)=}|X|tr(X1dX)=tr(adj(X)dX){\displaystyle |\mathbf {X} |\operatorname {tr} \left(\mathbf {X} ^{-1}d\mathbf {X} \right)=\operatorname {tr} (\operatorname {adj} (\mathbf {X} )d\mathbf {X} )}
d(ln|X|)={\displaystyle d(\ln |\mathbf {X} |)=}tr(X1dX){\displaystyle \operatorname {tr} \left(\mathbf {X} ^{-1}d\mathbf {X} \right)}
微分恒等式:マトリックス[ 1 ] [ 3 ] [ 6 ] [ 7 ]
状態表現結果(分子レイアウト)
AはXの関数ではないd(A)={\displaystyle d(\mathbf {A} )=}0{\displaystyle 0}
aはXの関数ではないd(aX)={\displaystyle d(a\mathbf {X} )=}adX{\displaystyle a\,d\mathbf {X} }
d(X+Y)={\displaystyle d(\mathbf {X} +\mathbf {Y} )=}dX+dY{\displaystyle d\mathbf {X} +d\mathbf {Y} }
d(XY)={\displaystyle d(\mathbf {X} \mathbf {Y} )=}(dX)Y+X(dY){\displaystyle (d\mathbf {X} )\mathbf {Y} +\mathbf {X} (d\mathbf {Y} )}
クロネッカー積d(XY)={\displaystyle d(\mathbf {X} \otimes \mathbf {Y} )=}(dX)Y+X(dY){\displaystyle (d\mathbf {X} )\otimes \mathbf {Y} +\mathbf {X} \otimes (d\mathbf {Y} )}
アダマール積d(XY)={\displaystyle d(\mathbf {X} \circ \mathbf {Y} )=}(dX)Y+X(dY){\displaystyle (d\mathbf {X} )\circ \mathbf {Y} +\mathbf {X} \circ (d\mathbf {Y} )}
d(X)={\displaystyle d\left(\mathbf {X} ^{\top }\right)=}(dX){\displaystyle (d\mathbf {X} )^{\top }}
d(X1)={\displaystyle d\left(\mathbf {X} ^{-1}\right)=}X1(dX)X1{\displaystyle -\mathbf {X} ^{-1}\left(d\mathbf {X} \right)\mathbf {X} ^{-1}}
共役転置d(XH)={\displaystyle d\left(\mathbf {X} ^{\mathrm {H} }\right)=}(dX)H{\displaystyle (d\mathbf {X} )^{\mathrm {H} }}
nは正の整数であるd(Xn)={\displaystyle d\left(\mathbf {X} ^{n}\right)=}i=0n1Xi(dX)Xni1{\displaystyle \sum _{i=0}^{n-1}\mathbf {X} ^{i}(d\mathbf {X} )\mathbf {X} ^{n-i-1}}
d(eX)={\displaystyle d\left(e^{\mathbf {X} }\right)=}01eaX(dX)e(1a)Xda{\displaystyle \int _{0}^{1}e^{a\mathbf {X} }(d\mathbf {X} )e^{(1-a)\mathbf {X} }\,da}
d(logX)={\displaystyle d\left(\log {X}\right)=}0(X+zI)1(dX)(X+zI)1dz{\displaystyle \int _{0}^{\infty }(\mathbf {X} +z\,\mathbf {I} )^{-1}(d\mathbf {X} )(\mathbf {X} +z\,\mathbf {I} )^{-1}\,dz}
X=iλiPi{\displaystyle \mathbf {X} =\sum _{i}\lambda _{i}\mathbf {P} _{i}}対角化可能である

PiPj=δijPi{\displaystyle \mathbf {P} _{i}\mathbf {P} _{j}=\delta _{ij}\mathbf {P} _{i}}fはすべての固有値において微分可能であるλi{\displaystyle \lambda _{i}}

d(f(X))={\displaystyle d\left(f(\mathbf {X} )\right)=}ijPi(dX)Pj{f(λi)λi=λjf(λi)f(λj)λiλjλiλj{\displaystyle \sum _{ij}\mathbf {P} _{i}(d\mathbf {X} )\mathbf {P} _{j}{\begin{cases}f'(\lambda _{i})&\lambda _{i}=\lambda _{j}\\{\frac {f(\lambda _{i})-f(\lambda _{j})}{\lambda _{i}-\lambda _{j}}}&\lambda _{i}\neq \lambda _{j}\end{cases}}}

最後の行では、はクロネッカーのデルタであり、はXk番目の固有ベクトルに射影する直交射影演算子の集合です。Q 固有ベクトルの行列であり、は固有値です。行列関数は、の対角化可能な行列のスカラー関数を用いて によって定義されますただし、となります。δij{\displaystyle \delta _{ij}}(Pk)ij=(Q)ik(Q1)kj{\displaystyle (\mathbf {P} _{k})_{ij}=(\mathbf {Q} )_{ik}(\mathbf {Q} ^{-1})_{kj}}X=QΛQ1{\displaystyle \mathbf {X} =\mathbf {Q} {\boldsymbol {\Lambda }}\mathbf {Q} ^{-1}}(Λ)ii=λi{\displaystyle ({\boldsymbol {\Lambda }})_{ii}=\lambda _{i}}f(X){\displaystyle f(\mathbf {X} )}f(x){\displaystyle f(x)}f(X)=if(λi)Pi{\textstyle f(\mathbf {X} )=\sum _{i}f(\lambda _{i})\mathbf {P} _{i}}X=iλiPi{\textstyle \mathbf {X} =\sum _{i}\lambda _{i}\mathbf {P} _{i}}PiPj=δijPi{\displaystyle \mathbf {P} _{i}\mathbf {P} _{j}=\delta _{ij}\mathbf {P} _{i}}

通常の微分形式に変換するには、まず次のいずれかの標準形式に変換してから、これらの恒等式を使用します。

微分形式から微分形式への変換[ 1 ]
標準微分形式同値微分形式(分子配置)
dy=adx{\displaystyle dy=a\,dx}dydx=a{\displaystyle {\frac {dy}{dx}}=a}
dy=adx{\displaystyle dy=\mathbf {a} ^{\top }d\mathbf {x} }dydx=a{\displaystyle {\frac {dy}{d\mathbf {x} }}=\mathbf {a} ^{\top }}
dy=tr(AdX){\displaystyle dy=\operatorname {tr} (\mathbf {A} \,d\mathbf {X} )}dydX=A{\displaystyle {\frac {dy}{d\mathbf {X} }}=\mathbf {A} }
dy=adx{\displaystyle d\mathbf {y} =\mathbf {a} \,dx}dydx=a{\displaystyle {\frac {d\mathbf {y} }{dx}}=\mathbf {a} }
dy=Adx{\displaystyle d\mathbf {y} =\mathbf {A} \,d\mathbf {x} }dydx=A{\displaystyle {\frac {d\mathbf {y} }{d\mathbf {x} }}=\mathbf {A} }
dY=Adx{\displaystyle d\mathbf {Y} =\mathbf {A} \,dx}dYdx=A{\displaystyle {\frac {d\mathbf {Y} }{dx}}=\mathbf {A} }

アプリケーション

行列微分積分は統計学や計量経済学において、特に多変量分布、特に多変量正規分布やその他の楕円分布の統計解析に用いられている。[ 8 ] [ 9 ] [ 10 ]

これは回帰分析において、例えば複数の説明変数がある場合の通常の最小二乗回帰式を計算するために使用されます。[ 11 ] また、ランダム行列、統計モーメント、局所感度、統計診断にも使用されます。[ 12 ] [ 13 ]

参照

注記

  1. ^ a b cここで、はサイズnのすべて 0 の列ベクトルを指します。ここでnはxの長さです。0{\displaystyle \mathbf {0} }
  2. ^ a bここで、はXと同じ形状のすべて 0 の行列を指します。0{\displaystyle \mathbf {0} }
  3. ^定数aは結果では消えています。これは意図的なものです。一般に、 あるいは dlnaudx=1aud(au)dx=1auadudx=1ududx=dlnudx.{\displaystyle {\frac {d\ln au}{dx}}={\frac {1}{au}}{\frac {d(au)}{dx}}={\frac {1}{au}}a{\frac {du}{dx}}={\frac {1}{u}}{\frac {du}{dx}}={\frac {d\ln u}{dx}}.}dlnaudx=d(lna+lnu)dx=dlnadx+dlnudx=dlnudx.{\displaystyle {\frac {d\ln au}{dx}}={\frac {d(\ln a+\ln u)}{dx}}={\frac {d\ln a}{dx}}+{\frac {d\ln u}{dx}}={\frac {d\ln u}{dx}}.}

参考文献

  1. ^ a b c d e Thomas P., Minka (2000年12月28日). 「統計に役立つ古くて新しい行列代数」 . MITメディアラボノート (1997年; 2000年12月改訂) . 2016年2月5日閲覧
  2. ^ Felippa, Carlos A. 「付録D 線形代数:行列式、逆行列、順位」(PDF) ASEN 5007:有限要素法入門コロラド州ボルダー:コロラド大学2016年2月5日閲覧ベクトルおよび行列導関数のヘッセ行列ヤコビ行列への転置)定義を使用します。
  3. ^ a b c d e f g h i j k l m n o p q Petersen, Kaare Brandt; Pedersen, Michael Syskind. The Matrix Cookbook (PDF) . 2010年3月2日時点のオリジナルよりアーカイブ。 2016年2月5日閲覧この本は混合レイアウトを採用しています。つまり、YXにYx,{\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}},}yX.{\displaystyle {\frac {\partial y}{\partial \mathbf {X} }}.}
  4. ^ Duchi, John C. 「トレース微分と行列微分の特性」(PDF) . スタンフォード大学. 2016年2月5日閲覧
  5. ^導出については「行列式 § 微分」を参照してください
  6. ^ Giles, Mike B. (2008). 「順方向および逆方向モードのアルゴリズム的微分化のための行列微分結果の収集」. Bischof, Christian H.; Bücker, H. Martin; Hovland, Paul; Naumann, Uwe; Utke, Jean (編).自動微分化の進歩. 計算科学と工学に関する講義ノート. 第64巻. ベルリン: Springer. pp.  35– 44. doi : 10.1007/978-3-540-68942-3_4 . ISBN 978-3-540-68935-5. MR  2531677 .
  7. ^ S Adler (IAS) による未発表メモ
  8. ^ Fang, Kai-Tai ; Zhang, Yao-Ting (1990).一般化多変量解析. Science Press (北京) および Springer-Verlag (ベルリン). ISBN 3-540-17651-9. 9783540176510.
  9. ^ Pan, Jianxin; Fang, Kaitai (2007).成長曲線モデルと統計診断. 北京: Science Press. ISBN 978-0-387-95053-2
  10. ^コロ、トゥヌ;フォン・ローゼン、ディートリッヒ (2005)。行列を使用した高度な多変量統計。ドルドレヒト: スプリンガー。ISBN 978-1-4020-3418-3
  11. ^マグナス、ヤン、ノイデッカー、ハインツ (2019). 『行列微分計算とその統計学および計量経済学への応用』 ニューヨーク: ジョン・ワイリー. ISBN 978-1-119-54120-2
  12. ^ Liu, Shuangzhe; Leiva, Victor; Zhuang, Dan; Ma, Tiefeng; Figueroa-Zúñiga, Jorge I. (2022). 「行列微分計算とその多変量線形モデルへの応用とその診断法」 . Journal of Multivariate Analysis . 188 104849. doi : 10.1016/j.jmva.2021.104849 .
  13. ^劉双哲;トレンクラー、ゲッツ。コロ、トゥヌ。フォン・ローゼン、ディートリッヒ。バクサラリー、オスカー・マリア(2023)。 「ハインツ・ノイデッカー教授と行列微分積分」。統計論文65 (4): 2605–2639土井: 10.1007/s00362-023-01499-wS2CID 263661094 

さらに読む

  • アバディール、カリム・M.; マグナス、ヤン・R. (2005).行列代数. 計量経済学演習. ケンブリッジ: ケンブリッジ大学出版局. ISBN 978-0-511-64796-3. OCLC  569411497 .
  • Lax, Peter D. (2007). 「9. ベクトル値関数と行列値関数の微積分」.線形代数とその応用(第2版). ホーボーケン, ニュージャージー州: Wiley-Interscience. ISBN 978-0-471-75156-4
  • マグナス, ジャン・R. (2010年10月). 「行列微分の概念について」.多変量解析ジャーナル. 101 (9): 2200–2206 . doi : 10.1016/j.jmva.2010.05.005 .なお、このWikipediaの記事は、この記事で批判されているバージョンからほぼ完全に改訂されていることに注意してください。

ソフトウェア

情報