24.1_Sphere函数

24.1 Sphere函数

Sphere函数可用式子表示为 z=x2+y2z = x^{2} + y^{2} ,它是一个将输入变量平方后相加的简单函数。我们的任务是求出它的导数 zx\frac{\partial z}{\partial x}zy\frac{\partial z}{\partial y} 。下面尝试计算 z=x2+y2z = x^{2} + y^{2}(x,y)=(1.0,1.0)(x, y) = (1.0, 1.0) 处的导数。代码如下所示。

steps/step24.py

import numpy as np   
fromdezero import Variable   
def sphere(x,y):  $z = x\ast \ast 2 + y\ast \ast 2$  return z   
x=Variable(np.array(1.0))   
y=Variable(np.array(1.0))   
z=sphere(x,y)   
z.backup()   
print(x.grad,y.grad)

运行结果

2.0 2.0

上面的代码将Sphere的计算编写为 z=x2+y2z = x^{**} 2 + y^{**} 2 。计算结果是 xxyy 的导数都为 2.0。根据式子 zx=2x\frac{\partial z}{\partial x} = 2xzy=2y\frac{\partial z}{\partial y} = 2y 可知, z=x2+y2z = x^2 + y^2(x,y)=(1.0,1.0)(x, y) = (1.0, 1.0) 处的导数为 (2.0, 2.0),这与上述运行结果一致。