Skip to content

Commit

Permalink
Update docs to reflect BiCGStab is implemented (#79)
Browse files Browse the repository at this point in the history
  • Loading branch information
lkdvos authored Mar 21, 2024
1 parent f257f85 commit 2cb7251
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 12 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ julia> values
2.5298897746721303 + 0.0im
0.7181879189193713 + 0.4653321688070444im
0.7181879189193713 - 0.4653321688070444im
0.03373438748912972 + 0.0im
0.03373438748912972 + 0.0im

julia> vectors
4-element Vector{NTuple{4, ComplexF64}}:
Expand Down
2 changes: 1 addition & 1 deletion docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ The following algorithms are currently implemented
Here follows a wish list / to-do list for the future. Any help is welcomed and appreciated.

* More algorithms, including biorthogonal methods:
- for `linsolve`: MINRES, BiCG, BiCGStab(l), IDR(s), ...
- for `linsolve`: MINRES, BiCG, IDR(s), ...
- for `eigsolve`: BiLanczos, Jacobi-Davidson JDQR/JDQZ, subspace iteration (?), ...
- for `geneigsolve`: trace minimization, ...
* Support both in-place / mutating and out-of-place functions as linear maps
Expand Down
2 changes: 1 addition & 1 deletion docs/src/man/algorithms.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ CG
KrylovKit.MINRES
GMRES
KrylovKit.BiCG
KrylovKit.BiCGStab
BiCGStab
```
## Specific algorithms for generalized eigenvalue problems
```@docs
Expand Down
2 changes: 0 additions & 2 deletions src/algorithms.jl
Original file line number Diff line number Diff line change
Expand Up @@ -340,8 +340,6 @@ end
"""
BiCGStab(; maxiter = KrylovDefaults.maxiter, tol = KrylovDefaults.tol)
!!! warning "Not implemented yet"
Construct an instance of the Biconjugate gradient algorithm with specified parameters,
which can be passed to `linsolve` in order to iteratively solve a linear system general
linear map. The `BiCGStab` method will search for the optimal `x` in a Krylov subspace
Expand Down
14 changes: 7 additions & 7 deletions src/linsolve/linsolve.jl
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,13 @@ matrix, ortherwise the default values are `issymmetric = false`,
The final (expert) method, without default values and keyword arguments, is the one that is
finally called, and can also be used directly. Here, one specifies the algorithm explicitly.
Currently, only [`CG`](@ref) and [`GMRES`](@ref) are implemented, where `CG` is chosen if
`isposdef == true`. Note that in standard `GMRES` terminology, our parameter `krylovdim` is
referred to as the *restart* parameter, and our `maxiter` parameter counts the number of
outer iterations, i.e. restart cycles. In `CG`, the Krylov subspace is only implicit
because short recurrence relations are being used, and therefore no restarts are required.
Therefore, we pass `krylovdim*maxiter` as the maximal number of CG iterations that can be
used by the `CG` algorithm.
Currently, only [`CG`](@ref), [`GMRES`](@ref) and [`BiCGStab`](@ref) are implemented, where
`CG` is chosen if `isposdef == true` and `GMRES` is chosen otherwise. Note that in standard
`GMRES` terminology, our parameter `krylovdim` is referred to as the *restart* parameter,
and our `maxiter` parameter counts the number of outer iterations, i.e. restart cycles. In
`CG`, the Krylov subspace is only implicit because short recurrence relations are being
used, and therefore no restarts are required. Therefore, we pass `krylovdim*maxiter` as the
maximal number of CG iterations that can be used by the `CG` algorithm.
"""
function linsolve end

Expand Down

0 comments on commit 2cb7251

Please sign in to comment.