2 minute read

Gradient Field: a better way to interpretPermalink

Gradient and Directional Derivative 举了 z=f(x,y)=4x2+y2 这个例子,但是举得并不好,因为它混淆了 function 的 gradient 和图形的 gradient,虽然它后面是用 level set 去解释的,相当于用平行于 x-y 平面的平面去切这个椭圆抛物面,但是理解起来还是有点麻烦。

换成 Gradient Field 去理解就轻松很多。

从 gradient 的定义来看,它天生是一个 vector field。需要注意的是,我们并不需要先有一个函数 f(x,y) 才能做出 vector field,只是刚好 f(x,y) 是一个 vector field。

还是用 z=f(x,y)=4x2+y2 的例子。

f(x,y)=8x,2y=[8x2y] 其实是这么一个 vector field (以下都是 Wolfram 代码):

VectorPlot[{8x, 2y}, {x, -3, 3}, {y, -3, 3}]

定义椭圆 4x2+y2=c,其实是限定了 f(x,y)=[8x2y] 这个函数的 domain。限定之后得到的 vector 的集合即是这个椭圆上的 gradient vectors。

考虑 3-D space 内的椭圆抛物面。这时需要把几何方程 z=4x2+y2 改写成三元函数 g(x,y,z)=4x2+y2+0z。然后 g(x,y,z)=8x,2y,0=[8x2y0] 其实是这么一个 vector field:

VectorPlot3D[{8x, 2y, 0}, {x, -3, 3}, {y, -3, 3}, {z, -3, 3}]

同理,定义椭圆抛物面 4x2+y2+0z=c,其实是限定了 g(x,y,z)=[8x2y0] 的 domain。限定之后得到的 vector 的集合即是这个椭圆抛物面上的 gradient vectors。

如果从 z-axis 上方看这个 vector field:

# Wolfram 类似 IPython Notebook,`%2`表示第二个 cell 的 output,即上图
Show[%2,ViewPoint->{0,0,\[Infinity]}]  

它和 f(x,y)=[8x2y] 其实是一样的,即你用任意的 z=c 平面去截这个 3-D space,得到的平面内都是 f(x,y) 这个 field。这和 level set 的解释是一样的。但是明显更好理解了。

从这个视角来看,考虑 gradient 的几何意义:gradient vector 的方向是 “the direction of steepest ascending”,即你站在 (x,y) 这一点,在平面内沿 f(x,y) 的方向走可以最高效地获取在椭圆抛物面 4x2+y2+0z=c 上的 altitude,即获取更大的 c 值。注意你是根据 2-D 平面上的方向去指引 3-D space 内的行动

优化问题里用的 gradient descend 即是取 gradient vector 的反方向,进而取更小的 c 值。

Clairaut’s TestPermalink

Given a vector field F(x,y)=P(x,y),Q(x,y), how do you tell whether it’s a gradient field, i.e. G(x,y) such that G=F?

Clairaut Test: if Py(x,y)=Qx(x,y) always holds, then F(x,y)=P(x,y),Q(x,y) is a gradient field.

Note that Py(x,y)=P(x,y)y,Qx(x,y)=Q(x,y)x, just a different set of notations.

Clairaut’s Test orginates from Clairaut’s theorem on equality of mixed partials:

Suppose f is a real-valued function of two variables x,y and f(x,y) is defined on an open subset U of R2. Suppose further that both the second-order mixed partial derivatives fxy(x,y) and fyx(x,y) exist and are continuous on U. Then, we have fxy=fyx on all of U.

高维的情况暂不考虑;但应该类似。

Hamiltonian Vector FieldPermalink

Quote from Lecture 19: Vectorfields, Math S21a: Multivariable calculus by Oliver Knill, Harvard Summer School:

If H(x,y) is a function of two variables, then Hy(x,y),Hx(x,y) is called a Hamiltonian Vector Field.

An example is the harmonic oscillator H(x,y)=x2+y2. Its vector field Hy(x,y),Hx(x,y)=y,x.

The flow lines of a Hamiltonian vector fields are located on the level curves of H

Comments