Skip to content

Releases: JuliaSmoothOptimizers/Krylov.jl

v0.10.6

09 Mar 07:19

Choose a tag to compare

Krylov v0.10.6

Diff since v0.10.5

Merged pull requests:

Closed issues:

  • USYMLQR (#164)
  • Add a constant for the memory parameter in our metaprogramming script (#988)
  • Another lnlq NaN case (#1054)
  • Add a cross-reference for KrylovConstructor in the Krylov workspaces (#1059)

v0.10.5

23 Jan 17:30

Choose a tag to compare

Krylov v0.10.5

Diff since v0.10.4

Merged pull requests:

v0.10.4

20 Jan 05:30

Choose a tag to compare

Krylov v0.10.4

Diff since v0.10.3

Merged pull requests:

Closed issues:

  • KrylovConstructor: vm and vn should allow different types (#1037)
  • Possible TRICG and TRIMR improvements (#1042)
  • typos (#1048)
  • lnlq can return NaNs (#1050)
  • Unsupported keyword argument "memory" for GMRES and DQGMRES (#1055)

v0.10.3

23 Nov 23:31
4e3d7a4

Choose a tag to compare

Krylov v0.10.3

Diff since v0.10.2

Merged pull requests:

Closed issues:

  • Add kmul! and kldiv! (#1030)

v0.10.2

19 Sep 15:58

Choose a tag to compare

Krylov v0.10.2

Diff since v0.10.1

Merged pull requests:

Closed issues:

  • hermitian_lanczos and loss of orthogonality ? (#956)
  • Is there a way to extract the Krylov Space? (#1007)
  • Does Krylov use the S from LinearOperators? (#1009)
  • How to Use Krylov.jl in Multithreading? (#1010)
  • what is z in the docs? (#1012)
  • GMRES using Float32 stagnates on Apple M2 (#1015)

v0.10.1

01 May 04:53
d30664e

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

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

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

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

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)