From 02be35795c2845334007e33d2efdb15555ac17bf Mon Sep 17 00:00:00 2001 From: Tim Holy Date: Mon, 3 Jun 2024 04:51:49 -0500 Subject: [PATCH 1/2] Highlight non-square options This increases the visibility of the least-squares solvers and clarifies that all algorithms in "What method should I use for linear systems?" refer only to square linear systems. Closes #353 --- docs/src/index.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/src/index.md b/docs/src/index.md index 2881c612..19584aad 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -8,6 +8,8 @@ For more information on future methods have a look at the package [roadmap](http ## What method should I use for linear systems? +### Square linear systems + When solving linear systems $Ax = b$ for a square matrix $A$ there are quite some options. The typical choices are listed below: | Method | When to use it | @@ -22,7 +24,10 @@ We also offer [Chebyshev iteration](@ref Chebyshev) as an alternative to Conjuga Stationary methods like [Jacobi](@ref), [Gauss-Seidel](@ref), [SOR](@ref) and [SSOR](@ref) can be used as smoothers to reduce high-frequency components in the error in just a few iterations. -When solving **least-squares** problems we currently offer just [LSMR](@ref LSMR) and [LSQR](@ref LSQR). +### Non-square systems: least squares + +When solving **least-squares** problems we currently offer [LSMR](@ref LSMR) and [LSQR](@ref LSQR). +LSMR generally converges more quickly than LSQR. ## Eigenproblems and SVD From 991a955ef2c526358a99a9a4a6b952c36a9e6d65 Mon Sep 17 00:00:00 2001 From: Tim Holy Date: Mon, 3 Jun 2024 06:43:11 -0500 Subject: [PATCH 2/2] Fix doc builds --- docs/Project.toml | 3 ++- docs/make.jl | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/Project.toml b/docs/Project.toml index 9d6b8554..edf5e2ae 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,5 +1,6 @@ [deps] Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +IterativeSolvers = "42fd0dbc-a981-5370-80f2-aaf504508153" [compat] -Documenter = "~0.26, 0.27, 1.0, 1.1" +Documenter = "1" diff --git a/docs/make.jl b/docs/make.jl index a8111f0e..fc05f636 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -10,6 +10,7 @@ makedocs( ), doctest = false, clean = true, + checkdocs = :none, # consider changing to :exports, but, e.g., `?IterativeSolvers` itself seems silly to include in the docs sitename = "IterativeSolvers.jl", pages = [ "Home" => "index.md",