es

The Wolfram Mathematica notebook which contains the code that produces all the Mathematica output in this web page may be downloaded at this link.

To enhance pedagogical effectiveness, the treatment of the dot product is presented in several distinct sections:

Orthogonality

Gram--Schmidt Process

Positive definite

Curvilinear coordinates

Solvability

Curvilinear coordinates

Let r(q¹, q², q³) ⁠ be a smooth, invertible parametrization of an open subset of ℝ³⁠, where (q¹, q², q³) ⁠ are curvilinear coordinates.
  • Covariant (Tangent) Basis Vectors: At any point P⁠, the natural basis vectors tangent to the coordinate curves are defined by:
    \[ \mathbf{e}_i = \frac{\partial\mathbf{r}}{\partial q^i} , \qquad i = 1, 2, 3 . \]
  • The Metric Tensor (gi,j⁠): Equipping ℝ³ ⁠ with the standard Euclidean inner product ⟨ • , • ⟩⁠, the components of the covariant metric tensor are defined as the pairwise inner products of the tangent basis vectors:
    \[ g_{i,j} = \left\langle \mathbf{e}_i \mid \mathbf{e}_j \right\rangle , \qquad i,j = 1,2,3 . \]

When working in curved spaces or curvilinear coordinates, coordinate grids bend and twist. Because coordinate lines are curved, you cannot simply add two points on a curved surface together like ordinary vectors.

However, if you zoom in extremely closely on a single point P⁠, any smooth curved surface or space looks flat. The tangent space at point P⁠⁠, denoted T⁠PM⁠ ⁠ (or T⁠Pℝ³⁠ when working in 3D space), is the flat vector space formed by all possible velocity vectors of smooth curves passing through P⁠.

  • Coordinate Curves: If you hold all curvilinear coordinates constant except one (qi⁠), the position vector r(q¹, q², q³) ⁠ traces out a 1D curve in space called the qi⁠⁠-coordinate curve.
  • Natural Basis Vectors: Taking the partial derivative\( \displaystyle \quad \mathbf{e}_i = \frac{\partial \mathbf{r}}{\partial q^i} \quad \) ⁠ gives the velocity vector tangent to that specific coordinate curve at P.
  • Spanning the Space: As long as the coordinate system is non-degenerate, the set of tangent vectors { e₁, e₂, e₃ } ⁠ is linearly independent. Together, they form a local basis for the tangent space TPℝ³⁠, allowing us to attach a flat Euclidean vector space (and an inner product) at every point P. ⁠
   
Example 1: To show that tangent spaces genuinely depend on the point P⁠—and that basis vectors can change length and direction—consider a 2D torus (donut) embedded in ℝ³⁠.

Let R ⁠ be the major radius (from the center of the hole to the center of the tube) and r ⁠ be the minor radius (the radius of the tube itself), with 0 < r < R⁠. We parametrize the surface using two curvilinear coordinates (φ, θ)⁠:

\[ \mathbf{r}(\theta , \phi ) = \left( \left( R + r\,\cos\theta \right)\cos\phi , \ \left( R + r\,\cos\theta \right)\sin\phi , \ r\,\sin\theta \right) . \]
Here, θ ∈ [0, 2π) ⁠ measures the angle around the tube, and φ ∈ [0, 2π) ⁠ measures the angle around the central axis.
  1. Finding the Tangent Basis Vectors: At any point P(θ, φ) ⁠ on the torus, the tangent space TPT² ⁠ is a 2D flat plane resting against the donut at P⁠. Its basis is spanned by two partial derivative vectors:
    • Poloidal tangent vector (eθ⁠): Differentiating with respect to θ ⁠ gives a vector pointing along the small cross-sectional circle of the tube:
      \[ \mathbf{e}_{\theta} = \frac{\partial \mathbf{r}}{\partial\theta} = \left( -r\,\sin\theta\,\sin\phi , -r\,\sin\theta \,\sin\phi ,\ r\,\cos\theta \right) . \]
    • Toroidal tangent vector (eφ⁠): Differentiating with respect to φ ⁠ gives a vector pointing around the main ring of the donut:
      \[ \mathbf{e}_{\phi} = \frac{\partial \mathbf{r}}{\partial\phi} = \left( - \left( R + r\,\cos\theta \right) \sin\phi , \ \left( R + r\,\cos\theta \right) \cos\phi , \ 0 \right) . \]
  2. Why This Example is Illuminating
    • Position-Dependent Geometry: Every point P ⁠ has its own distinct tangent plane TPT² ⁠ tilted at a different angle in 3D space. A tangent vector at the top of the torus cannot be directly added to a tangent vector on the outer rim without first transporting it.
    • Varying Basis Lengths (Metric Preview): Using the standard ℝ³ ⁠ dot product to measure the lengths of these basis vectors reveals:
      1. \( \displaystyle \quad \| \mathbf{e}_{\theta} \| = +\sqrt{\langle \mathbf{e}_{\theta} \mid \mathbf{e}_{\theta} \rangle} = r \) (constant everywhere).
      2. \( \displaystyle \quad \| \mathbf{e}_{\phi} \| = +\sqrt{\langle \mathbf{e}_{\phi} \mid \mathbf{e}_{\phi} \rangle} = R + r\,\cos\theta . \)
      On the outer equator (θ = 0⁠), ∥eφ∥ = R + r ⁠ (longest). On the inner equator (θ = π⁠), ∥eφ∥ = R − r ⁠ ⁠ (shortest). Even though ⟨eθ , eφ⟩ = 0 ⁠ everywhere (making it an orthogonal coordinate system), the local stretching of space changes from point to point—which directly motivates why we need the metric tensor gi,j ⁠ in Theorem 1!
      ClearAll["Global`*"]; (* 1. Define Torus Geometry and Tangent Basis Vectors *) R = 3.0; r = 1.0; pos[th_, ph_] := {(R + r Cos[th]) Cos[ph], (R + r Cos[th]) Sin[ph], r Sin[th]}; eTh[th_, ph_] := {-r Sin[th] Cos[ph], -r Sin[th] Sin[ph], r Cos[th]}; ePh[th_, ph_] := {-(R + r Cos[th]) Sin[ph], (R + r Cos[th]) Cos[ph], 0.0}; (* Helper function to build the tangent plane and basis arrows at any point (th0, ph0) *) tangentElements[th0_, ph0_, labelP_] := Module[ {p0, vTh, vPh, uTh, uPh, corner1, corner2, corner3, corner4}, p0 = pos[th0, ph0]; vTh = eTh[th0, ph0]; vPh = ePh[th0, ph0]; uTh = Normalize[vTh]; uPh = Normalize[vPh]; corner1 = p0 - 1.3 uTh - 1.3 uPh; corner2 = p0 + 1.3 uTh - 1.3 uPh; corner3 = p0 + 1.3 uTh + 1.3 uPh; corner4 = p0 - 1.3 uTh + 1.3 uPh; { (* Translucent Tangent Plane T_P M *) Orange, Opacity[0.38], EdgeForm[Directive[Thick, Darker[Orange]]], Polygon[{corner1, corner2, corner3, corner4}], (* Point P and Label *) Black, PointSize[0.022], Point[p0], Text[Style[labelP, Bold, 14, Black], p0 + {0, 0, 0.45}], (* Right-Angle Orthogonality Marker *) Darker[Gray], Thin, Line[{p0 + 0.25 uTh, p0 + 0.25 uTh + 0.25 uPh, p0 + 0.25 uPh}], (* Poloidal Basis Vector e_theta (Red) *) Red, Arrowheads[0.032], Thickness[0.006], Arrow[{p0, p0 + 0.9 vTh}], Text[Style[Subscript["e", "\[Theta]"], Bold, 15, Red], p0 + 1.1 vTh], (* Toroidal Basis Vector e_phi (Blue, scaled by 0.35 to preserve relative length!) *) Blue, Arrowheads[0.032], Thickness[0.006], Arrow[{p0, p0 + 0.35 vPh}], Text[Style[Subscript["e", "\[Phi]"], Bold, 15, Blue], p0 + 0.43 vPh] } ]; (* 2. Render the Static 3D Scene *) torusDiagram = Show[ ParametricPlot3D[ pos[th, ph], {th, 0, 2 Pi}, {ph, 0, 2 Pi}, PlotStyle -> Directive[LightBlue, Opacity[0.65], Specularity[White, 15]], Mesh -> {16, 24}, MeshStyle -> Directive[Gray, Thin, Opacity[0.35]], Boxed -> False, Axes -> False ], (* Highlight Coordinate Curves *) ParametricPlot3D[pos[th, -Pi/4], {th, 0, 2 Pi}, PlotStyle -> Directive[Red, Dashed, Thick]], ParametricPlot3D[pos[0.35, ph], {ph, 0, 2 Pi}, PlotStyle -> Directive[Blue, Dashed, Thick]], (* Add Two Tangent Spaces: Outer Rim vs. Upper Inner Slope *) Graphics3D[{ tangentElements[0.35, -Pi/4, "P1 (Outer)"], tangentElements[2.35, 3 Pi/4, "P2 (Inner)"] }], PlotRange -> {{-5.2, 5.2}, {-5.2, 5.2}, {-2.6, 2.6}}, ViewPoint -> {1.9, -2.6, 1.8}, ImageSize -> 700, PlotLabel -> Style["Tangent Spaces on a Torus: Stretching of Basis Vectors", Bold, 16] ] (* 3. Automatically Save a High-Res PNG to Your Desktop for Your Website/Slides *) Export[FileNameJoin[{$HomeDirectory, "Desktop", "TorusTangentSpace.png"}], torusDiagram, ImageResolution -> 300]
      Figure 1.1: Tangent planes to torus.

         ■
      End of Example 1
