A Julia package collecting a number of Krylov-based algorithms for linear problems, singular value and eigenvalue problems and the application of functions of linear maps or operators to vectors.
Documentation | Build Status |
---|---|
-
a new method
geneigsolve
for generalized eigenvalue problemsA x = λ B x
, with a single implementation for symmetric/hermitian problems with positive definiteB
, based on the Golub-Ye inverse free algorithm. -
a
verbosity
keyword that takes integer values to control the amount of information that is printed while the algorithm is running.
KrylovKit.jl accepts general functions or callable objects as linear maps, and general Julia objects with vector like behavior (as defined in the docs) as vectors.
The high level interface of KrylovKit is provided by the following functions:
linsolve
: solve linear systemseigsolve
: find a few eigenvalues and corresponding eigenvectorsgeneigsolve
: find a few generalized eigenvalues and corresponding vectorssvdsolve
: find a few singular values and corresponding left and right singular vectorsexponentiate
: apply the exponential of a linear map to a vector
KrylovKit.jl
can be installed with the Julia package manager.
From the Julia REPL, type ]
to enter the Pkg REPL mode and run:
pkg> add KrylovKit
Or, equivalently, via the Pkg
API:
julia> import Pkg; Pkg.add("KrylovKit.jl")
- STABLE - documentation of the most recently tagged version.
- DEVEL - documentation of the in-development version.
The package is tested against Julia 0.7
, 1.0
and the nightly builds of the Julia master
branch on Linux, macOS, and Windows.
Contributions are very welcome, as are feature requests and suggestions. Please open an issue if you encounter any problems.