All Projects → Jutho → Krylovkit.jl

Jutho / Krylovkit.jl

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

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Krylovkit.jl

Blasjs
Pure Javascript manually written 👌 implementation of BLAS, Many numerical software applications use BLAS computations, including Armadillo, LAPACK, LINPACK, GNU Octave, Mathematica, MATLAB, NumPy, R, and Julia.
Stars: ✭ 241 (+164.84%)
Mutual labels:  vector, linear-algebra
vg
Vector-geometry toolbelt for 3D points and vectors
Stars: ✭ 106 (+16.48%)
Mutual labels:  vector, linear-algebra
LinAlg
实现一个线性代数库,为Python写扩展。《程序猿的数学3 线性代数》读后笔记
Stars: ✭ 17 (-81.32%)
Mutual labels:  vector, linear-algebra
Node Sylvester
🐱 Sylvester is a vector, matrix, and geometry library for JavaScript, that runs in the browser and on the server.
Stars: ✭ 144 (+58.24%)
Mutual labels:  vector, linear-algebra
Pts
A library for visualization and creative-coding
Stars: ✭ 4,628 (+4985.71%)
Mutual labels:  vector, linear-algebra
Math Php
Powerful modern math library for PHP: Features descriptive statistics and regressions; Continuous and discrete probability distributions; Linear algebra with matrices and vectors, Numerical analysis; special mathematical functions; Algebra
Stars: ✭ 2,009 (+2107.69%)
Mutual labels:  vector, linear-algebra
Tensor
A library and extension that provides objects for scientific computing in PHP.
Stars: ✭ 146 (+60.44%)
Mutual labels:  vector, linear-algebra
Mathematics for Machine Learning
Learn mathematics behind machine learning and explore different mathematics in machine learning.
Stars: ✭ 28 (-69.23%)
Mutual labels:  vector, linear-algebra
Armadillo Code
Armadillo: fast C++ library for linear algebra & scientific computing - http://arma.sourceforge.net
Stars: ✭ 388 (+326.37%)
Mutual labels:  vector, linear-algebra
Matrix
Easy-to-use Scientific Computing library in/for C++ available for Linux and Windows.
Stars: ✭ 20 (-78.02%)
Mutual labels:  vector, linear-algebra
Numphp
Mathematical PHP library for scientific computing
Stars: ✭ 120 (+31.87%)
Mutual labels:  vector, linear-algebra
Cgmath
A linear algebra and mathematics library for computer graphics.
Stars: ✭ 773 (+749.45%)
Mutual labels:  vector, linear-algebra
Lacaml
OCaml bindings for BLAS/LAPACK (high-performance linear algebra Fortran libraries)
Stars: ✭ 101 (+10.99%)
Mutual labels:  vector, linear-algebra
Nalgebra
Linear algebra library for Rust.
Stars: ✭ 2,433 (+2573.63%)
Mutual labels:  vector, linear-algebra
JOLI.jl
Julia Operators LIbrary
Stars: ✭ 14 (-84.62%)
Mutual labels:  vector, linear-algebra
Vectorious
Linear algebra in TypeScript.
Stars: ✭ 616 (+576.92%)
Mutual labels:  vector, linear-algebra
Fmatvec
A fast vector/matrix library
Stars: ✭ 5 (-94.51%)
Mutual labels:  vector, linear-algebra
Math object detection
An image recognition/object detection model that detects handwritten digits and simple math operators. The output of the predicted objects (numbers & math operators) is then evaluated and solved.
Stars: ✭ 52 (-42.86%)
Mutual labels:  linear-algebra
Vectorsinsearch
Dice.com repo to accompany the dice.com 'Vectors in Search' talk by Simon Hughes, from the Activate 2018 search conference, and the 'Searching with Vectors' talk from Haystack 2019 (US). Builds upon my conceptual search and semantic search work from 2015
Stars: ✭ 71 (-21.98%)
Mutual labels:  vector
Numeric
N-dimensional matrix class for Rust
Stars: ✭ 51 (-43.96%)
Mutual labels:  linear-algebra

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
CI

Release notes for the latest version

v0.5

This version introduces (minimal) breaking changes, if you use KrylovKit.jl with custom vector types: KrylovKit.jl no longer depends on eltype(::YourCustomVector) and similar(::YourCustumVector, ::Type{<:Number}). Instead, KrylovKit.jl does now rely on Base.:*(::Number, ::YourCustomVector) to be defined as a means of creating new vectors, possibly with a different scalar type, so as to be able to represent this computation. Note that Base.similar(::YourCustomVector) (without the second argument) should still be defined to create uninitialized vectors of the same type as the one of the argument.

The motivation for this is that using eltype(::YourCustomVector) to represent its scalar type, was often not the compatible with the requirements for Base.eltype if your type also supports iteration or indexing.

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 so-called ϕⱼ 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].