Theorem 1 (Properties of the Metric Tensor): Let { e₁, e₂, e₃ } ⁠ be a basis for the tangent space TPℝ³⁠. The metric tensor G = { gi,j } ⁠ satisfies:
  1. Symmetry: gi,j = gj,i ⁠ (inherited from the symmetry of the inner product).
  2. Positive Definiteness: For any nonzero vector\( \displaystyle \quad \mathbf{v} = \sum\, v^i \mathbf{e}_i , \quad \langle \mathbf{v} \mid \mathbf{v} \rangle > 0 . \quad \) Consequently,    det(G) > 0⁠.
  3. Arc Length Element: The infinitesimal squared distance ds² = ⟨dr ∣ dr⟩ ⁠ is given by the quadratic form:
    \[ {\text d}s^2 = \sum_{i=1}^3 \,\sum_{j=1}^3 \,g_{i,j}\, {\text d}q^i \,{\text d}q^j . \]
1. Proof of Symmetry. By definition, the real Euclidean inner product is symmetric, meaning ⟨u ∣ v⟩ = ⟨v ∣ u⟩ ⁠ for all vectors v, u ∈ ℝ³⁠. Applying this property directly to the basis vectors yields:
\[ g_{i,j} = \langle \mathbf{e}_i \mid \mathbf{e}_j \ranle = \langle \mathbf{e}_j \mid \mathbf{e}_i \ranle = g_{j.i} . \]
Thus, the matrix G ⁠ is symmetric (Gᵀ = G). ⁠

2. Proof of Positive Definiteness. Let\( \displaystyle \quad \mathbf{v} = \sum_{i=1}^3 \, v^i \,\mathbf{e}_i \quad \) ⁠ be any nonzero vector in TPℝ³⁠. Using the bilinearity of the inner product, we expand

\[ \langle \mathbf{v} \mid \mathbf{v} \rangle = \left\langle \sum_{i=1}^3 \, v^i \,\mathbf{e}_i , \sum_{j=1}^3 \, v^j \,\mathbf{e}_j \right\rangle = \sum_{i=1}^3 \, \sum_{j=1}^3 \, v^i v^j \,\left\langle \mathbf{e}_i \mid \mathbf{e}_j \right\rangle = \sum_{i=1}^3 \, \sum_{j=1}^3 \, v^i v^j \, g_{i,j} . \]
  • Strict Positivity: Because { e₁, e₂, e₃ } ⁠ is a basis, v ≠ 0 ⁠ if and only if at least one component vⁱ ≠ 0⁠. By the positive-definiteness axiom of the inner product, ⟨v ∣ v⟩ > 0 ⁠ whenever v ≠ 0⁠. In matrix notation, for any column vector v = [v¹, v², v³]ᵀ ≠ 0:
    \[ \mathbf{v}^{\mathrm T} \, G\,\mathbf{v} > 0 . \]
  • Positive Determinant: Because G ⁠ is a real, symmetric, positive-definite matrix, all of its eigenvalues λ₁, λ₂, λ₃ ⁠ are strictly positive (λₖ > 0⁠). Since the determinant of a matrix is the product of its eigenvalues, we conclude:
    \[ \det (G) = \lambda_1 \lambda_2 \lambda_3 > 0 . \]
    (Alternative argument via Jacobian: Let\( \displaystyle \quad J = \left[ \frac{\partial x^k}{\partial q^i} \right] \quad \) ⁠ be the Jacobian matrix of the coordinate transformation. Then\( \displaystyle \quad g_{i,j} = \sum_{k=1}^3 \, \frac{\partial x^k}{\partial q^i} \cdot \frac{\partial x^k}{\partial q^j} , \quad \) ⁠, so G = JTJ ⁠. Taking determinants gives det(G) = det(JT)·det(J) = (det(J))² > 0 ⁠ since the coordinate map is locally invertible.)

3. Proof of the Arc Length Element. Consider an infinitesimal displacement dr ⁠ resulting from small coordinate increments (dq¹, dq², dq³)⁠. By the multivariable chain rule (total differential), we expand dr⁠:

\[ {\text d}\mathbf{r} = \frac{\partial \mathbf{r}}{\partial q^1} \,{\text d}q^1 + \frac{\partial \mathbf{r}}{\partial q^2} \,{\text d}q^2 + \frac{\partial \mathbf{r}}{\partial q^3} \,{\text d}q^3 . \]
The infinitesimal squared arc length ⁠ is defined by the inner product of dr ⁠ with itself. Substituting the expansion above and applying bilinearity gives:
\begin{align*} {\text d}s^2 &= \langle \mathbf{r} \mid \mathbf{r} \rangle = \left\langle \sum_{i=1}^3 \,\mathbf{e}_i \,{\text d} q^i , \sum_{j=1}^3 \,\mathbf{e}_j \,{\text d} q^j \right\rangle \\ &= \sum_{i=1}^3 \,\sum_{j=1}^3 \,\langle \mathbf{e}_i \mid \mathbf{e}_j \rangle \,{\text d}q^i \,{\text d}q^j = \sum_{i=1}^3 \,\sum_{j=1}^3 \,g_{i,j}\, {\text d}q^i \,{\text d}q^j . \end{align*}
This completes the proof
Part 2 is a direct application of Gram matrices. Whenever you take any basis of an inner product space and form the matrix of pairwise inner products gi,j = ⟨ei , ej⟩⁠, the resulting Gram matrix is guaranteed to be symmetric and positive definite.    
Example 2: Consider the coordinate transformation from curvilinear coordinates (u, v, z) ⁠ to Cartesian coordinates (x, y, z) ⁠ defined on the upper half-plane (v > 0⁠):
\[ \mathbf{r}(u, v, z) = \left( u + v^2 , \ v, \ z \right) . + \frac{\partial \mathbf{r}}{\partial q^2} \,{\text d}q^2 + \frac{\partial \mathbf{r}}{\partial q^3} \,{\text d}q^3 . \]
Geometrically, curves of constant v ⁠ are horizontal lines, while curves of constant u ⁠ are parabolas x = u + y² ⁠ that tilt as v ⁠ increases—so the coordinate grid lines do not meet at right angles.

Step 1: Compute the Tangent Basis Vectors. Taking partial derivatives of r(u, v, z) ⁠ gives the natural basis vectors at any point P(u, v, z)⁠:

\begin{align*} \mathbf{e}_u &= \frac{\partial \mathbf{r}}{\partial u} = \left( 1, \ 0, \ 0 \right) , \\ \mathbf{e}_v &= \frac{\partial \mathbf{r}}{\partial v} = \left( 2v, \ 1, \ 0 \right) , \\ \mathbf{e}_z &= \frac{\partial \mathbf{r}}{\partial z} = \left( 0, \ 0, \ 1 \right) . \end{align*}

