Documentation

Atlas.AnAlgorithmistsToolkit.code.LaplacianSolvers

noncomputable def Matrix.IsHermitian.spectralRadius {n : } {M : Matrix (Fin n) (Fin n) } (hM : M.IsHermitian) :
Instances For
    noncomputable def An_Algorithmists_Toolkit.energyNorm {n : } (A : Matrix (Fin n) (Fin n) ) (e : Fin n) :
    Instances For
      theorem An_Algorithmists_Toolkit.fin_telescope_sum (k : ) (f : Fin (k + 1)) :
      i : Fin k, (f i.castSucc - f i.succ) = f 0 - f (Fin.last k)
      theorem An_Algorithmists_Toolkit.edge_loewner_path {n : } (k : ) (hk : 0 < k) (path : Fin (k + 1)Fin n) (hinj : Function.Injective path) (u v : Fin n) (hu : path 0 = u) (hv : path k, = v) (L_e L_path : Matrix (Fin n) (Fin n) ) (hLe : ∀ (x : Fin n), x ⬝ᵥ L_e.mulVec x = (x u - x v) ^ 2) (hLp : ∀ (x : Fin n), x ⬝ᵥ L_path.mulVec x = i : Fin k, (x (path i.castSucc) - x (path i.succ)) ^ 2) (x : Fin n) :
      x ⬝ᵥ L_e.mulVec x k * x ⬝ᵥ L_path.mulVec x
      theorem An_Algorithmists_Toolkit.steepest_descent_error_reduction {n : } (A : Matrix (Fin n) (Fin n) ) (hA_pd : A.PosDef) (eigenvalues : Fin n) (eigenvectors : Fin nFin n) (hev : ∀ (i : Fin n), A.mulVec (eigenvectors i) = eigenvalues i eigenvectors i) (horth : ∀ (i j : Fin n), eigenvectors i ⬝ᵥ eigenvectors j = if i = j then 1 else 0) (e_i ξ : Fin n) ( : e_i = j : Fin n, ξ j eigenvectors j) (e_next : Fin n) (he_next : e_next = e_i - (A.mulVec e_i ⬝ᵥ A.mulVec e_i / A.mulVec e_i ⬝ᵥ A.mulVec (A.mulVec e_i)) A.mulVec e_i) :
      energyNorm A e_next = energyNorm A e_i * (1 - (∑ j : Fin n, ξ j ^ 2 * eigenvalues j ^ 2) ^ 2 / ((∑ j : Fin n, ξ j ^ 2 * eigenvalues j ^ 3) * j : Fin n, ξ j ^ 2 * eigenvalues j))
      theorem An_Algorithmists_Toolkit.steepest_descent_eigenvector_convergence {n : } (A : Matrix (Fin n) (Fin n) ) (e_i : Fin n) (he_nz : e_i 0) (μ : ) ( : μ 0) (heig : A.mulVec e_i = μ e_i) (e_next : Fin n) (he_next : e_next = e_i - (A.mulVec e_i ⬝ᵥ A.mulVec e_i / A.mulVec e_i ⬝ᵥ A.mulVec (A.mulVec e_i)) A.mulVec e_i) :
      e_next = 0
      theorem An_Algorithmists_Toolkit.iter_error_step {n : } (A L S : Matrix (Fin n) (Fin n) ) (hA : A = L + S) [Invertible L] (b x_star : Fin n) (hx : A.mulVec x_star = b) (xk : Fin n) :
      (L).mulVec (b - S.mulVec xk) - x_star = -(L * S).mulVec (xk - x_star)
      theorem An_Algorithmists_Toolkit.iterative_solver_convergence {n : } (A L S : Matrix (Fin n) (Fin n) ) (hA : A = L + S) [Invertible L] (ρ : ) ( : ρ < 1) (hρ_pos : 0 ρ) (hρ_spec : ∀ (v : Fin n), (L * S).mulVec v ρ * v) (b x_star : Fin n) (hx : A.mulVec x_star = b) (x : Fin n) (hiter : ∀ (k : ), x (k + 1) = (L).mulVec (b - S.mulVec (x k))) (k : ) :
      x k - x_star ρ ^ k * x 0 - x_star
      noncomputable def LowStretchSpanningTree.total_stretch {V : Type u_1} [Fintype V] [DecidableEq V] (G : SimpleGraph V) [Fintype G.edgeSet] (T : SimpleGraph V) :
      Instances For