ガロア、いいですね。私は男なのでガロアに恋心を抱くことはありませんが、ガロア理論の基本定理には恋心を抱いてしまいそうです。これまで数論を勉強してこなかったので、ガロア理論が大いに使われていそうな数論を勉強するのが今の楽しみです。
はじめに
以前下記の記事でマーライオンが一番遠くまで水を飛ばすことのできる口の角度を求めました。
前回は空気抵抗を無視しましたが、今回は空気抵抗も考慮して問題を解きます。空気抵抗が入るだけで、問題がぐっと難しくなり、前回と同様の方法では解けませんでした。しかし、ラグランジュの未定乗数法という手法を用いることで、最適解の満たすべき方程式を得ることができましたので、問題を解きながらラグランジュの未定乗数法の強力さを紹介したいと思います。
この記事では前回必要だった高校物理の力学の知識、高校の数Ⅲで習う三角関数の微分の知識に加えて、微分方程式の基礎(変数分離法のみ)、偏微分、指数関数、対数関数の微積分の知識も前提としてしまいます(大学初年度レベルです。)。逆に言うと、数学の知識が増えると解ける問題の範囲も広がるということなので、数学を勉強するモチベーションにもなりますね。
前提知識がない方は、前回同様フジテレビのガリレオで福山雅治さんはこんな数式を書いていたんじゃないか?と想像しながら、数式を流し読みしていただけたら面白いのではないかと思います。
問題設定
では、問題設定から行いましょう。
前回と同様に、水は大きさのない質点として計算していきます。水は常に連続的に噴射され続けていますが、時刻で質量の水分子が1粒発射されたものとして読んでください。また空気抵抗は速さに比例する大きさの力が、運動の方向と逆向きに働くものとします。
では前回と同じ方法で解けるところまで解いていきましょう。口から飛び出る水の速度を水平方向(x軸右方向)の速度と、垂直方向(y軸上方向)の速度に分けて、ニュートンの運動方程式を立てます。
ここで、記載の簡略化のため、と置いています。出発点となる運動方程式から、が消えたため、今後、は用いず、のみを用いることになります。が大きいほど、空気抵抗の影響が大きくなります。
、の導出
次に、、をそれぞれで積分して、時刻での水の位置を求めましょう。
まずは、から。
次に、です。
前回よりはるかに複雑ですが、、も求まりました。
空気抵抗がない場合は、この、を連立させを消去することで、との関係をという二次関数(=放物線)の形で表すことができましたが、式の形を見ればわかる通り空気抵抗がある場合では二次関数で表すことができません。マーライオンの口から発射された水は、空気抵抗が入ることで放物線とは異なる軌道を描くことなります。
せっかく、が求まりましたので、ここで一休みしてその軌道を見てみましょう。空気抵抗を大きくする程その軌道は歪曲され、遠くまで飛ばなくなることがわかりますね。
地面に落ちる時間が求められない
前回はを解いて、水が地面に落ちる時刻を求め、そこから水平到達距離をの関数で表し、それを微分することで最適解を求めました。しかし、今回は最初の関門であるが解ける気がしません。の中にはの一次関数と指数関数が共に現れています。例えば私は、次のようなシンプルな方程式も解析的に解くことができません。*1
そして、解析的に解くことを諦めて、をコンピュータを使って数値的に解いたとしても、数値解は離散的にしか求められないため、その先の水平到達距離をで微分をするところで行き詰まるでしょう。
私はここでこの問題を解くことを諦めかけました。
しかし、諦めきれず式をいじくり回しているときに、だんだんと頭の片隅から蘇ってくるものがありました。それがラグランジュの未定乗数法だったんです。
ラグランジュの未定乗数法
ここでは、一瞬マーライオンを忘れて、ラグランジュの未定乗数法の紹介をします。(変数の記号は今回の問題に合わせてとで記載しています。)
2変数の問題なのに、わざわざ変数を付け加えて3変数にしているのがミソです。大学初年度で習う陰関数定理を用いれば証明が出来ますが、ここでは証明は行いません*2。
さて、このラグランジュの未定乗数法がなぜ今回の問題に関係あるのでしょうか。
先ほど、と、あたかもだけの関数のように、を書き下しましたが、この問題では一番遠くまで飛ばすを求めるという意味で、も変数と考えた方が都合がよく、、と書いた方がより適切です(、、、も値を変更することができますが、ここでは定数という位置付けです。パラメータと呼んだ方がいいかもしれません。)。
先ほど解くことを諦めたという方程式に注目しましょう。これはある角度で発射された水が地面に落ちる時刻を求める方程式と考えてきましたが、逆に時刻で地面に落ちるように口の角度を求める方程式と考えることもできます。その意味でとは全く対等です。
を満たすは、口の角度がのとき、時刻で地面に水が地面に落ちているということを意味します。このようなの組の中でを最大にするものを求めると、そのが求めたい最適の角度になります。つまり、という条件の下、を最大化したいのです。これはラグランジュの未定乗数法の前提そのものですね。
簡単な例
今回の問題をラグランジュの未定乗数法で解く前に、とても簡単な例題を解くことで前回の空気抵抗なしの場合の解法と、この後に行う今回の解法の比較をしてみましょう。
という条件の下、を最大化しましょう。
ではまず、前回の解法から。
よりとなる。これをに代入して、
となるから、、のとき、最大値をとる。
この解法はの条件からのようにをで表して、という風にをだけの関数で表すことで、通常の1変数関数の最大値問題に帰着させています。この解法の肝はとをの関数で表せたことになります。しかし空気抵抗がある場合のマーライオンの問題のようにそれはいつも可能とは限りません。
では、ラグランジュの未定乗数法を用いた解法を見てみましょう。
とする。
ラグランジュの未定乗数法より、最適解を得るには下記の連立方程式を解けばよい。
第1式より、これを第2式に代入して、そして第3式よりを得る。
最大値はとなる*3。
先の解法とは全く違うのに、これで同じ解が得られることに驚きます。
ラグランジュの未定乗数法を用いて解く
さて、いよいよ本来の問題を解くときがきました。まず、条件のを次で定義します。
としてもよいのですが、定数をかけることで記載が簡易になるようにしています。
最大化するもにをかけて、次式で、
また、関数を、次式で、
それぞれ定義します。
関数の準備が整いました。ラグランジュの未定乗数法を用いると、解くべき連立方程式は下記になります。
それでは、解いていきましょう。まずはに注意して、第2式より、
を得ます。いきなりがわかりました。幸先のよいスタートです。
次に、得られたを第1式に代入して、
となり、この両辺にをかけて整理すると、
形は複雑ですが、をの式で求めることができました。では、最後にこれを第3式に代入して整理しましょう。
あとは、これをについて解くだけなのですが、見るからに無理そうです。この方程式を満たすの範囲の解が、求めたい最適解になります*4。
最後の最後で数値解になってしまうことは口惜しいですが、仕方ありません。
最後の式の左辺をではなく、一般の変数の関数とみなして、demosでのグラフを描いてみましょう。
、、、のパラメータをいじることで、関数のグラフは形を変えますが、確かにの範囲に1つだけ解がありそうです。
そして、 を大きくしていくと、最適解は小さくなっていきます。これはの場合によく知られている事実と合致します。
demosで確かめる
残念ながらdesmosには方程式をsolveする機能はありませんので、パラメータを連続的に動かした時の最適解をdesmos上だけで変動させて表示させることはできません。パラメータを固定してを数値計算で求め、desmosを使って実際に最適解が得られていそうということを確認します。前回同様、マーライオンにいろいろな角度で水を発射してもらい、飛距離が最大になる最適解の角度の方向にはオレンジ色の点線を引き、最大到達地点には赤い旗を置いておきましょう。そして、比較のため空気抵抗がない場合の軌道を紫色の点線で表示します。
下記の例では、 、、、としました。その時のはおよそとなります。
うまくいってますね!
まとめ
最後の最後は数値解になってしまいましたが、ラグランジュの未定乗数法を用いて曲がりなりにも最適解を求めることができました。最後に得られた式を使って、空気抵抗がある場合は最適な角度は常に下方に修正されるのか、といったことを調べたら面白いと思うのですが、今回はこの辺りにしておきます。
空気抵抗なし版の問題もラグランジュの未定乗数法を用いて、前回と同じ解析解を得ることができます。やってみるとラグランジュの未定乗数法を用いる方が遥かに簡単でした。一度計算してみたら面白いと思います。
ラグランジュの未定乗数法は大学で習っており、「あぁ、そんなものもあるんだなぁ、便利そうだなぁ」くらいの印象でした。しかし自分が問題設定してラグランジュの未定乗数法を使わないと解けない問題に出会うとその凄さに驚嘆せずにはおれません。「あぁ、楽しい計算だったなぁ」