Step 2: Construct the Metric Tensor. ⁠ (Part 1: Symmetry) Computing all pairwise Euclidean inner products gi,j = ⟨ei ∣ ej⟩:

\begin{align*} g_{uu} &= \langle \mathbf{e}_u \mid \mathbf{e}_u \rangle = 1^2 + 0^2 + 0^2 = 1 , \\ g_{uv} &= \langle \mathbf{e}_u \mid \mathbf{e}_v \rangle = (2v)\cdot (1) + (0)(1) + (0)(0) = 2v , \\ g_{vv} &= \langle \mathbf{e}_v \mid \mathbf{e}_v \rangle = (2v)^2 + 1^2 + 0^2 = 4\,v^2 + 1 , \\ g_{uz} &= g_{zu} = g_{vz} = g_{zv} = 0 , \\ g_{zz} &= 1 . \end{align*}
Assembling these into the metric tensor matrix G⁠:
\[ G = \begin{bmatrix} 1& 2v & 0 \\ 2v & 4\,v^2 +1 & 0 \\ 0&0&1 \end{bmatrix} . \]
Since guv ≠ 0, the angle between eu and ev is not 90°, instead,
\[ \cos\alpha = \frac{g_{uv}}{\sqrt{g_{uu}\,g_{vv}}} = \frac{2v}{\sqrt{4\,v^2 + 1}} . \]

Step 3: Verify Positive Definiteness (Part 2). Let v = c¹eu + c³ev + c³ez ⁠ be any tangent vector with components c = [c¹, c², c³]T⁠. Computing the quadratic form cᵀGc⁠:

\begin{align*} \langle \mathbf{v} \mid \mathbf{v} \rangle &= \left[ c^1 , c^2 , c^3 \right] \begin{bmatrix} 1& 2v & 0 \\ 2v & 4\,v^2 +1 & 0 \\ 0&0&1 \end{bmatrix} \begin{pmatrix} c^1 \\ c^2 \\ c^3 \end{pmatrix} \\ &= \left( c^1 \right)^2 + 4v\,c^1 c^2 + \left( 4v^2 + 1 \right) \left( c^2 \right)^2 + \left( c^3 \right)^2 . \end{align*}
Completing the square on the first three terms reveals why this is strictly positive:
\[ \langle \mathbf{v} \mid \mathbf{v} \rangle = \left( c^1 + 2v\,c^2 \right)^2 + \left( c^2 \right)^2 + \left( c^3 \right)^2 . \]
Since each term is a square, ⟨v ∣ v⟩ ≥ 0⁠, and it equals zero only when c³ = 0, c² = 0⁠, andc¹ + 2v(0) = 0    ⇒   c¹ = 0⁠. Furthermore, computing the determinant gives:
\[ \det (G) = 1 \cdot \left( 4 v^2 +1 \right) - (2v)(2v) = 1 > 0 . \]
Even though the grid shears dramatically as v ⁠ grows, det(G) ⁠ remains strictly positive everywhere.

Step 4: Compute the Arc Length Element (Part 3). Applying Theorem 1(3), the squared infinitesimal distance\( \displaystyle \quad {\text d}s^2 = \sum_{i,j}\, g_{i,j}\,{\text d}q^i\,{\text d}q^j \quad \) ⁠ is:

\begin{align*} {\text d}s^2 &= g_{uu}\,{\text d}u^2 + 2\,g_{uv}\,{\text d}u\,{\text d}v + g_{vv}\,{\text d}v^2 + g_{zz}\,{\text d}z^2 \\ &= ,{\text d}u^2 + 4\,v\,{\text d}u\,{\text d}v + \left( 4 v^2 +1 \right) {\text d}v^2 + {\text d}z^2 . \end{align*}
Illustrating Part 3 (Direct Cartesian Check): We can verify this formula directly from dx = du + 2v dv, dy = dv, and dz = dz:
\begin{align*} {\text d}s^2 &= {\text d}x^2 + {\text d}y^2 + {\text d}z^2 = \left( {\text d}u + 2v\,{\text d}v \right)^2 + {\text d}v^2 + {\text d}z^2 \\ &= {\text d}u^2 + 4v\,{\text d}u\,{\text d}v + \left( 4v^2 + 1 \right) {\text d}v^2 + {\text d}z^2 . \end{align*}
Notice how the off-diagonal metric entry guv = 2v ⁠ produces the cross-term 4v dudv ⁠ in the generalized Pythagorean theorem!
ClearAll["Global`*"]; (* 1. Define the Parabolic-Skewed Transformation *) r[u_, v_, z_] := {u + v^2, v, z}; vars = {u, v, z}; (* 2. Compute Basis Vectors and Metric Tensor G *) e = Table[D[r[u, v, z], var], {var, vars}]; G = Simplify[Table[e[[i]] . e[[j]], {i, 3}, {j, 3}]]; Print["Metric Tensor G = ", MatrixForm[G]]; Print["Is G Symmetric? ", SymmetricMatrixQ[G]]; Print["Determinant of G = ", Det[G]]; Print["Is G Positive Definite (for v = 1)? ", PositiveDefiniteMatrixQ[G /. v -> 1]]; (* 3. Compute Arc Length Squared ds^2 *) dq = {du, dv, dz}; ds2 = Expand[dq . G . dq]; Print["ds^2 = ", ds2]; (* 4. Plot the 2D Non-Orthogonal Grid and Basis Vectors at (u0, v0) = (0, 1) *) r2D[u_, v_] := {u + v^2, v}; p0 = r2D[0, 1]; eu0 = {1, 0}; ev0 = {2 (1), 1}; skewedPlot = Show[ ParametricPlot[r2D[u, v], {u, -2, 2}, {v, 0, 2}, Mesh -> {8, 8}, MeshStyle -> {Directive[Blue, Dashed], Directive[Darker[Green], Dashed]}, PlotStyle -> Opacity[0.08, LightBlue], Frame -> True, FrameLabel -> {"x", "y"}, PlotLabel -> Style["Non-Orthogonal Grid: r(u, v) = (u + v^2, v)", Bold, 14] ], Graphics[{ Black, PointSize[0.02], Point[p0], Text[Style["P(u=0, v=1)", Bold, 12], p0 + {-0.55, 0.12}], (* Basis Vector e_u *) Red, Thick, Arrowheads[0.035], Arrow[{p0, p0 + eu0}], Text[Style[Subscript["e", "u"], Bold, 14, Red], p0 + eu0 + {0.15, -0.1}], (* Basis Vector e_v *) Blue, Thick, Arrowheads[0.035], Arrow[{p0, p0 + ev0}], Text[Style[Subscript["e", "v"], Bold, 14, Blue], p0 + ev0 + {0.15, 0.05}] }], PlotRange -> {{-2, 5.5}, {-0.2, 2.3}}, AspectRatio -> Automatic, ImageSize -> 550 ] Export[FileNameJoin[{$HomeDirectory, "Desktop", "SkewedGrid.png"}], skewedPlot, ImageResolution -> 300]
Figure 3.1: Elliptic cylindrical coordinates.

In illustrative plot of the skewed coordinate grid, horizontal green dashed lines represent curves of constant v⁠, while blue dashed parabolas represent curves of constant u⁠. At the point P(u = 0, v = 1)    ⇒    (x = 1, y = 1)⁠, the tangent vectors eu = (1, 0) ⁠ and ev = (2, 1) ⁠ clearly form an acute angle (α &approx 26.6° ≠ 90°), visually explaining why the off-diagonal metric component guv = ⟨eu ∣ ev⟩ = 2v ≠ 0. ⁠    ■

