方向微分の計算機:公式・手順・具体例で徹底解説
方向微分の計算機は、多変数関数がある一点において、x 軸や y 軸に沿った方向だけでなく、自分で選んだ任意の方向に進んだときにどれだけ速く変化するかを求めるツールです。関数の勾配と単位ベクトルを組み合わせ、その経路に沿って関数が増加しているのか、減少しているのか、それとも平坦なままなのかを示す 1 つの数値を返します。この記事では、公式、手計算の手順、そして実際の数値を使った 2 つの完全な例題を紹介し、どんな計算機の出力でも自分の手で検算できるようにします。さらに、勾配が常に最も急な増加方向を指す理由についても見ていきます。
目次
方向微分とは何か?
方向微分とは、多変数関数 f(x, y)(あるいは f(x, y, z))のある点において、単位ベクトル u で表された特定の方向へその点から離れていくときの瞬間変化率を測るものです。偏微分は 1 つの軸に平行な移動しか見ませんが、方向微分ならもっと一般的な問いを立てられます。「この点からこの方向にちょうど一歩踏み出したとき、関数の値はどれくらいの速さで変わるのか?」という問いです。実際、通常の 2 つの偏微分 f_x と f_y は、方向 (1, 0) と (0, 1) をとった方向微分の特別な場合にすぎません。 結果は常にベクトルではなく 1 つの実数になります。値が正なら方向 u に進むと関数は増加し、負なら減少し、0 ならその特定の方向に沿って関数は一瞬平坦であることを意味します(他の方向には変化していてもかまいません)。
1. 偏微分との関係
f_x と f_y は厳密に x 軸方向・y 軸方向に沿った変化を表します。方向微分 D_u f はこの考え方を、斜め方向も含めた任意の方向 u へ一般化したものです。
2. 方向は単位ベクトルでなければならない
この公式が単位距離あたりの真の変化率を与えるためには、u の長さが 1 でなければなりません。長さが 1 でない方向ベクトルを与えられた場合は、まず正規化します。
3. 出力はスカラー
D_u f は常に 1 つの数値です。方向 u に単位長さ進んだときに f がどれだけ速く変化するかを表し、ベクトルでも点でもありません。
方向微分は、偏微分のより柔軟な兄弟のような存在です。軸に沿ってだけでなく、あらゆる方向で使えます。
方向微分の公式
微分可能な関数 f(x, y) について、単位ベクトル u = (u₁, u₂) の方向への方向微分は D_u f = ∇f · u = f_x·u₁ + f_y·u₂ となります。3 変数関数 f(x, y, z) では D_u f = f_x·u₁ + f_y·u₂ + f_z·u₃ に拡張されます。勾配 ∇f とは、対象の点で評価したすべての 1 階偏微分を並べたベクトルにほかなりません。
1. 手順 1 — 勾配を求める
2 変数なら ∇f = (f_x, f_y)、3 変数なら (f_x, f_y, f_z) を計算します。
2. 手順 2 — 方向ベクトルを用意する
v = (3, 4) のように、与えられた方向ベクトル v から始めます。
3. 手順 3 — 正規化する
大きさ |v| = √(v₁² + v₂² + ...) を求め、各成分を |v| で割って単位ベクトル u = v ÷ |v| を得ます。
4. 手順 4 — 内積をとる
勾配と u を成分ごとに掛けて足し合わせます:D_u f = ∇f · u。
D_u f(x, y) = ∇f(x, y) · u —— 勾配と単位方向ベクトルの内積です。
方向微分の計算機はどう動いているのか?
内部では、方向微分の計算機は学生が手計算で行うのと同じ 4 つの手順を実行しています。関数を記号的に微分して f_x、f_y、必要なら f_z を求め、与えられた点の座標を各偏微分に代入し、方向ベクトルを長さ 1 に正規化し、勾配とその単位ベクトルの内積を計算する、という流れです。よくできた計算機は勾配の大きさも表示します。この数値はその点における任意方向での最大変化率と一致するため、指定した方向での結果が妥当かどうかを確認する基準として役立つからです。 優れたツールは、入力された方向ベクトルの長さが 1 でなかった場合にそれを知らせてくれます。正規化の手順を飛ばして「間違った」答えが黙って出てくるのではなく、その処理が明示的に見えるようになっているのです。
1. 解析して微分する
関数が解析され、記号的な偏微分が一度だけ計算されます。
2. 点を代入する
各偏微分が、入力した具体的な座標 (a, b) または (a, b, c) で評価されます。
3. 正規化して内積をとる
方向ベクトルが長さ 1 に調整され、勾配との内積によって最終的なスカラーの答えが得られます。
4. 最大変化率を表示する
勾配自身の大きさは、その点での最も急な増加率を表すため、結果と並べて表示されます。
信頼できる計算機は、内積をとる前に必ず方向ベクトルを正規化します。この手順を飛ばすことが、誤答の最も多い原因です。
手順解説:方向微分を手計算する
完全な例題に取り組む前に、全体の流れを 1 つのチェックリストとして眺めておくと理解が進みます。方向微分の問題は、関数や点がどう変わっても、必ずこの同じ 5 ステップをたどります。
1. 手順 1
通常の偏微分によって f_x と f_y(3 変数なら f_z も)を求めます。
2. 手順 2
問題で与えられた具体的な点で勾配を評価します。
3. 手順 3
与えられた方向ベクトルを長さ 1 になるよう正規化します。
4. 手順 4
勾配と単位ベクトルの内積をとります。
5. 手順 5
符号を解釈します。正なら増加、負なら減少、0 ならその方向に一瞬平坦であることを意味します。
毎回この 5 ステップ:微分する、代入する、正規化する、内積をとる、解釈する。
例題 1:ある点における方向微分
f(x, y) = x²y + 3xy² の点 (1, 2) における、v = (3, 4) 方向への方向微分を求めます。 まず偏微分を求めます:f_x = 2xy + 3y²、f_y = x² + 6xy。点 (1, 2) では f_x = 2(1)(2) + 3(2²) = 4 + 12 = 16、f_y = 1² + 6(1)(2) = 1 + 12 = 13 となります。したがって (1, 2) における勾配は ∇f(1, 2) = (16, 13) です。 次に v = (3, 4) を正規化します。大きさは |v| = √(3² + 4²) = √25 = 5 なので、単位ベクトルは u = (3/5, 4/5) です。 最後に内積をとります:D_u f(1, 2) = 16(3/5) + 13(4/5) = 48/5 + 52/5 = 100/5 = 20。この値は正なので、(1, 2) から方向 (3, 4) に進むと、f は距離 1 あたり 20 の割合で増加していることがわかります。
1. 微分する
f_x = 2xy + 3y²、f_y = x² + 6xy。
2. (1, 2) で評価する
f_x(1, 2) = 4 + 12 = 16、f_y(1, 2) = 1 + 12 = 13 なので ∇f(1, 2) = (16, 13)。
3. v = (3, 4) を正規化する
|v| = √(9 + 16) = 5 なので u = (3/5, 4/5)。
4. 内積
D_u f = 16(3/5) + 13(4/5) = 100/5 = 20。
D_u f(1, 2) = 20 —— 方向 (3, 4) に沿って、関数は距離 1 あたり 20 の割合で増加します。
例題 2:3 変数関数の方向微分
f(x, y, z) = x² + y²z の点 (2, 1, 3) における、v = (1, -2, 2) 方向への方向微分を求めます。 偏微分は f_x = 2x、f_y = 2yz、f_z = y² です。(2, 1, 3) では f_x = 2(2) = 4、f_y = 2(1)(3) = 6、f_z = 1² = 1 となります。したがって ∇f(2, 1, 3) = (4, 6, 1) です。 v = (1, -2, 2) を正規化します:|v| = √(1² + (-2)² + 2²) = √(1 + 4 + 4) = √9 = 3 なので、u = (1/3, -2/3, 2/3) となります。 D_u f = 4(1/3) + 6(-2/3) + 1(2/3) = 4/3 - 12/3 + 2/3 = -6/3 = -2。結果が負であることは、(2, 1, 3) から方向 (1, -2, 2) に進むと f が距離 1 あたり 2 の割合で減少していることを意味します。
1. 微分する
f_x = 2x、f_y = 2yz、f_z = y²。
2. (2, 1, 3) で評価する
f_x = 4、f_y = 6、f_z = 1 なので ∇f(2, 1, 3) = (4, 6, 1)。
3. v = (1, -2, 2) を正規化する
|v| = √9 = 3 なので u = (1/3, -2/3, 2/3)。
4. 内積
D_u f = 4/3 - 12/3 + 2/3 = -6/3 = -2。
ここでの -2 のような負の方向微分は、その方向に進むと関数が減少していることを意味します。
なぜ勾配が最急上昇の方向を与えるのか?
D_u f = ∇f · u = |∇f| |u| cos θ であり、定義より |u| = 1 なので、公式は D_u f = |∇f| cos θ と簡単になります。ここで θ は勾配と選んだ方向のなす角です。コサインが最大値 1 をとるのは θ = 0 のとき、つまり u が ∇f そのものと同じ方向を向いているときだけです。したがって、任意の点における方向微分の最大値は |∇f| に等しく、それは勾配に沿って進むときに厳密に達成されます。 例題 1 では、(1, 2) における勾配は (16, 13) で、その大きさは |∇f| = √(16² + 13²) = √(256 + 169) = √425 ≈ 20.62 でした。これは (3, 4) 方向で計算した 20 より大きく、筋が通っています。(3, 4) は勾配の方向に近いものの、完全には一致していなかったからです。ちょうど逆向きの -∇f に進めば、最も急な減少が得られ、その値は -|∇f| になります。
1. 内積を書き換える
|u| = 1 なので D_u f = ∇f · u = |∇f| |u| cos θ = |∇f| cos θ。
2. 最大値を求める
θ = 0 のとき cos θ = 1 となるため、方向微分の最大値は |∇f| に等しく、u が勾配方向を向いているときに達成されます。
3. 例題 1 と照合する
|∇f(1, 2)| = √425 ≈ 20.62 であり、勾配と一致していない方向 (3, 4) で求めた D_u f = 20 より確かに大きくなっています。
4. 最小値を求める
-∇f に沿って進むと最も急な減少が得られ、その値は -|∇f| です。
勾配は単に役立つ方向を指しているだけではありません。最も速く増加する方向をぴたりと指し、その長さこそがその最速の変化率なのです。
方向微分でよくある間違い
方向微分の問題で起こる誤りの多くは、微積分そのものを間違えたからではなく、小さな手順を 1 つ飛ばしたり誤って適用したりすることから生じます。次の 5 つの癖に注意するだけで、最終解答に至る前に大半のミスを防げます。
1. 正規化を忘れる
(3, 4) のような方向ベクトルを、その長さ 5 で割らずにそのまま内積へ入れてしまうと、答えが定数倍だけずれてしまいます。
2. 違う点で勾配を評価する
偏微分には問題で指定された正確な座標を代入しなければなりません。前の例題の点を使い回してしまうのは、よくあるうっかりミスです。
3. f_x と f_y を取り違える
勾配を (f_x, f_y) ではなく (f_y, f_x) と書くと、どの成分がどの方向と対応するかが入れ替わり、内積が気づかないうちに壊れてしまいます。
4. 角度と単位ベクトルを混同する
方向が度数で与えられている場合は、勾配との内積をとる前に、まず (cos θ, sin θ) のような単位ベクトルに変換しなければなりません。
5. マイナス符号を落とす
負の方向微分は正当で意味のある答えです。その方向に関数が減少していることを示すもので、計算ミスのサインではありません。
最も多いミスはこれ:(3, 4) のような方向ベクトルを、まず長さ 5 で割らずにそのまま内積へ入れてしまうこと。
練習問題
次の 2 問を自力で解いてから、下の解答と照らし合わせてみましょう。 問題 A:f(x, y) = 3x² - 2xy + y² の点 (1, -1) における、v = (4, 3) 方向への方向微分を求めなさい。 問題 B:f(x, y, z) = xyz の点 (1, 2, 3) における、v = (2, 2, 1) 方向への方向微分を求めなさい。
1. 問題 A の解答
f_x = 6x - 2y、f_y = -2x + 2y。(1, -1) では f_x = 6 + 2 = 8、f_y = -2 - 2 = -4 なので ∇f = (8, -4)。|v| = √(16 + 9) = 5 より u = (4/5, 3/5)。D_u f = 8(4/5) + (-4)(3/5) = 32/5 - 12/5 = 4。
2. 問題 B の解答
f_x = yz、f_y = xz、f_z = xy。(1, 2, 3) では f_x = 6、f_y = 3、f_z = 2 なので ∇f = (6, 3, 2)。|v| = √(4 + 4 + 1) = 3 より u = (2/3, 2/3, 1/3)。D_u f = 6(2/3) + 3(2/3) + 2(1/3) = 4 + 2 + 2/3 = 20/3 ≈ 6.67。
検算のコツ:勾配と単位ベクトルの内積は、必ずベクトルではなく 1 つの実数になります。
方向微分の計算機が必要になるのはどんなとき?
方向微分は、量が複数の変数に依存していて、軸に沿った移動だけでなく特定の経路が問題になる場面ならどこにでも登場します。多変数微積分の講義では勾配を正式に導入するために使われ、物理の講義では温度・圧力・ポテンシャル場が特定の軌道に沿ってどう変化するかを記述するために使われます。機械学習の講義でも、勾配降下法が -∇f に沿って進む理由を説明するときに同じ内積の考え方に触れます。計算機が最も役立つのは、すでに自分で立式した問題の計算を確認するときで、特に関数の項が多い場合や点に分数が含まれる場合に効果的です。 宿題をさっと確認したいときは、Solvify の方向微分ソルバーに関数・点・方向ベクトルを入力してみてください。勾配の計算、正規化、内積までの過程をすべて表示するので、自分の解答と一行ずつ見比べられます。
1. 宿題と試験対策
テスト前に Calculus III や多変数微積分の問題集を検算する。
2. 物理への応用
ある点から特定の方向へ、温度・圧力・ポテンシャル場がどう変化するかを分析する。
3. 機械学習の学習
内積の公式と、勾配降下法のステップが -∇f に沿って進む理由とを結びつける。
4. 煩雑な関数や多変数関数
関数の項が多い場合や、点に分数や根号が含まれる場合に、繰り返しの計算作業を短縮する。
計算機は代わりではなく確認のためにこそ役立ちます。まず自分で式を立て、それから計算を確かめましょう。
関連記事
関連する数学ソルバー
スマートスキャン ソルバー
多変数微積分の問題を撮影するだけで、勾配と方向微分の手順解説がすぐに得られます。
ステップ別解説
最終的な数値だけでなく、偏微分・正規化・内積のすべてについて詳しい説明が得られます。
マルチ科目対応
微積分、代数、統計、物理、化学など幅広い科目の問題を解けます。
