tecktom.com

接線の傾きと切片で関数を書き直す

2026年10月15日7分で読めますAI生成教科書『虎の巻』第1部 第7章 Legendre 変換(図から)
目次
  1. 関数を傾きで呼び直したい理由
  2. 接線の切片を記録する
  3. 接線の集まりからグラフを描き直す
  4. 木下の層

AI 生成・木下が未勉強

解析力学から様々な理論分野を組み立てる 第1部 第7章 §1.7.1 ★★★ 凸関数は接線の集まりで決まり、接線1本は傾きと切片で決まる。傾きをただ代入すると情報が落ちる

Lagrangian L(q,q˙,t)L(q,\dot q,t) から Hamiltonian H(q,p,t)H(q,p,t) を作る式 H=pq˙−LH=p\dot q-L と、内部エネルギー U(S,V)U(S,V) から Helmholtz の自由エネルギー F(T,V)F(T,V) を作る式 F=U−TSF=U-TS は、どちらも「ある変数を、その変数についての傾きに取り替える」操作で、同じ数学の手続きである。この手続きを Legendre 変換と呼ぶ。学部の授業ではこの2つの式が別々の分野で天下り的に与えられることが多く、「なぜ LL に q˙=p/m\dot q=p/m を代入するだけではいけないのか」「なぜ引き算の項 pq˙p\dot q や TSTS が要るのか」が分からないまま残りやすい。

この章で作る道具は Legendre 変換1つである。先に図を見せる。下に凸な関数のグラフは、各点での接線の集まりで決まり、接線1本は「傾き」と「縦軸との交点(切片)」の2つの数で決まる。したがって、関数を「傾きを入れると切片を返す関数」として書き直しても、もとの関数の情報は1つも落ちない。これが Legendre 変換で、傾きを横軸の値の代わりに使う関数の書き直しである。1.7.1節でこの絵と「傾きをただ代入すると情報が落ちる」ことを示し、1.7.2節で最大値を使う定義と、導関数が逆関数どうしになる性質を出す。1.7.3節では2回変換すると元に戻ること、凸でない関数では戻らないことを確かめる。そのあと、1.7.4節で LL の速度 q˙\dot q を運動量 pp に、1.7.5節で UU のエントロピー SS を温度 TT に取り替え、両方を同じ図に載せる。1.7.6節で授業での書き方と並べる。

Hamilton 方程式と相空間の見方は次の章(第1部第8章)で、熱力学ポテンシャル全体の組み立ては第3部第4章 で扱う。この章では変換そのものの意味を固めることに専念する。

関数を傾きで呼び直したい理由

解析力学では、運動を速度 q˙\dot q で書く代わりに運動量 p=∂L/∂q˙p=\partial L/\partial\dot q で書きたくなる。熱力学では、エントロピー SS は直接測れないが、温度 T=∂U/∂ST=\partial U/\partial S は温度計で測って一定に保てるので、SS の代わりに TT を変数にしたくなる。どちらも、ある関数 f(x)f(x) について、変数 xx をその点での傾き p=f′(x)p=f'(x) に取り替えたい、という同じ要求である。この節では1変数の関数 f(x)f(x) で考え、qq・tt や VV のような取り替えない変数は1.7.4節で足す。

傾きを変数にするために、まず最も素朴なやり方を試す。p=f′(x)p=f'(x) を xx について解いて x=x(p)x=x(p) とし、それを ff に代入した

g(p)≔f(x(p))(1.7.1)g(p)\coloneqq f\bigl(x(p)\bigr)\tag{1.7.1}

を「傾きで書いた ff」とする方法である。これはうまくいかない。たとえば f(x)=12x2f(x)=\frac12x^2 では p=xp=x なので g(p)=12p2g(p)=\frac12p^2 になる。ところが、横に cc だけずらした fc(x)=12(x−c)2f_c(x)=\frac12(x-c)^2 では p=x−cp=x-c なので、やはり g(p)=12p2g(p)=\frac12p^2 になる。異なる関数 ff と fcf_c から同じ gg が得られるので、gg から ff を取り戻すことはできない。