End of Example 2
Theorem 2 (Orthogonal Curvilinear Coordinates & Scale Factors): A curvilinear coordinate system is orthogonal if and only if the metric tensor G ⁠ is diagonal (gi,j = 0 ⁠ for i ≠ j⁠). In this case:
  1. Scale Factors (hi⁠): The lengths of the tangent vectors are defined as
    \[ h_i = \| \mathbf{e}_i \| = +\sqrt{\lamgle \mathbf{e}_i \mid \mathbf{e}_i \rangle} = \sqrt{g_{i,i}} . \]
  2. Orthonormal Basis: A local orthonormal frame\( \displaystyle \quad \left\{\, \hat{\bf e}_1 , \ \hat{\bf e}_2 , \ \hat{\bf e}_3 \,\right\} \quad \) ⁠ is constructed by normalizing the tangent basis:
    \[ \hat{\bf e}_i = \frac{\mathbf{e}_i}{h_i} , \qquad i = 1, 2, 3 . \]
  3. Volume Element: The Jacobian determinant\( \displaystyle \quad J = \det\left( \frac{\partial \mathbf{r}}{\partial q^i} \right) \quad \) satisfies\( \displaystyle \quad J = \sqrt{\det (G)} = h_1 h_2 h_3 , \quad \) yielding the volume element dV = h₁h₂h₃dq¹q²q³.
Preliminaries: Equivalence of Orthogonality and Diagonal.
⁠ By definition, a coordinate system is orthogonal at point P ⁠ if its coordinate curves intersect at right angles, meaning distinct tangent basis vectors are mutually perpendicular:
\[ \mathbf{e}_i \perp \mathbf{e}_j \qquad \mbox{for all } i \ne j . \]
In an inner product space, two vectors are perpendicular if and only if their inner product vanishes. Since gi,j = ⟨ei ∣ ej⟩⁠, we immediately have:
\[ \mathbf{e}_i \perp \mathbf{e}_j \quad \iff \quad \langle \mathbf{e}_i \mid \mathbf{e}_j \rangle = 0 \quad \iff \quad g_{i,j} = 0 \quad (i \ne j). . \]
Hence, G = diag(g₁₁, g₂₂, g₃₃) ⁠ is a diagonal matrix.

1. Proof of Scale Factors. In any inner product space, the Euclidean norm (length) of a vector v ⁠ is induced by the inner product via\( \displaystyle \quad \|\mathbf{v}\| = +\sqrt{\langle \mathbf{v} \mid \mathbf{v}\rangle}. \quad \) Applying this to the i⁠-th tangent basis vector ei ⁠ yields:

\[ h_i = \| \mathbf{e}_i \| = +\sqrt{\langle \mathbf{e}_i \mid \mathbf{e}_i \rangle} = \sqrt{g_{ii}} . \]
Because { e₁, e₂, e₃ } ⁠ is a basis, no basis vector can be the zero vector (ei ≠ 0⁠), which guarantees gii > 0 ⁠ and therefore hi > 0. ⁠

⁠ 2. Proof of the Orthonormal Basis. Define the normalized vectors\( \displaystyle \quad \hat{\bf e}_i = \frac{1}{h_i}\,\mathbf{e}_i \quad \) ⁠ for i = 1, 2, 3. ⁠Using the bilinearity of the inner product, we compute the pairwise inner products \( \displaystyle \quad \left\langle \mathbf{e}_i \mid \mathbf{e}_j \right\rangle : \) ⁠

\[ \left\langle \hat{\bf e}_i \mid \hat{\bf e}_j \right\rangle = \left\langle \frac{\mathbf{e}_i}{h_i} , \frac{\mathbf{e}_j}{h_j} \right\rangle = \frac{1}{h_i h_j}\,\left\langle {\bf e}_i \mid {\bf e}_j \right\rangle = \frac{g_{i,j}}{h_i h_j} . \]
We examine the two possible cases:
  • Case i = j⁠: Since gii = (hi)²⁠, we obtain:
    \[ \left\langle \hat{\bf e}_i \mid \hat{\bf e}_i \right\rangle = \frac{g_{i,i}}{h_i^2} = 1 . \]
  • Case i ≠ j⁠: Since the system is orthogonal,gi.j = 0⁠, so:
    \[ \left\langle \hat{\bf e}_i \mid \hat{\bf e}_j \right\rangle = \frac{0}{h_i h_j} = 0 . \]
Combining both cases gives\( \displaystyle \quad \left\langle \hat{\bf e}_i \mid \hat{\bf e}_j \right\rangle = \delta_{i,j} \ \) ⁠ (the Kronecker delta), proving that\( \displaystyle \quad \left\{ \hat{\bf e}_1 , \hat{\bf e}_2 , \hat{\bf e}_3 \right\} \quad \) ⁠ is a local orthonormal basis. ⁠

3. Proof of the Volume Element, Consider an infinitesimal curvilinear coordinate box spanned by the three displacement vectors dr₁ = e₁dq¹, dr₂ = e₂dq², and dr₃ = e₃dq³ ⁠ (assuming positive increments dqi > 0⁠).

  • Geometric Derivation (via Orthogonality): Because e₁, e₂, e₃ ⁠ are mutually orthogonal, this infinitesimal parallelepiped is a rectangular box whose edge lengths are:
    \begin{align*} {\text d}s_1 &= \| \mathbf{e}_1 \,{\text d}q^1 \| = h_1 \,{\text d}q^1 , \\ {\text d}s_2 &= \| \mathbf{e}_2 \,{\text d}q^2 \| = h_2 \,{\text d}q^2 , \\ {\text d}s_3 &= \| \mathbf{e}_3 \,{\text d}q^3 \| = h_3 \,{\text d}q^3 . \end{align*}
    The volume of a rectangular box is simply the product of its three orthogonal edge lengths:
    \[ {\text d}V = {\text d}s_1\,{\text d}x_2 \,{\text d}s_3 = h_1 h_2 h_3 \,{\text d}q^1 \,{\text d}q^2 \,{\text d}q^3 . \]
  • Algebraic Connection to det(G)⁠: Recall from multivariable calculus that the volume element is given by the absolute value of the Jacobian determinant, dV = |det(J)| dq¹dq²dq³⁠, where\( \displaystyle \quad J = \left[ \frac{\partial\mathbf{r}}{\partial q^1} \ \frac{\partial\mathbf{r}}{\partial q^2} \ \frac{\partial\mathbf{r}}{\partial q^3} \right]\quad \) ⁠ has the tangent vectors ei ⁠ as its columns. Since G = JᵀJ ⁠, taking determinants yields:
    \[ \det (G) = \det\left( J^{\mathrm T} J \right) = \det\left( J^{\mathrm T} \right) \,\det (J) = (\det J)^2 , \]
