Skip to content

Releases: JuliaSmoothOptimizers/Krylov.jl

v0.10.1

01 May 04:53
d30664e
Compare
Choose a tag to compare

Krylov v0.10.1

Diff since v0.10.0

Merged pull requests:

  • [documentation] Specify how to use krylov_workspace for each workspace (#1002) (@amontoison)
  • [documentation] Tutorial on distributed Krylov solvers using MPI.jl (#1003) (@amontoison)
  • [documentation] Update the routines for the support of MPI (#1004) (@amontoison)
  • Add new methods for krylov_workspace and krylov_solve (#1005) (@amontoison)

v0.10.0

18 Apr 20:20
Compare
Choose a tag to compare

Krylov v0.10.0

Diff since v0.9.10

Breaking changes

  • solve! is replaced by krylov_solve!
  • Update the API for workspaces (the suffix Solver is now Workspace)
  • Unify the API for the workspaces (memory and windows are always kwargs for the constructors)
  • Ensure that S is a concrete type in the workspaces (KrylovWorkspace{T, FC, S})
  • Update the API for workspace accessors (the functions are not exported anymore)
  • Rename some workspace accessors (iteration_count, solution_count, Aprod_count and Atprod_count)

New features

  • Add kdiv!, kscalcopy! and kdivcopy! for the support of custom workspaces
  • Add a generic interface (krylov_workspace, krylov_solve and krylov_solve!)
  • Add documentation on the generic API (see here)
  • Add documentation on the workspace accessors (see here)
  • Update the docstrings to add more cross-references
  • Add a function Krylov.elapsed_time

Other changes

  • Krylov.jl now requires Julia 1.10
  • Update the reference of MinAres and CAr
  • Return a nice error if we detect that the preconditioner is not SPD in CG

Merged pull requests:

Closed issues:

  • Improve the documentation of functions Aprod and Atprod (#488)
  • GMRES Fails Silently From Stagnation (#729)
  • StaticArrays support (#766)
  • Remove broadcast in Krylov methods (#930)
  • Unexport Krylov.solve! with the next major release (#934)
  • Add a function to get the timer directly from a KrylovWorkspace (#936)
  • nshifts and S should be the last argument in the Krylov solvers (#946)
  • Require Julia 1.10 for the next major release (#964)
  • Bug Report: CR and CG Solvers Fail with Float16 Precision (#968)
  • Update breakage.yml for PRs from a fork (#976)
  • Add a generic constructor for KrylovSolver and BlockKrylovSolver (#979)
  • Rename the files krylov_solve.jl and test_solvers.jl (#984)
  • Rename the suffix of the workspaces *Solver -> *Workspace (#987)

v0.9.10

16 Feb 20:25
Compare
Choose a tag to compare

Krylov v0.9.10

Diff since v0.9.9

Merged pull requests:

  • Use my new implementation of coytrito! in GPUArrays.jl (#950) (@amontoison)
  • Use similar for dynamic allocations (#952) (@amontoison)
  • [CI] Test Krylov.jl on Linux ARM (#953) (@amontoison)
  • [documentation] Add an example with BlockArrays.jl (#954) (@amontoison)
  • Add an option reorthogonalization in hermitian_lanczos (#957) (@amontoison)
  • CR: Update iterate on first iteration for negative curvature with line search and when zero curvature is detected (#958) (@farhadrclass)
  • Add more tests for the option warm-start (#961) (@amontoison)

Closed issues:

  • Compatibility with BlockArrays (#605)
  • [Benchmarks] Krylov.jl vs PETSc (#693)
  • ComponentArrays support (#769)
  • parallel gmres (#847)
  • Add stationary methods (#904)
  • scalar indexing error when using block_gmres on GPU (#913)
  • How to solve Ax=b when A is a Sparse Array ? (#925)
  • Add more advanced constructors for KrylovSolver (#933)
  • Add a opnorm function (#942)
  • [documentation] Add an example of preconditioned saddle point system with BlockArrays (#949)
  • Use similar instead of S(undef, n) for dynamic allocations (#951)

v0.9.9

17 Jan 19:19
790fa1c
Compare
Choose a tag to compare

Krylov v0.9.9

Diff since v0.9.8

Merged pull requests:

Closed issues:

  • Add a link for BICGSTAB(l) (#902)
  • Support custom vector types (#905)
  • Add comments in the source file krylov_solve.jl (#915)
  • use of AbstractArray (#935)
  • Shifted MINRES Allocations Issue (#937)
  • Test CGLS with shifts on rectangular systems (#948)

v0.9.8

26 Oct 22:40
b6d8179
Compare
Choose a tag to compare

Krylov v0.9.8

Diff since v0.9.7

Merged pull requests:

Closed issues:

  • Remove the macros and directly use the functions starting with k... internally (#906)
  • Add a function for sqrt(kdotr(n, v, z)) (#908)

v0.9.7

17 Oct 17:26
40039bf
Compare
Choose a tag to compare

Krylov v0.9.7

Diff since v0.9.6

Merged pull requests:

Closed issues:

  • Use 5-argument mul! (#353)
  • Add documentation about memory parameter (#521)
  • convert function for solvers (#585)
  • Use Real as FC instead of AbstractFloat ? (#646)
  • ReshapedArrays support (#770)
  • Download badge is broken (#851)
  • block_gmres fails with LinearOperator (#854)
  • Add tests with LinearOperators.jl (#861)
  • Possible support for Dual types for Automatic Differentiation (#870)
  • Use metaprogramming to generate all out-of-place methods (#888)

v0.9.6

30 Apr 21:32
Compare
Choose a tag to compare

Krylov v0.9.6

Diff since v0.9.5

Merged pull requests:

Closed issues:

  • [documentation] Add an optimized linear operator for sparse matrix-vector product on Nvidia GPUs (#783)
  • Implement copyto! for KrylovStats (#846)

v0.9.5

07 Dec 18:34
Compare
Choose a tag to compare

Krylov v0.9.5

Diff since v0.9.4

Merged pull requests:

Closed issues:

  • [documentation] Update GPU support (#627)
  • Solve matrix-matrix problem (#759)
  • Add an option reorthogonalization for the processes (#801)
  • Question for GPU computation: lots of time on vector products (#822)
  • Automatically promote atol and rtol to eltype(b) (#828)
  • Move Block-GMRES in Krylov.jl (#831)
  • Add a reference for CRAIG (#833)

v0.9.4

01 Sep 19:46
Compare
Choose a tag to compare

Krylov v0.9.4

Diff since v0.9.3

Closed issues:

  • GPU Example is broken (#754)
  • GMRES Convergence Without Meeting atol/rtol (#774)
  • Add an example and a test for the CuSparseMatrixCOO format (#775)

Merged pull requests:

v0.9.3

09 Aug 18:01
Compare
Choose a tag to compare

Krylov v0.9.3

Diff since v0.9.2

Closed issues:

  • GPU scalar indexing when using LsmrSolver (ERROR: LoadError: Scalar indexing is disallowed.) (#764)

Merged pull requests: