-2
私はz(x)w.r.tを区別しようとしています。 xはy(x)とz(y)を知っているad
ライブラリを使用しています。分析的にz(x)を見つけることができない場合、どうやって分化を行うことができますか?言い換えれば、私は以下に示すようにチェーンルールの計算を避けるためにしようとしています:関数の関数をどのように区別できますか?
from ad import gh
def y(x):
return 2*x
def z(y):
return 3*y
dzdy,hy = gh(z)
dydx,hz = gh(y)
x0 = 0 # does not matter for this example
dydx_x0 = dydx(x0)
y0 = y(x0)
dzdy_y0 = dzdy(y0)
dzdx_x0 = dzdy_y0[0] * dydx_x0[0]
print(dzdx_x0) # dz/dx = dz/dy*dy/dx = 3*2 = 6
数値パッケージと科学パッケージを調べましたか?私は、トピック検索があなたに*いくつかの*結果をもたらし、部分的な解決策として提示すると思います。 – Prune
'ad'は[this library](https://pypi.python.org/pypi/ad/1.2.3)です。私はこれが単なるナンセンスのインポート例だと思った... –