Matrix scaling to doubly stochastic form
TheoremCsima–Datta: sufficiency of total support#✓fully proved
A symmetric nonnegative matrix with total
support has a positive vector d with diag(d) A diag(d) doubly stochastic.
theorem exists_symmetric_balancing_of_hasTotalSupport {A : Matrix (Fin n) (Fin n) ℝ}
(hsymm : A.IsSymm) (hA : ∀ i j, 0 ≤ A i j) (hts : HasTotalSupport A) :
∃ d : Fin n → ℝ, (∀ i, 0 < d i) ∧
(fun i j => d i * A i j * d j) ∈ doublyStochastic ℝ (Fin n)
def HasTotalSupport {n : ℕ} (A : Matrix (Fin n) (Fin n) ℝ) : Prop :=
A ≠ 0 ∧ ∀ i j, 0 < A i j → ∃ σ : Equiv.Perm (Fin n), σ i = j ∧ ∀ k, 0 < A k (σ k)
MathlibExt/Biology/Dynamics/SystemsBiology.lean:1078
Sources
- Csima & Datta (1972); Sinkhorn & Knopp (1967).
Uses 1 · Used by 1
TheoremCsima–Datta theorem#✓fully proved
For 0 < n, a symmetric nonnegative matrix has a positive vector
d with diag(d) A diag(d) doubly stochastic if and only if it has total support.
theorem exists_symmetric_balancing_iff_hasTotalSupport (hn : 0 < n)
{A : Matrix (Fin n) (Fin n) ℝ} (hsymm : A.IsSymm) (hA : ∀ i j, 0 ≤ A i j) :
(∃ d : Fin n → ℝ, (∀ i, 0 < d i) ∧
(fun i j => d i * A i j * d j) ∈ doublyStochastic ℝ (Fin n)) ↔ HasTotalSupport A
def HasTotalSupport {n : ℕ} (A : Matrix (Fin n) (Fin n) ℝ) : Prop :=
A ≠ 0 ∧ ∀ i j, 0 < A i j → ∃ σ : Equiv.Perm (Fin n), σ i = j ∧ ∀ k, 0 < A k (σ k)
MathlibExt/Biology/Dynamics/SystemsBiology.lean:1078
Uses 3
TheoremSinkhorn's scaling theorem#✓fully proved
Let \(n \ge 1\) and let \(A\) be a real \(n \times n\) matrix all of whose entries are strictly positive. Then there are vectors \(r, c \in \mathbb{R}^n\) with strictly positive entries such that the matrix with entries \(r_i A_{ij} c_j\) is doubly stochastic, that is, its entries are nonnegative and each of its rows and each of its columns sums to \(1\).
theorem sinkhorn_scaling {n : ℕ} (hn : 0 < n)
(A : Matrix (Fin n) (Fin n) ℝ)
(hA : ∀ i j, 0 < A i j) :
∃ (r c : Fin n → ℝ), (∀ i, 0 < r i) ∧ (∀ j, 0 < c j) ∧
(fun i j => r i * A i j * c j) ∈ doublyStochastic ℝ (Fin n)
Sources
- R. Sinkhorn, Ann. Math. Statist. 35 (1964), 876-879, DOI 10.1214/aoms/1177703591.
Used by 1
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.