so\( \displaystyle \quad |\det IJ)| = \sqrt{\det (G)} . \quad \) When G = diag(g₁₁, g₂₂, g₃₃) = diag(h21h22h23)⁠, its determinan is the product of its diagonal entries:
\[ \det (G) = h_1^2 h_2^2 h_3^2 \quad \Longrightarrow \quad \sqrt{\det (G)} = h_1 h_2 h_3 . \]
Substituting this into the Jacobian volume formula confirms:
\[ {\text d}V = \sqrt{\det (G)}\, {\text d}q^1 \,{\text d}q^2\,{\text d}q^3 = h_1 h_2 h_3\,{\text d}q^1 \,{\text d}q^2\,{\text d}q^3 . \]
In an orthogonal curvilinear system, advancing each coordinate by an infinitesimal increment dqi ⁠ traces three mutually perpendicular arc segments of physical lengths ds₁ = h₁dq¹, ds₂ = h₂dq², and ds₃ = h₃dq³, ⁠. Because the local basis vectors ⁠ meet at right angles, the resulting infinitesimal region approximates a rectangular box whose volume is the product of its three physical edge lengths.
ClearAll["Global`*"]; (* Spherical Coordinate Map *) sph[r_, th_, ph_] := {r Sin[th] Cos[ph], r Sin[th] Sin[ph], r Cos[th]}; (* Wedge Parameters *) r0 = 1.6; dr = 0.6; th0 = Pi/4; dth = Pi/8; ph0 = Pi/6; dph = Pi/6; p0 = sph[r0, th0, ph0]; (* Build the 6 Faces of the Spherical Volume Element *) wedgeFaces = Show[ ParametricPlot3D[sph[r0, th, ph], {th, th0, th0 + dth}, {ph, ph0, ph0 + dph}, PlotStyle -> Directive[LightBlue, Opacity[0.5]], Mesh -> None], ParametricPlot3D[sph[r0 + dr, th, ph], {th, th0, th0 + dth}, {ph, ph0, ph0 + dph}, PlotStyle -> Directive[LightBlue, Opacity[0.5]], Mesh -> None], ParametricPlot3D[sph[r, th0, ph], {r, r0, r0 + dr}, {ph, ph0, ph0 + dph}, PlotStyle -> Directive[LightBlue, Opacity[0.4]], Mesh -> None], ParametricPlot3D[sph[r, th0 + dth, ph], {r, r0, r0 + dr}, {ph, ph0, ph0 + dph}, PlotStyle -> Directive[LightBlue, Opacity[0.4]], Mesh -> None], ParametricPlot3D[sph[r, th, ph0], {r, r0, r0 + dr}, {th, th0, th0 + dth}, PlotStyle -> Directive[LightBlue, Opacity[0.4]], Mesh -> None], ParametricPlot3D[sph[r, th, ph0 + dph], {r, r0, r0 + dr}, {th, th0, th0 + dth}, PlotStyle -> Directive[LightBlue, Opacity[0.4]], Mesh -> None], (* Highlight the Three Orthogonal Edge Lengths from Point P *) ParametricPlot3D[sph[r, th0, ph0], {r, r0, r0 + dr}, PlotStyle -> Directive[Red, Thickness[0.008]]], ParametricPlot3D[sph[r0, th, ph0], {th, th0, th0 + dth}, PlotStyle -> Directive[Darker[Green], Thickness[0.008]]], ParametricPlot3D[sph[r0, th0, ph], {ph, ph0, ph0 + dph}, PlotStyle -> Directive[Blue, Thickness[0.008]]], Graphics3D[{ Black, PointSize[0.025], Point[p0], Text[Style["P", Bold, 14], p0 + {-0.1, -0.1, 0.05}], Text[Style["ds_r = dr", Bold, 13, Red], sph[r0 + dr/2, th0, ph0] + {0.15, -0.1, 0}], Text[Style["ds_\[Theta] = r d\[Theta]", Bold, 13, Darker[Green]], sph[r0, th0 + dth/2, ph0] + {0.18, -0.15, -0.05}], Text[Style["ds_\[Phi] = r sin\[Theta] d\[Phi]", Bold, 13, Blue], sph[r0, th0, ph0 + dph/2] + {-0.15, 0.25, 0.08}] }], Boxed -> False, Axes -> False, ViewPoint -> {2.2, -1.8, 1.4}, PlotLabel -> Style["Spherical Volume Element: dV = r^2 sin(\[Theta]) dr d\[Theta] d\[Phi]", Bold, 15], ImageSize -> 600 ] Export[FileNameJoin[{$HomeDirectory, "Desktop", "SphericalVolumeElement.png"}], wedgeFaces, ImageResolution -> 300]
Figure 2.1: Spherical element.

   
Example 3: Consider the coordinate transformation from elliptic cylindrical coordinates (u, v, z) ⁠ to Cartesian coordinates (x, y, z) ⁠ with focal distance parameter 𝑎 > 0⁠, defined for u > 0⁠, v ∈ [0, 2π)⁠, and z ∈ ℝ.
\[ \mathbf{r}(u, v, z) = \left( a\,\cosh u\,\cos v, \ a\,\sinh u\,\sin v , \ z \right) . \]
  • Curves of constant u ⁠ are confocal ellipses\( \displaystyle \quad \frac{x^2}{a^2\,\cosh^2 u} + \frac{y^2}{a^2\,\sinh^2 u} = 1 \quad \) with foci at (±𝑎, 0).
  • Curves of constant v ⁠ are confocal hyperbolas\( \displaystyle \quad \frac{x^2}{a^2\,\cos^2 v} - \frac{y^2}{a^2\,\sin^2 v} = 1 \quad \) ⁠ sharing the exact same foci.

Step 1: Natural Tangent Basis Vectors. Taking partial derivatives of r(u, v, z) ⁠ with respect to u, v, z ⁠ yields:

  • \( \displaystyle \quad \mathbf{e}_u = \frac{\partial\mathbf{r}}{\partial u} = \left( a\,\sinh (u)\, \cos (v) , \ a\,\sinh (u)\,\cos (v) , \ 0 \right) , \)
  • \( \displaystyle \quad \mathbf{e}_v = \frac{\partial\mathbf{r}}{\partial v} = \left( -a\,\cosh (u)\,\sin (v) ,\ a\,\sinh (u)\,\cos (v) , \ 0 \right) , \)
  • \( \displaystyle \quad \mathbf{e}_z = \frac{\partial\mathbf{r}}{\partial z} = \left( 0, \ 0, \ 1 \right) . \)

Step 2: Verify Orthogonality (gi,j = 0 ⁠ for i ≠ j⁠).
Computing the off-diagonal inner products:

\begin{align*} g_{uu} &= \left\langle \mathbf{e}_u \mid \mathbf{e}_u \right\rangle = \left( a\,\sinh u\,\cos v \right) \left( -a\,\cosh u\,\sin v \right) \\ &\quad + \left( a\,\cosh u\,\sin v \right) \left( a\,\sinh u\,\cos v \right) + 0 = 0 . \end{align*}
Mathematica confirms:
r[u_ , v_, z_] = {a*Cosh[u]*Cos[v], a*Sinh[u]*Sin[v], z};
Dot[D[r[u, v, z], u], D[r[u, v, z], v]]
0
Clearly guz = ⟩eu ∣ ez⟩ = 0 and gvz = ⟩ev ∣ ez⟩ = 0⁠. Because all off-diagonal entries vanish, G ⁠ is diagonal and the confocal ellipses and hyperbolas intersect at exact right angles everywhere.

Step 3: Scale Factors (\( \displaystyle \quad h_i = \sqrt{g_{i,i}} \) ⁠) and Orthonormal Basis.
Computing the diagonal metric components

\begin{align*} g_{uu} &= a^2 \sinh^2 u\,\cos^2 v + a^2 \cosh^2 u\,\sin^2 v = a^2 \left( \sinh^2 u + \sin^2 v \right) , \\ g_{vv} &= a^2 \cosh^2 u\,\sin^2 v + a^2 \sinh^2 u\,\sin^2 v = a^2 \left( \sinh^2 u + \sin^2 v \right) , \\ g_{zz} &= 1 . \end{align*}
(Note: Using cosh²u − sinh²u = 1 and cos² + sin²v = 1⁠, we simplify sinh²u )1 − sin²v) + (1 + sinh²u) sin²v = sinh²u + sin²v⁠.)

Taking square roots gives the three scale factors:

\begin{align*} h_{u} &= \sqrt{g_{uu}} = a\,\sqrt{\sinh^2 u + \sin^2 v} , \\ h_{v} &= \sqrt{g_{vv}} = a\,\sqrt{\sinh^2 u + \sin^2 v} , \\ h_z &= 1 . \end{align*}
Dividing each tangent vector by its scale factor produces the local orthonormal basis:
\begin{align*} \hat{\bf e}_{u} &= \frac{\left( \sinh u\,\cos v , \ \cosh u\,\sin v , \ 0 \right)}{\sqrt{\sinh^2 u + \sin^2 v}} , \\ \hat{\bf e}_{v} &= \frac{\left( -\cosh u\,\sin v , \ \sinh u\,\cos v , \ 0 \right)}{\sqrt{\sinh^2 u + \sin^2 v}} , \\ \hat{\bf e}_{z} &= 1. \end{align*}

Step 4: Volume Element (dV = hu hv hz dudvdz⁠).
Applying Theorem 2(3), the infinitesimal volume element becomes

\[ {\text d}V = h_u h_v h_z\,{\text d}u{\text d}v{\text d}z = a^2 \left( \sinh^2 u + \sin^2 v \right) {\text d}u{\text d}v{\text d}z . \]
Even though the coordinate grid curves smoothly around the foci, the local area of each grid cell in the xy⁠-plane is simply dA = huhv dudv = 𝑎²(sinh²u + sin²v) du dv. ⁠

Illustrative Plot: Confocal Ellipses, Hyperbolas, and Orthonormal Frame.
The diagram below shows confocal ellipses (u = constant⁠) and confocal hyperbolas (v = constant⁠) for 𝑎 = 1.5⁠. At P(u₀ = 0.7, v₀ = π/4)⁠, the unit vectors\( \displaystyle \quad \hat{\bf e}_u \quad\mbox{and} \quad \hat{\bf e}_v \quad \) are perpendicular and tangent to the intersecting curves.

