← 2016 Paper 1
UPSC 2016 Maths Optional Paper 1 Q8b — Step-by-Step Solution 10 marks · Section B
Stokes' theorem · Vector Analysis · asked 10× in 13 yrs · Read the full method →
Question
Prove that ∮ C f d r ⃗ = ∬ S d S ⃗ × ∇ f \displaystyle\oint_C f\,d\vec r=\iint_S d\vec S\times\nabla f ∮ C f d r = ∬ S d S × ∇ f .
Technique
Apply classical Stokes to G ⃗ = f c ⃗ \vec G=f\vec c G = f c (c ⃗ \vec c c constant), use ∇ × ( f c ⃗ ) = ∇ f × c ⃗ \nabla\times(f\vec c)=\nabla f\times\vec c ∇ × ( f c ) = ∇ f × c and the triple product, then strip the arbitrary c ⃗ \vec c c .
Solution
Here f f f is a scalar field, C C C is a closed curve bounding the surface S S S , and d S ⃗ = n ^ d S d\vec S=\hat n\,dS d S = n ^ d S .
Step 1 — Start from the classical Stokes’ theorem
For any vector field G ⃗ \vec G G ,
∮ C G ⃗ ⋅ d r ⃗ = ∬ S ( ∇ × G ⃗ ) ⋅ d S ⃗ . ( ∗ ) \oint_C \vec G\cdot d\vec r=\iint_S(\nabla\times\vec G)\cdot d\vec S.\tag{$\ast$} ∮ C G ⋅ d r = ∬ S ( ∇ × G ) ⋅ d S . ( ∗ )
We will apply ( ∗ ) (\ast) ( ∗ ) to the field G ⃗ = f c ⃗ \vec G=f\,\vec c G = f c , where c ⃗ \vec c c is an arbitrary constant vector.
Step 2 — Left-hand side
∮ C ( f c ⃗ ) ⋅ d r ⃗ = ∮ C f ( c ⃗ ⋅ d r ⃗ ) = c ⃗ ⋅ ∮ C f d r ⃗ , \oint_C(f\vec c)\cdot d\vec r=\oint_C f\,(\vec c\cdot d\vec r)=\vec c\cdot\oint_C f\,d\vec r, ∮ C ( f c ) ⋅ d r = ∮ C f ( c ⋅ d r ) = c ⋅ ∮ C f d r ,
since c ⃗ \vec c c is constant and c ⃗ ⋅ d r ⃗ = d r ⃗ ⋅ c ⃗ \vec c\cdot d\vec r=d\vec r\cdot\vec c c ⋅ d r = d r ⋅ c .
Step 3 — Right-hand side: the curl
Using the identity ∇ × ( f c ⃗ ) = ( ∇ f ) × c ⃗ + f ( ∇ × c ⃗ ) \nabla\times(f\vec c)=(\nabla f)\times\vec c+f(\nabla\times\vec c) ∇ × ( f c ) = ( ∇ f ) × c + f ( ∇ × c ) and ∇ × c ⃗ = 0 ⃗ \nabla\times\vec c=\vec 0 ∇ × c = 0 (constant),
∇ × ( f c ⃗ ) = ∇ f × c ⃗ . \nabla\times(f\vec c)=\nabla f\times\vec c. ∇ × ( f c ) = ∇ f × c .
Hence
∬ S ( ∇ f × c ⃗ ) ⋅ d S ⃗ . \iint_S\big(\nabla f\times\vec c\big)\cdot d\vec S. ∬ S ( ∇ f × c ) ⋅ d S .
Apply the scalar triple-product identity ( A ⃗ × B ⃗ ) ⋅ C ⃗ = A ⃗ ⋅ ( B ⃗ × C ⃗ ) (\vec A\times\vec B)\cdot\vec C=\vec A\cdot(\vec B\times\vec C) ( A × B ) ⋅ C = A ⋅ ( B × C ) with A ⃗ = ∇ f , B ⃗ = c ⃗ , C ⃗ = d S ⃗ \vec A=\nabla f,\ \vec B=\vec c,\ \vec C=d\vec S A = ∇ f , B = c , C = d S , and use the cyclic property to factor out c ⃗ \vec c c :
( ∇ f × c ⃗ ) ⋅ d S ⃗ = c ⃗ ⋅ ( d S ⃗ × ∇ f ) . (\nabla f\times\vec c)\cdot d\vec S=\vec c\cdot(d\vec S\times\nabla f). ( ∇ f × c ) ⋅ d S = c ⋅ ( d S × ∇ f ) .
(Indeed ( ∇ f × c ⃗ ) ⋅ d S ⃗ = − ( c ⃗ × ∇ f ) ⋅ d S ⃗ = − c ⃗ ⋅ ( ∇ f × d S ⃗ ) = c ⃗ ⋅ ( d S ⃗ × ∇ f ) (\nabla f\times\vec c)\cdot d\vec S=-(\vec c\times\nabla f)\cdot d\vec S=-\vec c\cdot(\nabla f\times d\vec S)=\vec c\cdot(d\vec S\times\nabla f) ( ∇ f × c ) ⋅ d S = − ( c × ∇ f ) ⋅ d S = − c ⋅ ( ∇ f × d S ) = c ⋅ ( d S × ∇ f ) .) Therefore
∬ S ( ∇ f × c ⃗ ) ⋅ d S ⃗ = c ⃗ ⋅ ∬ S d S ⃗ × ∇ f . \iint_S(\nabla f\times\vec c)\cdot d\vec S=\vec c\cdot\iint_S d\vec S\times\nabla f. ∬ S ( ∇ f × c ) ⋅ d S = c ⋅ ∬ S d S × ∇ f .
Step 4 — Equate and strip the arbitrary c ⃗ \vec c c
From ( ∗ ) (\ast) ( ∗ ) , Steps 2 and 3 give
c ⃗ ⋅ ∮ C f d r ⃗ = c ⃗ ⋅ ∬ S d S ⃗ × ∇ f . \vec c\cdot\oint_C f\,d\vec r=\vec c\cdot\iint_S d\vec S\times\nabla f. c ⋅ ∮ C f d r = c ⋅ ∬ S d S × ∇ f .
This holds for every constant vector c ⃗ \vec c c , so the two vectors are equal:
∮ C f d r ⃗ = ∬ S d S ⃗ × ∇ f . ■ \boxed{\;\oint_C f\,d\vec r=\iint_S d\vec S\times\nabla f.\;}\qquad\blacksquare ∮ C f d r = ∬ S d S × ∇ f . ■
Verification
Numerical sanity check: f = x f=x f = x , S S S the unit disc in z = 0 z=0 z = 0 (n ^ = k ^ \hat n=\hat k n ^ = k ^ , d S ⃗ = k ^ d S d\vec S=\hat k\,dS d S = k ^ d S ), C C C the unit circle. Then ∇ f = ( 1 , 0 , 0 ) \nabla f=(1,0,0) ∇ f = ( 1 , 0 , 0 ) and k ^ × ∇ f = ( 0 , 1 , 0 ) \hat k\times\nabla f=(0,1,0) k ^ × ∇ f = ( 0 , 1 , 0 ) , so the RHS is ( 0 , 1 , 0 ) ⋅ ( area π ) = ( 0 , π , 0 ) (0,1,0)\cdot(\text{area }\pi)=(0,\pi,0) ( 0 , 1 , 0 ) ⋅ ( area π ) = ( 0 , π , 0 ) .
$ python3 -c "
import numpy as np
from scipy import integrate
def lhs_comp(i):
f=lambda t: (np.cos(t))*np.array([-np.sin(t),np.cos(t),0])[i]
return integrate.quad(f,0,2*np.pi)[0]
LHS=np.array([lhs_comp(i) for i in range(3)])
RHS=np.array([0,np.pi,0])
print('LHS=',np.round(LHS,6)); print('RHS=',np.round(RHS,6))
"
# LHS= [0. 3.141593 0.]
# RHS= [0. 3.141593 0.]
Both sides give ( 0 , π , 0 ) (0,\pi,0) ( 0 , π , 0 ) , confirming the identity in this case. ✓