The directional derivative of a vector field as a vector field #
For a vector field v : Vec3 → Vec3 and a coordinate direction k, the field partialVec v k
is ∂_k v, again a vector field on Vec3. It is introduced as a named definition, not as an
inline nest of fderivs, because every second-order statement of the elliptic identity
eq:aniso:closure:elliptic differentiates twice: written out, such a term is a lambda inside a
lambda with no head symbol for the unifier to key on, and terms of that shape elaborate very
badly. With the definition in place the unifier sees partialVec applied to arguments.
The file records that ∂_k v inherits smoothness and compact support from v, and that ∂_k
commutes with both first-order differential operators of the identity:
curlVec_partialVec—curl (∂_k v) = ∂_k (curl v);div_partialVec—div (∂_k v) = ∂_k (div v);sum_sq_partialVec_eq— summing|∇(∂_k v)|²overkrecovers the full Hessian energy|∇²v|².
All three rest on the symmetry of the second derivative, which is the fderiv_fderiv_comp_symm
of CIV.Analysis.DivCurl.
The derivative of the vector field v in the coordinate direction k, as a vector field:
partialVec v k x i = ∂_k v_i (x).
Equations
- CIV.partialVec v k x i = (fderiv ℝ (fun (y : CKN.Foundation.Parabolic.Vec3) => v y i) x) (CKN.basisVec k)
Instances For
The controlled unfolding channel for partialVec: its i-th component is the k-th partial
derivative of the i-th component of v.
∂_k v is smooth whenever v is.
∂_k v has compact support whenever v does: off the support of v the field vanishes on a
whole neighbourhood, so all of its derivatives vanish there.
curl commutes with ∂_k.
div commutes with ∂_k.
Summing the gradient energy of ∂_k v over the three directions k recovers the full
Hessian energy of v.