Figure 3.1: Non-orthogonal cirviliear grid.

ClearAll["Global`*"]; (* 1. Define Elliptic Cylindrical Coordinates (a > 0, u > 0) *) $Assumptions = {a > 0, u > 0, Element[{v, z}, Reals]}; r[u_, v_, z_] := {a Cosh[u] Cos[v], a Sinh[u] Sin[v], z}; vars = {u, v, z}; (* 2. Compute Tangent Basis Vectors and Diagonal Metric Tensor G *) e = Table[D[r[u, v, z], var], {var, vars}]; G = FullSimplify[Table[e[[i]] . e[[j]], {i, 3}, {j, 3}]]; Print["Diagonal Metric Tensor G = ", MatrixForm[G]]; Print["Is G Diagonal? ", DiagonalMatrixQ[G]]; (* 3. Scale Factors h_i and Orthonormal Basis eHat_i *) h = FullSimplify[Sqrt[Diagonal[G]]]; Print["Scale Factors {h_u, h_v, h_z} = ", h]; eHat = FullSimplify[Table[e[[i]] / h[[i]], {i, 3}]]; orthoCheck = FullSimplify[Table[eHat[[i]] . eHat[[j]], {i, 3}, {j, 3}]]; Print["Orthonormality Check (Identity Matrix): ", MatrixForm[orthoCheck]]; (* 4. Volume Element dV = Sqrt[Det[G]] du dv dz *) dV = FullSimplify[Sqrt[Det[G]]] * du * dv * dz; Print["Volume Element dV = ", dV]; (* 5. Static 2D Grid Plot with Orthonormal Frame at (u0, v0) = (0.7, Pi/4) *) aVal = 1.5; u0 = 0.7; v0 = Pi/4; r2D[u_, v_] := {aVal Cosh[u] Cos[v], aVal Sinh[u] Sin[v]}; p0 = r2D[u0, v0]; euHat0 = (eHat[[1]][[1 ;; 2]]) /. {a -> aVal, u -> u0, v -> v0}; evHat0 = (eHat[[2]][[1 ;; 2]]) /. {a -> aVal, u -> u0, v -> v0}; ellipticPlot = Show[ ParametricPlot[r2D[u, v], {u, 0.05, 1.3}, {v, 0, 2 Pi}, Mesh -> {5, 16}, MeshStyle -> {Directive[Blue, Dashed], Directive[Darker[Green], Dashed]}, PlotStyle -> Opacity[0.06, LightBlue], Frame -> True, FrameLabel -> {"x", "y"}, PlotLabel -> Style["Elliptic Cylindrical Coordinates (Theorem 2)", Bold, 14] ], Graphics[{ Black, PointSize[0.02], Point[p0], Text[Style["P", Bold, 13], p0 + {0.15, -0.15}], (* Right-Angle Marker *) Thin, Line[{p0 + 0.18 euHat0, p0 + 0.18 euHat0 + 0.18 evHat0, p0 + 0.18 evHat0}], (* Orthonormal Unit Vectors *) Red, Thick, Arrowheads[0.035], Arrow[{p0, p0 + 0.75 euHat0}], Text[Style[OverHat["e"]_u, Bold, 14, Red], p0 + 0.85 euHat0], Purple, Thick, Arrowheads[0.035], Arrow[{p0, p0 + 0.75 evHat0}], Text[Style[OverHat["e"]_v, Bold, 14, Purple], p0 + 0.85 evHat0] }], PlotRange -> {{-3.2, 3.2}, {-2.4, 2.4}}, AspectRatio -> Automatic, ImageSize -> 550 ] Export[FileNameJoin[{$HomeDirectory, "Desktop", "EllipticCylindrical.png"}], ellipticPlot, ImageResolution -> 300]
   ■
End of Example 3
Theorem 3 (Differential Operators via Inner Products): In any orthogonal curvilinear system with scale factors (h₁, h₂, h₃)⁠, the fundamental operators of vector calculus are uniquely determined by the metric:
  • Gradient:\( \displaystyle \quad \nabla f = \sum_{i=1}^3 \,\frac{1}{h_i}\,\frac{\partial f}{\partial q^i} \, \hat{\bf e}_i . \)
  • Divergence: \( \displaystyle \quad \nabla \bullet \mathbf{F} = \frac{1}{h_1 h_2 h_3} \,\sum_{i=1}^3 \,\frac{\partial}{\partial q^i} \left( \frac{h_1 h_2 h_3}{h_i}\, F_i \right) . \)
  • Curl: \( \displaystyle \quad \nabla \times \mathbf{F} = \frac{1}{h_1 h_2 h_3} \,\begin{vmatrix} h_1\,\hat{\bf e}_1 & h_2\,\hat{\bf e}_2 & h_3\,\hat{\bf e}_3 \\ \frac{\partial}{\partial q^1} & \frac{\partial}{\partial q^2} & \frac{\partial}{\partial q^3} \\ h_1 F_1 & h_2 F_2 & h_3 F_3 \end{vmatrix} . \)
  • Laplacian: \( \displaystyle \quad \nabla^2 f = \frac{1}{h_1 h_2 h_3} \,\sum_{i=1}^3 \,\frac{\partial}{\partial q^i} \left( \frac{h_1 h_2 h_3}{h_i}\, \frac{\partial f}{\partial q^i} \right) . \)
1. Proof of the Gradient
By the coordinate-free definition of the gradient, ∇ f, ⁠ is the unique vector field satisfying df = ⟨∇f , dr⟩ ⁠ for every infinitesimal displacement dr⁠.

Expand ∇f ⁠ in the local orthonormal basis as\( \displaystyle \quad \nabla f = c_1 \hat{\bf e}_1 + c_2 \hat{\bf e}_2 + c_3 \hat{\bf e}_3 ⁠. \quad \) From Theorem 2, the infinitesimal displacement vector is\( \displaystyle \quad {\text d}\mathbf{r} = \sum_{i=1}^3 \,h_i {\text d}q^i \hat{\bf e}_i . \quad \) Taking the inner product gives:

\[ {\text d}f = \angle \nabla f \mid {\text d}\mathbf{r} \rangle = \left\langle \sum_{i=1}^3 \,c_i \hat{\bf e}_i , \sum_{j=1}^3 \,h_j {\text d}q^j \hat{\bf e}_j \right\rangle = \sum_{i=1}^3 c_i h_i {\text d}q^i . \]
On the other hand, the total differential of f(q¹, q², q³) is
\[ {\text d}f = \sum_{i=1}^3 \,\frac{\partial f}{\partial q^i}\,{\text d}q^i . \]
Since the increments dq¹, dq², dq³ ⁠ are independent, we equate coefficients to obtain\( \displaystyle \quad c_i h_i = \frac{\partial f}{\partial q^i} \quad \mbox{or} \quad c_i = \frac{1}{h_i}\,\frac{\partial f}{\partial q^i} .\quad \) ⁠Substituting these components back into ∇f ⁠ yields:
\[ \nabla f = \sum_{i=1}^3 \,\frac{1}{h_i}\, \frac{\partial f}{\partial q^i} \,\hat{\bf e}_i . \]

Preliminary Lemma for Divergence and Curl.
Applying Part 1 to each coordinate function f = qi ⁠ gives:

\[ \nabla q^i = \frac{1}{h_i}\,\hat{\bf e}_i \quad \Longrightarrow \quad \hat{\bf e}_i = h_i \,\nabla q^i . \]
Because \( \displaystyle \quad \left\{ \,\hat{\bf e}_1 , \ \hat{\bf e}_2 , \ \hat{\bf e}_3 \,\right\} \quad \) ⁠ is a right-handed orthonormal basis,\( \displaystyle \quad \hat{\bf e}_1 = \hat{\bf e}_2 \times \hat{\bf e}_3 . \quad \) ⁠. Substituting\( \displaystyle \quad ⁠ \hat{\bf e}_2 = h_2 \nabla q^2 \quad \mbox{and} \quad \hat{\bf e}_3 = h_3 \nabla q^3 \quad \) ⁠ yields the key identity:
\[ \hat{\bf e}_1 = h_2 h_3 \left( \nabla q^2 \times q^3 \right) . \]
Cyclic permutations of (1, 2, 3) ⁠ produce the corresponding identities for \( \displaystyle \quad \hat{\bf e}_2 \quad\mbox{and}\quad \hat{\bf e}_3 . \)

