浜辺の X 字が Y 字になるとき
遠浅の浜で、2 つの方向から来たうねりが交わると水面に X の字が描かれ、交点だけが高く盛り上がる。交わる角が浅いと X は閉じて Y になり、1 本の太い「幹」が走る。これは浅い水の波を弱い 2 次元性つきで書いた方程式(KP-II)の厳密解そのもので、ここでは τ 関数から解を組み、方程式に入れて残差が消えることを 2 経路で確かめ、X から Y への移り変わりを数で追った。同じ振幅 A の 2 本を ±φ に傾けると交差の係数は A₁₂ = tan²φ/(tan²φ − k²)(k = √(2A))で、tanφ が k に近づくと発散して線が閉じ、共鳴した Y 字の幹は振幅 (√A₁ + √A₂)²=同じなら 4 倍になる。幅は半分になるので質量は 2 本の和のままである。
なにか
浅い水の長い波は KdV 方程式で書けるが、それは 1 方向にしか進めない。進行方向と直交する向きにゆっくり変わる波を許すと KP 方程式になる(Kadomtsev と Petviashvili が 1970 年に出した)。ここでは (u_t + 6u u_x + u_xxx)_x + 3u_yy = 0 の形を使う(Kodama の論文は時間を 4 倍に取った (4u_t + 6u u_x + u_xxx)_x + 3u_yy = 0 で書く。t を取り直せば同じ式である)。最後の項の符号が正のものが KP-II である。Hirota の双線形形式では u = 2(ln τ)_xx と置くと τ の 2 次式 (D_x D_t + D_x⁴ + 3D_y²) τ·τ = 0 に化け、τ が指数関数の和なら解が閉じた形で書ける。
1 本の線ソリトンは τ = 1 + e^θ、θ = kx + ly + wt と書ける。方程式に入れると w = −(k³ + 3l²/k) が出て、あとは何も残らない。振幅は k²/2、線の向きは tanφ = l/k、1 本あたりの質量 ∫u dx = 2k になる。2 本は τ = 1 + e^θ₁ + e^θ₂ + A₁₂ e^{θ₁+θ₂} で、A₁₂ = −P(k₁−k₂, l₁−l₂, w₁−w₂)/P(k₁+k₂, l₁+l₂, w₁+w₂)、P(k, l, w) = kw + k⁴ + 3l² は双線形の多項式である。l = 0 なら KdV の ((k₁−k₂)/(k₁+k₂))² に戻る。
X 字の係数と、線のずれ
同じ振幅 A = k²/2 の 2 本を ±φ に傾けると、P を書き下して A₁₂ = tan²φ/(tan²φ − k²) となる。φ = 90°(直角に交わる)では A₁₂ = 1 で τ が (1 + e^θ₁)(1 + e^θ₂) に因数分解し、解は 2 本の単純な和になる。φ を浅くすると A₁₂ が 1 から離れ、交差を境に各線が法線方向へ −ln A₁₂/√(k² + l²) だけずれる。山の位置を交点の両側で黄金分割で探して測ると、式と 6 桁で一致する(60° で 0.388418、57° で 0.714181、55.5° で 1.159543)。
交点の高さも動く。φ = 90° では 2A(重ね合わせ)、60° で 2.54A、56° で 3.08A、55.5° で 3.24A になる。tanφ が k = √(2A) に近づくと A₁₂ は発散し、交点の高さは 4A に向かう。臨界角は φ_c = arctan √(2A)、A = 1 なら 54.736° である。それより浅い角では A₁₂ が負になって X 字の解は存在しない。そこから先は別の形の解(Mach 反射の型)が受け持つ。Kodama は、角が臨界より小さいと X 字の解が特異になり、Mach の幹と呼ぶ中間の波が現れると書いている。
共鳴して Y 字になる
A₁₂ = 0 になる組み合わせでは τ = 1 + e^θ₁ + e^θ₂ の 3 項だけで厳密解になる。これが共鳴した 3 本、Miles の Y 字である。k = p − q、l = p² − q² と書くと 2 本が (p₁, q)・(p₂, q) のとき A₁₂ が厳密に 0 で、幹は (p₁, p₂)、つまり k₃ = k₁ − k₂ である。幹の振幅は (k₁ − k₂)²/2 = (√A₁ + √A₂)² になる。腕 2 本が同じ振幅 A なら幹は 4A になる。接合点から幹に沿って離れた場所で幹に垂直に走査すると、実測は式に 1e−9 で一致する。
質量は増えない。y = 一定の線に沿って ∫u dx を取ると、腕の側でも幹の側でも 2(k₁ − k₂) で同じになる(p₁ = 1, p₂ = −1 なら 4.000000)。幹は振幅が 4 倍で幅が半分になる。質量は 2 本の和のままで、高くなったぶん細くなっている。浅水の実際の単位に戻すと共鳴角は水深 h と振幅 a で tanψ ≈ √(3a/h) の形になる(Kodama による Miles 1977 の紹介。角が小さいときの近似で、正確には cos ψ の補正が入る)。標準形の tanφ_c = √(2A) はその無次元版で、数は規格化で変わるので、ここでは標準形の数だけを主張する。
残差は 2 経路で見た。双線形形式は τ の微分が全部解析的に出るので、機械精度(1e−14)で 0 になる。もう 1 つは u そのものを 4 次精度の中心差分で微分して PDE に入れる別経路で、差分の刻みを h と h/2 で取って Richardson 外挿し、項の大きさで割った相対残差が 1e−7〜1e−4 になった。交点の山がいちばん鋭く、そこで 1e−4 台まで上がるが、これは差分の打ち切り誤差で、解は厳密である。
どう作ったか
- τ 関数
generators/kp.js。τ を { k, l, w, 定数 } の指数の和として持ち、任意階の偏微分を係数の積で解析的に出す。指数のあふれは最大の指数で割って避ける(u も残差も比なので変わらない)。- ずれの実測
- 交点から線に沿って ±14 離れた点で、法線方向に黄金分割で山を探す。走査の半幅は予想のずれ + 1 に絞る(広くするともう 1 本の山を拾う)。
- Y 字
- (p, q) の書き方で 2 本を作ると A₁₂ が厳密に 0 になる。幹の振幅は接合点から 40 離れた点で幹に垂直に走査した最大。
- 等高線
- marching squares を自前で書き、格子 300² の u に 20 段の等高線を引いた。鞍点の曖昧さは格子の中心の値で決める。
- 罠
- PDE の残差は u がほぼ 0 の点で測ると相対値が意味を失う(0 ÷ 0)。線の山と交点の山で測る。差分の刻みは線の鋭さ(l の大きさ)に合わせて縮める。
出典と権利
- 数理
- 方程式・双線形形式・共鳴は Y. Kodama, "KP solitons in shallow water", J. Phys. A 43 (2010) 434004(arXiv:1004.4607)で読んだ。p.2 に「1970 年に Kadomtsev と Petviashvili が 2+1 次元の分散波の方程式を提案した」、p.8 に方程式 (3.7) と u = 2∂²ₓ ln τ、p.31 に対称な場合の臨界角で「umax = 4A₀」、p.42 に臨界より小さい角で Mach の幹が現れること、p.43 に物理の単位での角の式 (8.2) がある。KP-II と双線形形式 (4DxDt − Dx⁴ − 3Dy²)τ·τ = 0 は G. Chakravarty と Y. Kodama, arXiv:0902.4433 の式 (2.1) と注意 2.6(符号と時間の向きの取り方がここと違う)。Miles 1977 と Hirota の本は開いていない。ここに書いた数はすべてこのギャラリーで計算し直したもので、A₁₂ の閉じた形・ずれの実測・幹の振幅・質量の帳簿・残差は実測である。
- 身近
- 遠浅の浜で交わるうねりの X 字。河口や砂州で 1 本に合わさる波(身近な例として挙げた)。
- 親戚
- 等長の網(サイン・ゴルドン=同じ可積分の家系)・船もカモも同じ V 字(浅い水の航跡)・砂丘の風紋(流れが作る縞)
- 生成
- generators/kp.js(kp.svg カード・kp-book.svg 帳簿)
つながり: 等長の網(可積分の兄弟)・船もカモも同じ V 字(流体・波の棚)・見取り図の発見95