汎函数の未定乗数法 — 関数を1点とみる
問いは木下が出したもので、答えは Claude Code と調べて書いたものです。
目次
- 1. 関数は関数空間の1点
- 2. 拘束は関数空間の中の曲面、条件は「勾配が法線と平行」
- 3. 2次元に削って実際に描く(リッツ法)
- 4. 無限次元ならではの注意
- 5. きっかけ:非ホロノミック拘束
- 作用に λ を足して変分すると、なぜ違う運動になるか
- 関連
TeX 版(図13枚・演習10題・検算つき):未定乗数法/未定乗数法(2026-11-01。第2章がこのメモの絵、第3章が解析力学の拘束力。非ホロノミックは §3.4 の発展の箱で要約し本体はこのメモ §5)
2026-10-30 の会話(非ホロノミック拘束の話から派生)を骨組みにしたメモ。工学博覧会の解析班 第1回の会合(10/30 17:14〜)の最中に、板書の話(2026-10-30_解析班第1回会合「板書」)を木下が質問して取ったログで、散歩道の記事の種でもある。2A の解析力学から1年ほど、「汎函数の未定乗数法が何をしているのか」の絵が持てていなかったのが、この会話で解けた。そのときの言葉:
それぞれの関数を関数空間上の点として扱った時の多変数関数の停留問題ということだね?
これで合っている。以下、その絵を順に書く。有限次元の未定乗数法(「接する」=∇f∥∇g)はラグランジュ未定乗数法とKKT条件 §2 にあり、ここはその無限次元版にあたる。
1. 関数は関数空間の1点
区間 0≤x≤1 で両端が 0 の関数は、フーリエ級数 y(x)=∑nansinnπx で書ける。係数の並び (a1,a2,…) を座標とみれば、関数1つは無限次元の空間の1点になる。汎函数 J[y] はこの点の上の「高さ」で、座標で書けば変数が無限個ある関数 J(a1,a2,…) にすぎない。
座標の代わりに x を幅 h で刻み yi=y(xi) を変数にしても同じことが言える。
J[y]=∫F(x,y,y′)dx≈i∑F(xi,yi,hyi+1−yi)h
右辺は y1,…,yN のふつうの関数で、その偏微分を h で割った h→0 の極限が汎函数微分になる。
h1∂yi∂J⟶δy(x)δJ=∂y∂F−dxd∂y′∂F
つまり δJ/δy(x) は勾配 ∇J の「x 番目の成分」であり、オイラー・ラグランジュ方程式は勾配 =0 を全成分について書いたものである。
2. 拘束は関数空間の中の曲面、条件は「勾配が法線と平行」
有限次元で g(x)=0 のもと f を停留させる条件は ∇f=λ∇g、すなわち f の勾配が拘束面の法線と平行になることだった。汎函数でも絵はまったく同じで、拘束が何本あるかで乗数の形が変わるだけである。
積分の拘束(等周問題):∫Gdx=C は刻めば ∑iGih=C という1本の式、つまり関数空間の中の1枚の曲面である。法線は1本なので乗数も1個の定数で、
δy(x)δJ=λδy(x)δG(すべての x で同じ λ)
例は懸垂線:位置エネルギー ∫y1+y′2dx を全長 ∫1+y′2dx=L のもとで最小化する。
点ごとの拘束:g(x,y(x))=0 が各点で成り立つ場合、点 x0 ごとに1枚ずつ、無限枚の曲面がある。点 x0 の曲面の法線は x0 に集中した関数 ∂y∂gδ(x−x0) であり、無限本の法線を係数 λ(x0) で重ねると
∫λ(x0)∂y∂gδ(x−x0)dx0=λ(x)∂y∂g(x)
となる。乗数が関数 λ(x) になるのは、拘束面が無限枚あるからである。解析力学のホロノミック拘束g(q,t)=0 は各時刻での拘束なので乗数は λ(t) になり、振り子ならその値が糸の張力(に比例する量)になる。
|
多変数 |
汎函数 |
| 変数 |
x1,…,xn |
y(x)(各点の値/フーリエ係数) |
| 勾配 |
∂f/∂xi |
δJ/δy(x) |
| 拘束の本数 |
m 本 |
積分なら1本・点ごとなら無限本 |
| 乗数 |
λ1,…,λm |
定数 λ または関数 λ(x) |
3. 2次元に削って実際に描く(リッツ法)
最初の2項だけを残して y=asinπx+bsin2πx とすると、関数は平面の点 (a,b) になる。∫01y2dx=1 のもと ∫01y′2dx を最小にする問題は、積分を実行すると(sympy で確認)
G=2a2+b2,J=2π2(a2+4b2)
となり、拘束は円 a2+b2=2、J の等高線は b 方向に4倍急な楕円になる。楕円が円に接する点が答えで、∇J=(π2a,4π2b) と ∇G=(a,b) の平行条件から
- b=0、λ=π2:最小。y=2sinπx
- a=0、λ=4π2:円の上での最大
が出る。汎函数として正直に解くと固有値問題 −y′′=λy になり、固有値 π2,4π2,… の頭2つと一致する。
ここでの2変数関数 f(a,b)=J[asinπx+bsin2πx] は汎函数そのものではなく、汎函数を平面a3=a4=⋯=0 で切った断面である。断面の外にある関数は扱えないので一般には近似になる(リッツ法)。この例で厳密解が出たのは、本当の解がたまたまこの平面上にあったからにすぎない。座標を全部残せば断面ではなく汎函数そのものになる。
4. 無限次元ならではの注意
- 境界条件は空間の選び方に入る。y(0)=y(1)=0 は点が動いてよい空間を最初から決める条件で、拘束面とは別の扱いになる。
- 停留点が最小とは限らず、最小が存在しないこともある。有限次元なら閉じて有界な集合の上で最小がとれるが、無限次元ではこの保証が崩れる(変分法の直接法が扱う話題)。
5. きっかけ:非ホロノミック拘束
会話の出発点は「非ホロノミックだと経路依存するのに、どこへでも動ける」という話だった。要点だけ残す。
- ホロノミック拘束は位置の条件 f(q)=0 で、行ける場所そのものが減る(針金に通したビーズ)。
- 非ホロノミック拘束は積分できない速度の条件。一輪車(状態 (x,y,θ))は横すべりできずx˙sinθ−y˙cosθ=0 に縛られ、各瞬間に選べるのは前進X=cosθ∂x+sinθ∂y と回転 Y=∂θ の2方向だけである。
- それでも「前進→回転→後退→逆回転」で真横に ε2 ずれる(縦列駐車)。このずれがリー括弧[X,Y]=sinθ∂x−cosθ∂y で、禁止されていた横方向そのものになっている。流す順で着く点が違う=経路依存、括弧が新しい向きを生む=どこへでも行ける、は同じ事実の表と裏である。
- 括弧について閉じていれば積分できてホロノミック(フロベニウスの定理)、括弧で全方向が張れればどの2点も結べる(Chow–Rashevskii の定理)。
- 非ホロノミック拘束でも運動方程式に乗数 λ(t) が拘束力として入るが、作用に λ を足して素直に変分をとる方法では正しい運動方程式が出ず、ダランベールの原理から入れる必要がある(次の小節)。
作用に λ を足して変分すると、なぜ違う運動になるか
速度について線形な拘束 ai(q)q˙i=0 を考える(一輪車なら a=(sinθ,−cosθ,0))。§2 の流儀をそのまま当てはめると、拘束つきの作用を
S[q,λ]=∫(L+λ(t)ai(q)q˙i)dt
として q と λ の両方で変分をとることになる。これを vakonomic(変分的)な方法と呼ぶ。オイラー・ラグランジュ方程式を書くと
dtd∂q˙i∂L−∂qi∂L=−λ˙ai+λ(∂iaj−∂jai)q˙j
が出る。一方、力学で正しいのはダランベールの原理(ラグランジュ・ダランベールの方程式)
dtd∂q˙i∂L−∂qi∂L=Λ(t)ai
のほうである。−λ˙ を Λ と読み替えれば第1項は一致するので、違いは右辺のλ(∂iaj−∂jai)q˙j だけである。この項は a の回転(外微分 da)で、拘束が積分できて ai=∂if と書ければ消え、二つの方法は一致する。非ホロノミックのときだけ残る。
違いの出どころは「どの曲線と比べるか」。vakonomic では、比べる相手の曲線 q+δq も拘束を満たす=許される動きだけを並べて、その中で作用が停留するものを選ぶ。§2 の絵で言えば、曲線の空間の中の「許される曲線の集合」という曲面の上で停留点を探していて、数学としては正しい。ダランベールの原理はそうではなく、各時刻で変位 δq を許される向き aiδqi=0 に取れ、と言うだけである。ずらした後の曲線が拘束を満たすかは問わない。この二つの条件の差は
dtd(aiδqi)−δ(aiq˙i)=(∂jai−∂iaj)q˙jδqi
で、ここにも同じ回転が出てくる。ホロノミックなら右辺は 0 で、各時刻で面に沿ってずらせば曲線ごと面に乗ったままになる(針金のビーズ)。非ホロノミックでは、各瞬間に許される向きへずらしても、ずらした曲線はもう許される動きではない。これは上のリー括弧が横向きを生んだのと同じ、積分できないことの現れである。
どちらが正しいかは物理が決める。スケートの刃が及ぼす力は刃に垂直で、許される向きの変位に対して仕事をしない(理想拘束)。これを式にしたものがダランベールの原理で、変分原理から導かれるものではなく、拘束力についての物理の仮定である。一輪車(L=2m(x˙2+y˙2)+2Iθ˙2)で比べると(sympy で導出、scipy で数値確認)、前進の速さを v=x˙cosθ+y˙sinθ として
- ダランベール:v˙=0、Iθ¨=0。回りながら滑るスケートは一定の速さで円を描く。実際の運動と合う。
- vakonomic:mv˙=−λθ˙、Iθ¨=λv、λ˙=mvθ˙。エネルギーは保存するが、回転と前進の速さが互いに入れ替わる。さらに λ(0) が初期条件から決まらず、同じ位置・同じ速度から出発しても λ(0) ごとに違う運動になる。m=I=1、v=θ˙=1 から出すと、λ(0)=0 でもt=2 で v≈−0.79 と後ろへ進み出す。ニュートン力学の決定性とも実験とも合わない(Lewis–Murray 1995 が実験で比べている)。
vakonomic が正しい問いもある。「許される動きのうち、ある量を最小にするものはどれか」という最適制御の問い、たとえば縦列駐車で一番短い動かし方(サブリーマン幾何の測地線)がそれで、こちらは本当に許される曲線どうしを比べたいので vakonomic が正解になる。汎函数の未定乗数法そのものは正しい道具で、非ホロノミック系ではそれが答える問い(最適な経路)と力学の問い(実際の運動)が別物になる、というのが要点である。
関連
- 有限次元の絵:
ラグランジュ未定乗数法とKKT条件(§2 接する条件・§7 物理での同じ道具)
- 大学側の教材:
01_未定乗数法とルジャンドル変換(関数の極値→汎関数の極値への拡張)