Lesson 8 of 15

One-Form Fields

One-Form Fields

A one-form field (or covector field) assigns to each point a linear functional on tangent vectors. While a vector field eats a function and produces a number at each point, a one-form field eats a vector field and produces a scalar function.

The most natural one-form is the differential dfdf of a scalar function ff:

df(V)(p)=V[f](p)=iVi(p)fxi(p)df(V)(p) = V[f](p) = \sum_i V^i(p)\frac{\partial f}{\partial x^i}(p)

This is the directional derivative of ff along VV — a purely functional definition.

Coordinate One-Forms

In coordinates (x,y)(x, y), the coordinate one-forms are dxdx and dydy:

dx(V)=Vx=the x-component of Vdx(V) = V^x = \text{the }x\text{-component of }V dy(V)=Vy=the y-component of Vdy(V) = V^y = \text{the }y\text{-component of }V

These are the duals of the coordinate basis vectors /x\partial/\partial x and /y\partial/\partial y.

Example

For f(x,y)=x2+y2f(x,y) = x^2 + y^2:

df=2xdx+2ydydf = 2x\,dx + 2y\,dy

Acting on the constant vector field V=/xV = \partial/\partial x at the point (3,4)(3,4):

df(/x)(3,4)=23=6df(\partial/\partial x)(3,4) = 2 \cdot 3 = 6

Your Task

Implement df(f) that returns the differential one-form of a scalar function ff. The one-form should be callable as df(f)(V)(*point) where V(point) returns the vector components.

Python runtime loading...
Loading...
Click "Run" to execute your code.