Skip to content

Krylov methods for linear problems, eigenvalues, singular values and matrix functions

License

Notifications You must be signed in to change notification settings

ERINC181/KrylovKit.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KrylovKit.jl

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 License
CI license

Release notes for the latest version

v0.6

This version requires at least Julia 1.6 because of new dependencies, namely on GPUArraysCore.jl to fix the GPU support, and on ChainRulesCore.jl to have AD support. In particular, this version comes with (experimental) AD support for linsolve. Future versions will extend this to eigsolve and potentially more.

Overview

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 systems
  • eigsolve: find a few eigenvalues and corresponding eigenvectors
  • geneigsolve: find a few generalized eigenvalues and corresponding vectors
  • svdsolve: find a few singular values and corresponding left and right singular vectors
  • exponentiate: apply the exponential of a linear map to a vector
  • expintegrator: exponential integrator for a linear non-homogeneous ODE, computes a linear combination of the ϕⱼ functions which generalize ϕ₀(z) = exp(z).

Installation

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")

Documentation

  • STABLE - documentation of the most recently tagged version.
  • DEVEL - documentation of the in-development version.

Project Status

The package is tested against Julia 1.0, the current stable and the nightly builds of the Julia master branch on Linux, macOS, and Windows, 32- and 64-bit architecture and with 1 and 4 threads.

Questions and Contributions

Contributions are very welcome, as are feature requests and suggestions. Please open an issue if you encounter any problems.

About

Krylov methods for linear problems, eigenvalues, singular values and matrix functions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Julia 100.0%