自動微分
初期値が決まったら下の表に示す連鎖律に従って各偏導関数値を順に計算していく。図2はこの処理を計算グラフとして表している。 w ̇ 5 = ∂ y ∂ x 1 {\displaystyle {\dot {w}}_{5}={\tfrac {\partial y}{\partial x_{1}}}} が求めたい値である。
Operations to compute value Operations to compute derivative w 1 = x 1 w ̇ 1 = 1 (seed) w 2 = x 2 w ̇ 2 = 0 (seed) w 3 = w 1 ⋅ w 2 w ̇ 3 = w 2 ⋅ w ̇ 1 + w 1 ⋅ w ̇ 2 w 4 = sin  w 1 w ̇ 4 = cos  w 1 ⋅ w ̇ 1 w 5 = w 3 + w 4 w ̇ 5 = 1 ⋅ w ̇ 3 + 1 ⋅ w ̇ 4 {\displaystyle {\begin{array}{l|l}{\text{Operations to compute value}}&{\text{Operations to compute derivative}}\\\hline w_{1}=x_{1}&{\dot {w}}_{1}=1{\text{ (seed)}}\\w_{2}=x_{2}&{\dot {w}}_{2}=0{\text{ (seed)}}\\w_{3}=w_{1}\cdot w_{2}&{\dot {w}}_{3}=w_{2}\cdot {\dot {w}}_{1}+w_{1}\cdot {\dot {w}}_{2}\\w_{4}=\sin w_{1}&{\dot {w}}_{4}=\cos w_{1}\cdot {\dot {w}}_{1}\\w_{5}=w_{3}+w_{4}&{\dot {w}}_{5}=1\cdot {\dot {w}}_{3}+1\cdot {\dot {w}}_{4}\end{array}}}
自動微分の実装方法には大きく分けて、ソースコードの変換とオペレータオーバーローディングによる方法の2つがある。
ここで P ( 1 ) {\displaystyle P^{(1)}} は P {\displaystyle P} の最初の引数に対する微分であり、 x ′ {\displaystyle x'} (種と呼ばれる)は任意に取れる。
上に述べたように、この新しい算術は、順序対( ⟨ x , x ′ ⟩ {\displaystyle \langle x,x'\rangle } と書かれる元)と、最初の成分に対しては通常の算術を、第二の成分に対しては一階微分の算術を、それぞれ与えたものからなる。多項式に関する上の結果を解析関数に広げれば、新しい算術に対する、基本的な算術と幾つかの標準的な関数のリストが得られる: