多変数合成関数の微分(連鎖律)の正しい理解
ある2変数関数の変数として、別の関数の値をとった 合成関数の微分を展開した式は、よく以下のように略記される。
しかしあくまでこれは略記法であって、記号法として正確さを欠いた部分がいくつかある。
1つ目に、合成関数の微分を合成する前の関数の微分として表記している。
2つ目に、微分の記号(ライプニッツ記法)の分母のの横に来るものは、分子のの横に来る関数(微分される関数) の独立変数であるべきであり*1、はこのルールに反している。
略記法の形で連鎖律を覚えていると、いざ具体的な計算をする段になってこのあいまいさで混乱することがある。 例えば、の部分を求めるには具体的に何を計算すべきなのか、などで迷うことがある。 この記事では、多変数合成関数の微分(連鎖律)のできるだけ正確な表現に立ち返ることにより連鎖律の正確な理解を得ることを目指す。
連鎖律の正確な表現
冒頭の例を一般化する。関数をとし、 関数をとしたとき、合成関数の変数についての 微分は
この等式は合成関数の全微分の間に行列積の関係があることから導出することができる*2。 この等式は値としての一致ではなく、関数としての一致を表している。黒い点は関数の点ごとの積を表す*3。 がから合成した合成関数の形になっているのは必然である。もし単にの微分だったら、 左辺は変数関数の微分なので入力の型は変数だが、右辺に個の変数を入力としてとる部分ができてしまう。
略記法の解釈
冒頭で挙げた略記法の不正確さの1つ目について、今扱っている関数が独立な変数のみからなる関数なのか、それともある別の関数を引数に とった合成関数なのかを文脈から判断することで解決可能と思われる。ある関数の独立変数を表す文字を決めておき、微分の分母にその文字がきたら 普通の微分、そうでなければ分母に現れた文字を独立変数にとる関数を合成した合成関数の微分であると解釈する。ただ例えば、が、 がなどという形になっているとき、の変数についての微分は略記法では
となり、同じ記号で表されるものが両辺をみると食い違っているように見える。このような混乱を避けるには 略記法をあきらめて正確な表現に努めるしかないだろう。(合成関数のほうにはチルダを付けるなど。)
不正確さの2つ目について、これはをとして解釈することで救える。
まとめ
連鎖律について、略記法でとあらわされているものが正確な表現では合成関数の微分 に対応し、また略記法でとあらわされているものは正確な表現ではに対応する。
その他合成関数の微分に関して注意したいこと
以下のサイトの内容が参考になる。そもそも合成関数を微分していると気づきにくい場合について説明している。 www.mynote-jp.com
対数の計算をする際の注意(積の対数を対数の和に分解する公式の前提条件)
次の式変形は正しいだろうか?
答えを言うと正しくない。
反例はのとき、左辺はであるが、右辺は対数の中身が負の数になり定義できなくなる。
正しくない理由
この式変形は、
という対数に関する公式を利用したものだと思われるが、公式を適用できる条件を忘れたため間違ってしまった。 この公式が、常に等号が成り立つことを保証しているのはのときのみである。
同様に、
などの公式も、という条件が必要である。
正しい変形
公式が使えるように、対数の中身を正の数のべき乗に書き直すと、
これが正しい式変形である。*1 (ちなみに1行目右辺の対数の中身が0でないことは、変形前の式の値が定義できることから明らか。)
まとめ
対数の中身に積や商があるときに、対数を和や差の形に分解する公式は積や商の構成要素が正になっているように変形してから用いる。
*1:ある数の2乗のルートには絶対値がつくのと似ている。
VSCodeのMarkdown+Mathでブラケット記法を使う方法
VSCodeの拡張機能であるMarkdown+Mathを使って、Markdown文書を作成していたところ、 量子力学におけるブラケット記法がなぜか使えなかった。
\bra{\phi}
のように記述しても、プレビューでうまく表示されない。Markdown+Mathが使っているKaTeXは ブラケット記法をサポートしているはずだが・・・。(Supported Functions · KaTeX)
setteings.jsonファイルを変更してマクロでコマンドを定義することにより、ブラケット記法を使えるようにした。
ブラケット記法を使えるようにする方法
まず、VSCodeを開いて、ウィンドウ左下の歯車アイコンをクリックして設定を開く。
設定のタブの右上にあるアイコンをクリックしてsettings.jsonを開く。 (マウスオーバーで「設定(JSON)を開く」と表示される方のアイコン)
settings.jsonファイルの一番外側の中括弧の中に、以下の内容を追加する。(すでに他の設定がある場合は、前後にカンマを入れるのを忘れないこと。)
"mdmath.macros": { "\\bra":"\\left\\langle#1\\right|", "\\ket":"\\left|#1\\right\\rangle", "\\braket":"\\left\\langle#1\\middle|#2\\right\\rangle", "\\bramket":"\\left\\langle#1\\middle|#2\\middle|#3\\right\\rangle" }
保存して、VSCodeをいったん閉じると、次回以降.mdファイルを開いたときにはプレビューでブラケット記法が正常に表示されるようになっている。 ただし、TeXコマンドの名前は上のコードのダブルクオーテーション内で設定したとおりになっているので、好みに合わせて変更すること。
Markdown All in Oneでの数式の書き方、数式の等号のそろえ方
Markdown All in OneはVisual Studio Code(VSCode)の拡張機能の一つであり、 VSCodeでMarkdownの文書を書く際に便利なショートカットを提供したり、 プレビューを表示してくれたりする。この拡張機能を使う際の数式の書き方、 また数式の等号のそろえ方(式が複数行にわたるとき)を紹介する。
数式の書き方
インライン数式(文章内に埋め込まれる数式)は
$数式$
のように記述する。
ディスプレイ数式(それ専用の行を使って表示される数式)は
$$ 数式 $$
のように記述する。($$で一行使わないとうまくいかない。)
数式は基本的にLaTeXの記法で記述する。例えば分数a/bをインライン数式で書きたかったら、
$\frac{a}{b}$
のように書く。
数式の等号のそろえ方
ディスプレイ数式について、数式が複数行にわたる場合、 等号をそろえたければ以下のように記述する。
$$ \begin{aligned} 数式 &= 数式 \\ &= 数式 \end{aligned} $$
\begin{align}ではなく\begin{aligned}であることに注意。(KaTeXを使っていることが原因らしい? 詳しいことはわからない。)
像、逆像と包含関係
この記事では、集合の包含関係が像、逆像それぞれをとる操作のもとで 保存されることを示す。具体的には下記の二つの命題を示す。また、 それぞれの逆は成り立たないことを反例を挙げて示す。なお、 前提条件として、写像はで、集合は、集合はであるとする。
命題1の証明
命題2の証明
命題1の逆の反例
命題1の逆は「」
としてを考える。
ここで
だが。 反例になっている。
命題2の逆の反例
命題2の逆は「」 としてを考える。 ここで
だが。 反例になっている。
2020/06/05現在「逆像 包含関係」でgoogle検索すると上位に出てくるあるサイトには、 命題2の逆も正しいとする記述があるが、誤りだと自分は思う。
レビチビタ記号に関する性質の証明
この記事では、三階のレビチビタ記号(エディントンのイプシロンとも呼ばれる)のいくつかの性質について証明をする。 定義は以下のウィキペディアの記事などを参考にしてほしい。証明する性質はともにウィキペディアの記事に載っており そのどちらも記事に証明がないためここに書くことにした。
今回証明する性質は以下の二つ。(なお記事内のは1,2,3のいずれかとする。)
性質1
性質2
性質1の証明
のうちどれか二つ以上が等しいとき
左辺は0。また右辺も例えばのとき第一行と第二行が同じになるため 行列式の性質から0。
のうちどの二つも等しくないとき
つまり、がの置換になっているときである。まず偶置換の場合を考える。 このとき
また右辺について、が偶置換より偶数回の行の入れ替えを行うことにより、
つぎに奇置換の場合を考える。このとき
また右辺について、が奇置換より奇数回の行の入れ替えを行うことにより、
よってこの場合、
を示せばよい。
がの置換にならないときは先ほどと同様に両辺0になる。
またの置換になるときは、先ほどと同様にして列を入れ替えれば右辺は単位行列の行列式または
その符号違いになり両辺が等しくなる。
性質2の証明
のとき
左辺は0。右辺も第一行と第二行が等しくなり0。
のとき
左辺についてがの置換になるのみ生き残る。ここでこの残った項について 性質1を適用すると
またももと異なるので、余因子展開を用いると