「非線形方程式」は一種類ではない
~式の形と、解きたい問題から整理してみる~
1. Linear and Nonlinear:そもそも非線形とは何か
「非線形方程式」と聞くと、どのような式を思い浮かべるでしょうか。 二次方程式を思い浮かべる人もいれば、三角関数を含む方程式や、複雑な連立方程式を思い浮かべる人もいるでしょう。
まず、次の式は線形方程式です。
未知数 $x,y$ はどちらも1乗で、未知数同士の掛け算もありません。一方、次の式はすべて非線形です。
未知数の2乗、未知数同士の積、三角関数などが含まれているためです。 大まかに言えば、未知数の関係を一本の直線や一枚の平面だけでは表せなくなると、非線形の世界に入ります。
非線形方程式では、解が一つとは限りません。複数存在することもあれば、実数解が存在しないこともあります。
2. Two Viewpoints:二つの分類を混ぜない
非線形問題を整理するときは、次の二つの視点を分けると分かりやすくなります。
- 式の形:多項式、有理式、指数関数や三角関数を含む式など
- 解く目的:式をゼロにする、誤差を小さくする、最良の点を探すなど
「多項式」は式の形による分類です。
「非線形最適化」は何を求めるかによる分類です。
そのため、この二つは反対側にある言葉ではなく、同じ問題の中で重なることがあります。
3. Polynomial Equations:多項式方程式
多項式方程式は、足し算、引き算、掛け算と、未知数の非負整数乗で作られた方程式です。
複数の未知数を含む場合は、多項式連立方程式になります。
これは円 $x^2+y^2=1$ と曲線 $y=x^3$ の交点を探す問題だと考えることもできます。 多項式方程式は、解の個数や構造を代数学的に調べやすく、ホモトピー連続法を使って複数の解を追跡することもできます。
PHCpackが得意としているのは、この多項式連立方程式の世界です。
4. Rational and Transcendental:多項式ではない方程式
有理式を含む方程式
未知数を含む多項式同士の割り算が入ると、有理方程式になります。
分母を払えば多項式に変形できますが、元の式では $x=1$ を代入できません。 変形するときは、元の式の定義域を忘れないようにする必要があります。
超越関数を含む方程式
指数関数、対数関数、三角関数などを含む方程式は、一般に超越方程式と呼ばれます。
これらは有限回の足し算や掛け算だけで構成された多項式ではありません。 解を一つ探すのであれば、二分法やニュートン法などがよく使われます。 ただし、初期値によって到達する解が変わったり、収束しなかったりすることがあります。
5. Nonlinear Systems:非線形連立方程式
複数の非線形方程式を同時に満たす値を求める問題が、非線形連立方程式です。
すべての $f_i$ が多項式なら多項式連立方程式です。指数関数や三角関数が含まれていれば、非多項式の非線形連立方程式になります。 つまり、「非線形連立方程式」という大きな分類の中に、多項式で作られたものと、そうでないものがあります。
回路解析も、この形につながります。抵抗だけで作られた回路は線形ですが、ダイオードやトランジスタの特性を入れると、回路方程式は非線形になります。
6. Nonlinear Least Squares:完全には一致しないとき
実験データや測定結果を数式に当てはめる場合、すべての式を完全にゼロにできるとは限りません。 そこで、それぞれのずれを $r_i(\boldsymbol{x})$ とし、その二乗和を最小にします。
これが非線形最小二乗問題です。すべての式を厳密に満たす解ではなく、すべてのずれをまとめて、できるだけ小さくする点を探します。 方程式を「完全に満たす」のではなく、データに「最もよく合う」値を探す問題です。
7. Nonlinear Optimization:最も良い点を探す
非線形最適化では、方程式の解そのものではなく、ある関数が最小または最大になる点を探します。
目的関数は「どの点が望ましいか」を表し、制約条件は「どの点を選んでよいか」を表します。 目的関数や制約条件のどこかに非線形な関係があれば、非線形最適化問題になります。
目的関数と制約条件がすべて多項式なら、「多項式で構成された非線形最適化問題」です。 多項式と最適化は同じ基準による分類ではないため、一つの問題が両方に当てはまります。
8. Differential Equations:未知数が関数になる場合
これまでの問題では未知数は数でした。微分方程式では、未知数が時間や位置によって変化する関数になります。
これはロジスティック方程式と呼ばれる非線形微分方程式です。右辺に $y^2$ が含まれるため非線形です。 ここで求めるのは一つの数ではなく、時間とともに変化する関数 $y(t)$ です。
回路の過渡解析や物体の運動、人口変化など、「状態がどのように変化するか」を調べる問題に現れます。
9. Classification Table:二つの視点で整理する
| Viewpoint | Category | Example | What We Seek |
|---|---|---|---|
| 式の形 | 多項式 | $x^3-2x+1=0$ | 方程式を満たす値 |
| 式の形 | 有理式 | $1/(x-1)=x$ | 定義域内の解 |
| 式の形 | 超越関数 | $e^{-x}=x$ | 関数同士の交点 |
| 解く目的 | 非線形連立方程式 | $\boldsymbol{F}(\boldsymbol{x})=\boldsymbol{0}$ | すべての式を満たす点 |
| 解く目的 | 非線形最小二乗 | $\min\sum r_i^2$ | 誤差が最も小さい点 |
| 解く目的 | 非線形最適化 | $\min f(\boldsymbol{x})$ | 条件内で最も良い点 |
| 未知量 | 非線形微分方程式 | $dy/dt=y(1-y)$ | 変化する関数 |
同じ問題を複数の名前で説明できることがあります。例えば、多項式で作られた連立方程式は、「非線形連立方程式」であると同時に「多項式方程式系」でもあります。
10. Dr.WataWata's Insight
問題の名前よりも「何を探しているか」を見る
「非線形方程式」という言葉は、非常に広い範囲を指します。問題を見たときは、まず次の三つを確認すると整理しやすくなります。
- 未知数は数なのか、時間とともに変化する関数なのか
- 式は多項式なのか、指数関数や三角関数を含むのか
- 方程式を満たす点を探すのか、誤差や目的関数を最小にするのか
すべてを単に「非線形だからニュートン法で解く」と考えるのではなく、問題の形と目的を見分けることが、適切な解法を選ぶ第一歩です。
非線形問題は一つの種類ではありません。同じ「非線形」という入口から、多項式、回路、最適化、データ解析、微分方程式へと、それぞれ異なる世界が広がっています。