情報が落ちる理由は一般的に述べることができる。gg が分かっているとき、ff は微分方程式 f(x)=g(f′(x))f(x)=g\bigl(f'(x)\bigr) を満たす。この方程式は xx を含まないので、解 f(x)f(x) を横にずらした f(x−c)f(x-c) もまた解になる。つまり gg は「グラフの形」は覚えているが「グラフが横のどこにあるか」を覚えておらず、その分の情報が失われている。

接線の切片を記録する

失われた位置の情報を残すには、傾き pp の接線がどこを通るかも記録すればよい。点 x0x_0 でのグラフの接線は

y=f(x0)+p (x−x0),p=f′(x0)y=f(x_0)+p\,(x-x_0),\qquad p=f'(x_0)

で、縦軸(x=0x=0)との交点、つまり切片は f(x0)−px0f(x_0)-px_0 である(図 1.7.1 の左)。傾き pp を与えるとこの接線が1本決まり、切片が1つの数として決まる。そこで、切片に負号を付けた

f∗(p)≔px0−f(x0),p=f′(x0)(1.7.2)f^*(p)\coloneqq px_0-f(x_0),\qquad p=f'(x_0)\tag{1.7.2}

を傾き pp の関数とみなす。これが Legendre 変換の最初の形で、f∗(p)f^*(p) は「傾き pp の接線の切片の −1-1 倍」である。負号を付けておく理由は、1.7.2節で f∗f^* がまた下に凸になり、同じ操作をもう一度当てられる形にそろうためである。

先の2つの関数で確かめる。f(x)=12x2f(x)=\frac12x^2 では x0=px_0=p なので f∗(p)=p2−12p2=12p2f^*(p)=p^2-\frac12p^2=\frac12p^2 である。fc(x)=12(x−c)2f_c(x)=\frac12(x-c)^2 では x0=p+cx_0=p+c なので fc∗(p)=p(p+c)−12p2=12p2+cpf_c^*(p)=p(p+c)-\frac12p^2=\frac12p^2+cp となり、cc が残る。切片を記録したので、横のずれが f∗f^* の cpcp の項として残った。

図 図

図 1.7.1 Legendre 変換の2つの見方(f(x)=0.3x2+0.4f(x)=0.3x^2+0.4、p=1.2p=1.2、x0=2x_0=2、f∗(p)=0.8f^*(p)=0.8)。左:傾き pp の接線を引くと、縦軸との切片が −f∗(p)-f^*(p) になる。右:原点を通る直線 pxpx と f(x)f(x) の縦の差 px−f(x)px-f(x) は、接点 x0x_0 で最大になり、その最大値が f∗(p)f^*(p) である。左右とも ff は実線、直線は破線で描いた(どちらも近似を含まない)

接線の集まりからグラフを描き直す

切片を記録すると情報が落ちないことは、図でも確かめることができる。傾き pp を少しずつ変えながら、y=px−f∗(p)y=px-f^*(p) という直線を次々に引くと、直線の群れが包む線(包絡線)としてもとのグラフ y=f(x)y=f(x) が浮かび上がる(図 1.7.2)。下に凸な関数のグラフは、どの接線よりも上にあり、それぞれの接線にちょうど1点で触れるからである。傾きと切片の組 (p, −f∗(p))\bigl(p,\,-f^*(p)\bigr) がすべて分かれば、直線をすべて引けて、グラフがその上の端として決まる。1.7.3節でこの描き直しを式にし、f∗f^* にもう一度同じ変換を当てると ff に戻ることを示す。

例題 1.7.1 代入では区別できない2つの関数を Legendre 変換で区別する ★★★

オリジナルf(x)=12x2f(x)=\frac12x^2 と、cc を定数とする fc(x)=12(x−c)2+df_c(x)=\frac12(x-c)^2+d(dd も定数)を考える。

  1. (1) 傾き p=fc′(x)p=f_c'(x) を代入しただけの gc(p)=fc(x(p))g_c(p)=f_c\bigl(x(p)\bigr) を求め、cc が残らないことを示せ。
  2. (2) 式 (1.7.2) で fc∗(p)f_c^*(p) を求めよ。
  3. (3) fc∗(p)f_c^*(p) が分かっているとして、そこから cc と dd を読み取る手順を書け。
解答

(1) p=fc′(x)=x−cp=f_c'(x)=x-c なので x(p)=p+cx(p)=p+c。代入すると gc(p)=12p2+dg_c(p)=\frac12p^2+d で、cc は消える。gcg_c から分かるのは dd(グラフの底の高さ)だけで、グラフが横のどこにあるかは分からない。

(2) x0=p+cx_0=p+c を式 (1.7.2) に入れて

fc∗(p)=p(p+c)−(12p2+d)=12p2+cp−d.f_c^*(p)=p(p+c)-\Bigl(\frac12p^2+d\Bigr)=\frac12p^2+cp-d .

(3) fc∗f_c^* を pp で微分すると (fc∗)′(p)=p+c(f_c^*)'(p)=p+c なので、p=0p=0 での値 (fc∗)′(0)=c(f_c^*)'(0)=c から cc を読み取ることができる。また fc∗(0)=−df_c^*(0)=-d なので d=−fc∗(0)d=-f_c^*(0)。傾き 00 の接線はグラフの底を通る水平線で、その接点が x=cx=c、切片が dd だから、これは図の上でも当然の結果である。f∗f^* の導関数が接点の位置を返すことは、次の節で一般に示す。

木下の勉強ステータス

木下はまだこの記事を勉強していません。

AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com

← AI生成教科書『虎の巻』の記事一覧へ