• Stars
    star
    255
  • Rank 154,843 (Top 4 %)
  • Language
    Julia
  • License
    Other
  • Created over 6 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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.

More Repositories

1

TensorOperations.jl

Julia package for tensor contractions and related operations
Julia
413
star
2

TensorKit.jl

A Julia package for large-scale tensor computations, with a hint of category theory
Julia
189
star
3

Strided.jl

A Julia package for strided array views and efficient manipulations thereof
Julia
142
star
4

OptimKit.jl

OptimKit: A blissfully ignorant Julia package for gradient optimization
Julia
54
star
5

WignerSymbols.jl

A Julia package for computing Wigner symbols and related quantities
Julia
45
star
6

TNSchool2018

European Tensor Network - School 2018
Julia
38
star
7

TupleTools.jl

Type stable methods for small tuples
Julia
38
star
8

VectorInterface.jl

A Julia interface for working with vector like objects
Julia
32
star
9

SparseArrayKit.jl

Sparse multidimensional arrays using a DOK format, with support for TensorOperations.jl
Julia
28
star
10

CMPSKit.jl

Continuous Matrix Product States in Julia
Julia
28
star
11

TensorToolbox.jl

Julia package for working with tensors, i.e. multilinear maps between vector spaces
Julia
15
star
12

TensorKitManifolds.jl

Useful tools for working with isometric or unitary tensors
Julia
14
star
13

ManyBodyKit.jl

Initial attempts at a package for defining many body systems in both quantum and statistical physics
Julia
13
star
14

CuTensorOperations.jl

TensorOperations and cuTENSOR combined
Julia
12
star
15

RationalRoots.jl

A Julia type for representing square roots of rational numbers
Julia
11
star
16

cMPS-notebook

Notebook for illustrating the use of CMPSKit.jl and to reproduce the results from arXiv:2006.01801.
Jupyter Notebook
11
star
17

TestExtras.jl

Some useful additions to the Julia Test Standard Library
Julia
7
star
18

StridedViews.jl

A Julia package to represent strided views over a parent DenseArray
Julia
4
star
19

VectorFunctionSpacesSummary

Summary page for the course on "Vector and Function Spaces"
4
star
20

Presentations

HTML
3
star
21

ExtendedIntegers.jl

Julia
2
star
22

TensorOperationsCore.jl

Core functionality and interface for TensorOperations.jl
Julia
1
star