Wronskian
Statement
Given two differentiable functions , their Wronskian is
Linear independence criterion: If and are solutions to the same second-order linear ODE on an interval, then either for all in the interval (the solutions are linearly independent) or for all (the solutions are proportional).
This gives a decisive, computable test: two solutions form a fundamental system (basis for all solutions) iff at any single point.
For polynomials over a ring, Mathlib defines Polynomial.wronskian a b = a * b.derivative - a.derivative * b, and the key identity wronskian_self_eq_zero shows .
Visualization
Standard example: , (both solve ):
Since everywhere, is linearly independent.
confirms the functions are independent at every point.
Dependent example: , .
reflects that — the functions are proportional.
Proof Sketch
- Abel's identity. For , differentiate and use the ODE to show .
- Integrating factor. Thus .
- Dichotomy. Since the exponential is never zero, iff on the interval.
- Basis. If at some , then for any solution , the system , has a unique solution (Cramer's rule, det = ), giving by uniqueness of IVPs.
Connections
The Wronskian determinant is a special case of Determinant MultiplicativityDeterminant MultiplicativityThe determinant of a product equals the product of determinantsRead more → and Cramer's rule (Cramer's RuleCramer's RuleExplicit determinant formula for the solution of a linear systemRead more →). The ODE uniqueness step appeals to Picard–Lindelöf TheoremPicard–Lindelöf TheoremA Lipschitz right-hand side guarantees a unique local solution to any ODE initial value problem.Read more →.
Lean4 Proof
import Mathlib.RingTheory.Polynomial.Wronskian
/-!
Mathlib defines `Polynomial.wronskian a b = a * b.derivative - a.derivative * b`.
We verify the key properties:
1. W(a, a) = 0 for any polynomial (wronskian_self_eq_zero)
2. W is antisymmetric: -W(a,b) = W(b,a) (wronskian_neg_eq)
-/
open Polynomial in
/-- The Wronskian of any polynomial with itself is zero. -/
example (a : ℤ[X]) : wronskian a a = 0 :=
wronskian_self_eq_zero a
open Polynomial in
/-- Wronskian is anti-symmetric: W(b, a) = -W(a, b). -/
example (a b : ℤ[X]) : wronskian b a = -wronskian a b := by
rw [← wronskian_neg_eq]
/-- Concrete: W(X, X^2) = X^2 in ℤ[X].
X * (X^2)' - X' * X^2 = X * 2X - 1 * X^2 = 2X^2 - X^2 = X^2. -/
example : Polynomial.wronskian (Polynomial.X : ℤ[X]) (Polynomial.X ^ 2) =
Polynomial.X ^ 2 := by
simp [Polynomial.wronskian, Polynomial.derivative_pow, Polynomial.derivative_X]
ringReferenced by
- Variation of ParametersDifferential Equations