2. Proof of the Divergence.
Using the lemma above, write the first component of F ⁠ as:

\[ F_1 \hat{\bf e}_1 = \left( F_1 h_2 h_3 \right) \left( \nabla q^2 \times \nab;a q^3 \right) . \]
Apply the product rule ∇ • (ϕA) = ⟨ϕ , A⟩ + ϕ(∇ • A) ⁠ with ϕ = F₁h₂h₃ ⁠ and A = ∇q² × ∇q³⁠. Notice that ∇ • (∇q² × ∇q³) = 0 ⁠ because the curl of any gradient vanishes:
\[ \nabla \bullet \left( \nabla q^2 \times \nabla q^3 \right) = \left\langle \nabla q^3 , \nabla \times \nabla q^2 \right\rangle - \left\langle \nabla q^2 , \nabla \times \nabla q^3 \right\rangle = 0-0=0. \]
Thus, only the first term survives. Expanding ∇(F₁h₂h₃ ⁠ via Part 1 and replacing \( \displaystyle \quad \nabla q^2 \times \nabla q^3 = \frac{\hat{\bf e}_1}{h_2 h_3} \quad \) ⁠ gives:
\[ \nabla \bullet \left( F_1 \hat{\bf e}_1 \right) = \left\langle \sum_{k=1}^3 \,\frac{1}{h_k}\,\frac{\partial \left( F_1 h_2 h_3 \right)}{\partial q^k} \,\hat{\bf e}_k , \frac{\hat{\bf e}_1}{h_2 h_3} \right\rangle = \frac{1}{h_1 h_2 h_3}\,\frac{\partial}{\partial q^1} \left( F_1 h_2 h_3 \right) . \]
Repeating this calculation for\( \displaystyle \quad F_2 \,\hat{\bf e}_2 \quad \mbox{and} \quad F_3 \,\hat{\bf e}_3 \quad \) by cyclic permutation and summing all three terms yields
\begin{align*} \nabla \bullet \mathbf{F} &= \nabla \bullet \left( F_1 \hat{\bf e}_1 \right) + \left( F_2 \hat{\bf e}_2 \right) + \left( F_3 \hat{\bf e}_3 \right) \\ &= \frac{1}{h_1 h_2 h_3} \left[ \frac{\partial}{\partial q^1} \left( F_1 h_2 h_3 \right) + \frac{\partial}{\partial q^2} \left( F_2 h_1 h_3 \right) + \frac{\partial}{\partial q^3} \left( F_3 h_1 h_2 \right) \right] . \end{align*}

3. Proof of the Curl.
Using\( \displaystyle \quad \hat{\bf e}_1 = h_1 \nabla q^1 , \quad \) ⁠, rewrite the first term of F ⁠ as\( \displaystyle \quad F_1 \hat{\bf e}_1 = \left( h_1 F_1 \right) \nabla q^1 . \quad \) Apply the vector product rule ∇ × (ϕA) = *nabla;ϕ × A + ϕ(∇ × A) ⁠ with ϕ = h₁F₁ ⁠ and A = ∇q¹⁠. Since ∇ × ∇q¹ = 0⁠, this simplifies to:

\[ \nabla \times \left( F_1 \hat{\bf e}_1 \right) = \nabla \left( h_1 F_1 \right) \times \nabla q^1 . \]
Expand ∇(h₁F₁) ⁠ using Part 1 and substitute\( \displaystyle \quad \nabla q^1 = \frac{\hat{\bf e}_1}{h_1} : \)
\begin{align*} \nabla \times \left( F_1 \hat{\bf e}_1 \right) &= \left( \frac{1}{h_1}\, \frac{\partial\left( h_1 F_1 \right)}{\partial q^1} \,\hat{\bf e}_1 + \frac{1}{h_2}\, \frac{\partial\left( h_1 F_1 \right)}{\partial q^2} \,\hat{\bf e}_2 \right. \\ &\quad \left. + \frac{1}{h_3}\, \frac{\partial\left( h_1 F_1 \right)}{\partial q^3} \,\hat{\bf e}_3 \right) \times \frac{\hat{\bf e}_1}{h_1} . \end{align*}
Using the right-handed cross products\( \displaystyle \quad \hat{\bf e}_1 \times \hat{\bf e}_1 = \mathbf{0} , \quad \hat{\bf e}_2 \times \hat{\bf e}_1 = - \hat{\bf e}_3 , \quad\mbox{and} \quad \hat{\bf e}_3 \times \hat{\bf e}_1 = \hat{\bf e}_2 , \quad \) we obtain
\[ \nabla \times \left( F_1 \hat{\bf e}_1 \right) = \frac{1}{h_1 h_3} \,\frac{\partial\left( h_1 F_1 \right)}{\partial q^3} \,\hat{\bf e}_2 -\frac{1}{h_1 h_2} \,\frac{\partial\left( h_1 F_1 \right)}{\partial q^2} \,\hat{\bf e}_3 . \]
Computing\( \displaystyle \quad \nabla × \left( F_2 \hat{\bf e}_2 \right) \quad \mbox{and} \quad \nabla × \left( F_3 \hat{\bf e}_3 \right) \quad \) ⁠ via cyclic permutation and adding all three results gives:
\begin{align*} \nabla \times \mathbf{F} &= \frac{\hat{\bf e}_1}{h_2 h_3} \left[ \frac{\partial\left( h_3 F_3 \right)}{\partial q^2} - \frac{\partial\left( h_2 F_2 \right)}{\partial q^3} \right] \\ &\quad + \frac{\hat{\bf e}_2}{h_1 h_3} \left[ \frac{\partial\left( h_1 F_1 \right)}{\partial q^3} - \frac{\partial\left( h_3 F_3 \right)}{\partial q^1} \right] \\ &\quad + \frac{\hat{\bf e}_3}{h_1 h_2} \left[ \frac{\partial\left( h_2 F_2 \right)}{\partial q^1} - \frac{\partial\left( h_1 F_1 \right)}{\partial q^2} \right] . \end{align*}
Factoring out (h₁h₂h₃)−1 ⁠ reproduces the compact determinant expansion in Theorem 3(3).

4. Proof of the Laplacian.
By definition, the scalar Laplacian is the divergence of the gradient: &nabla²f = ∇ • (∇f)⁠. Set F = ∇f⁠, whose components from Part 1 are:

\[ F_1 = \frac{1}{h_1}\,\frac{\partial f}{\partial q^1} , \quad F_2 = \frac{1}{h_2}\,\frac{\partial f}{\partial q^2} , \quad F_3 = \frac{1}{h_3}\,\frac{\partial f}{\partial q^3} . \]
Substituting these components directly into the divergence formula from Part 2 gives
\begin{align*} \nabla^2 f &= \nabla \bullet \left( \nabla f \right) = \frac{1}{h_1 h_2 h_3} \left[ \frac{\partial}{\partial q^1} \left( \frac{h_2 h_3}{h_1} \,\frac{\partial f}{\partial q^1} \right) \right. \\ &\quad + \left. \frac{\partial}{\partial q^2} \left( \frac{h_1 h_3}{h_2} \,\frac{\partial f}{\partial q^2} \right) + \frac{\partial}{\partial q^3} \left( \frac{h_1 h_2}{h_3} \,\frac{\partial f}{\partial q^3} \right) \right] . \end{align*}

Note:    Classical textbooks often prove divergence and curl using flux integrals over infinitesimal boxes and circulation around infinitesimal loops (requiring careful Taylor expansions on opposite faces). Using the coordinate gradients ⁠ makes the proof purely algebraic, exact, and free of higher-order remainder terms.

   
Example 4: Consider parabolic cylindrical coordinates (σ, τ, z) ⁠ defined for σ > 0, τ ∈ ℝ, and z ∈ ℝ ⁠ via:
\[ \mathbf{r}(\sigma , \tau , z) = \left( \sigma\tau , \ \frac{1}{2}\left( \tau^2 - \sigma^2 \right) , \ z \right) . \]
  • Coordinate Geometry: Surfaces of constant σ ⁠ and τ ⁠ are orthogonal families of confocal parabolic cylinders opening upward and downward along the y⁠-axis.
  • Scale Factors (from Theorem 2): Computing \( \displaystyle \quad h_i = \left\| \frac{\partial\mathbf{r}}{\partial q^i} \right\| \quad \) ⁠ gives non-constant, coupled scale factors:
    \[ h_{\sigma} = \sqrt{\sigma^2 + \tau^2} , \quad h_{\tau} = \sqrt{\sigma^2 + \tau^2} , \quad h_z = 1 . \]
    Notice that hσhτhz = σ² + τ².

Part 1: Gradient and Laplacian of a Scalar Field.
Consider the scalar potential field f(σ, τ, z) = σ²τ + z². ⁠

  1. Gradient (∇f): Applying Theorem 3(1):
    \[ \nabla f = \frac{1}{h_{\sigma}}\, \frac{\partial f}{\partial\sigma}\, \hat{\bf e}_{\sigma} + \frac{1}{h_{\tau}}\, \frac{\partial f}{\partial\tau}\, \hat{\bf e}_{\tau} + \frac{1}{h_z}\, \frac{\partial f}{\partial z} \,\hat{\bf e}_z . \]
    Substituting the partial derivatives \( \displaystyle \quad \frac{\partial f}{\partial\sigma} = 2\sigma\tau , \quad \frac{\partial f}{\partial\tau} = \sigma^2 , \quad \mbox{and} \quad \frac{\partial f}{\partial z} = 2z \quad \) yields:
    \[ \nabla f = \frac{2\sigma\tau}{\sqrt{\sigma^2 + \tau^2}}\, \hat{\bf e}_{\sigma} + \frac{\sigma^2}{\sqrt{\sigma^2 + \tau^2}}\, \hat{\bf e}_{\tau} + 2z\,\hat{\bf e}_z . \]
  2. Laplacian (∇²f⁠):
    Applying Theorem 3(4), notice how the scale-factor ratios \( \displaystyle \quad \frac{h_\tau h_z}{h_\sigma} = 1 \quad\mbox{and} \quad \frac{h_\sigma h_z}{h_\tau} = 1 \quad \) simplify the inner derivatives, while ⁠\( \displaystyle \quad \frac{h_\sigma h_\tau}{h_z} = \sigma^2 + \tau^2 : \)
    \[ \nabla^2 f = \frac{1}{\sigma^2 + \tau^2} \left[ \frac{\partial}{\partial\sigma} \left( 1 \cdot 2\sigma\tau \right) + \frac{\partial}{\partial \tau} \left( 1 \cdot \sigma^2 \right) + \frac{\partial}{\partial z} \left(\left( \sigma^2 + \tau^2 \right) \cdot 2z \right) \right] . \]
    Evaluating each derivative gives:
    \[ \nabla^2 f = \frac{2\tau}{\sigma^2 + \tau^2} + 2 . \]
Part 2: Divergence and Curl of a Vector Field.
Consider a swirling, radially expanding vector field expressed directly in the local orthonormal basis \( \displaystyle \quad \left\{ \hat{\bf e}_\sigma , \ \hat{\bf e}_\tau , \ \hat{\bf e}_z \right\} ⁠: \)
\[ \mathbf{F} (\sigma , \tau , z) = \frac{\sigma}{\sqrt{\sigma^2 + \tau^2}}\,\hat{\bf e}_\sigma + \frac{\tau}{\sqrt{\sigma^2 + \tau^2}}\,\hat{\bf e}_\tau + \sigma\tau\,\hat{\bf e}_z . \]
Here \( \displaystyle \quad F_\sigma = \frac{\sigma}{\sqrt{\sigma^2 + \tau^2}} , \quad F_\tau = \frac{\tau}{\sqrt{\sigma^2 + \tau^2}} , \quad \mbox{and} \quad F_z = \sigma\tau . \O
  1. Divergence (∇ • F⁠):
    Applying Theorem 3(2), the scale-factor products inside the derivatives simplify cleanly:
    \[ F_{\sigma} h_\tau h_z = \sigma , \quad F_{\tau} h_\sigma h_z = \tau , \quad F_z h_\sigma h_\tau = \sigma\tau \left( \sigma^2 + \tau^2 \right) . \]
    Substituting these into the divergence formula gives:
    \begin{align*} \nabla \bullet \mathbf{F} &= \frac{1}{\sigma^2 + \tau^2} \left[ \frac{\partial}{\partial\sigma} \left( \sigma \right) + \frac{\partial}{\partial\tau} \left( \tau \right) + \frac{\partial}{\partial z}\left( \sigma\tau \left( \sigma^2 + \tau^2 \right) \right) \right] \\ &= \frac{}{\sigma^2 + \tau^2} . \end{align*}
  2. Curl (∇ × F⁠):
    Applying Theorem 3(3), compute the scaled components hiFi:
    \[ h_\sigma F_{\sigma} = \sigma , \quad h_\tau F_\tau = \tau , \quad h_z F_z = \sigma \tau . \]
    Expanding the determinant:
    \[ \nabla \times \mathbf{F} = \frac{1}{\sigma^2 + \tau^2} \begin{vmatrix} \sqrt{\sigma^2 + \tau^2}\,\hat{\bf e}_\sigma & \sqrt{\sigma^2 + \tau^2}\,\hat{\bf e}_\tau & \hat{\bf e}_z \\ \frac{\partial}{\partial \sigma} & \frac{\partial}{\partial \tau} &\frac{\partial}{\partial z} \\ \sigma & \tau & \sigma\tau \end{vmatrix} . \]
    Evaluating each component of the determinant yields:
    • \( \displaystyle \quad \hat{\bf e}_\sigma \quad \) component: \( \displaystyle \quad \frac{\sqrt{\sigma^2 + \tau^2}}{\sigma^2 + \tau^2} \left( \frac{\partial}{\partial \tau} \left( \sigma \right) - \frac{\partial}{\partial z} \left( \sigma\tau \right) \right) = \frac{\sigma}{\sqrt{\sigma^2 + \tau^2}} . \)
    • \( \displaystyle \quad \hat{\bf e}_\tau \quad \) component: \( \displaystyle \quad \frac{\sqrt{\sigma^2 + \tau^2}}{\sigma^2 + \tau^2} \left( \frac{\partial}{\partial z} \left( \sigma \right) - \frac{\partial}{\partial \sigma} \left( \sigma\tau \right) \right) = - \frac{\tau}{\sqrt{\sigma^2 + \tau^2}} . \)
    • \( \displaystyle \quad \hat{\bf e}_z \quad \) component: \( \displaystyle \quad \frac{1}{\sigma^2 + \tau^2} \left( \frac{\partial}{\partial z} \left( \tau \right) - \frac{\partial}{\partial \tau} \left( \sigma \right) \right) = 0 . \)
    Combining all three terms gives
    \[ \nabla \times \mathbf{F} = \frac{\sigma}{\sqrt{\sigma^2 + \tau^2}}\, \hat{\bf e}_\sigma - \frac{\tau}{\sqrt{\sigma^2 + \tau^2}}\, \hat{\bf e}_\tau . \]
   ■
End of Example 4

Coordinate System Transformation $\mathbf{r}(q^1, q^2, q^3)$ Metric Tensor $G = \operatorname{diag}(g_{11}, g_{22}, g_{33})$ Scale Factors $(h_1, h_2, h_3)$
Cylindrical $(\rho, \phi, z)$ $x = \rho\cos\phi$
$y = \rho\sin\phi$
$z = z$
$\operatorname{diag}(1, \rho^2, 1)$ $(1, \rho, 1)$
Spherical $(r, \theta, \phi)$ $x = r\sin\theta\cos\phi$
$y = r\sin\theta\sin\phi$
$z = r\cos\theta$
$\operatorname{diag}(1, r^2, r^2\sin^2\theta)$ $(1, r, r\sin\theta)$
Elliptic Cylindrical $(\mu, \nu, z)$ $x = a\cosh\mu\cos\nu$
$y = a\sinh\mu\sin\nu$
$z = z$
$\operatorname{diag}\big(a^2(\sinh^2\mu + \sin^2\nu),\, a^2(\sinh^2\mu + \sin^2\nu),\, 1\big)$ $(h, h, 1)$ where $h = a\sqrt{\sinh^2\mu + \sin^2\nu}$