Expokit.jl
Julia implementation of EXPOKIT routines
Install / Use
/learn @acroy/Expokit.jlREADME
Expokit
This package provides Julia implementations of some routines contained in EXPOKIT. Those routines allow an efficient calculation of the action of matrix exponentials on vectors for large sparse matrices. For more details about the methods see R.B. Sidje, ACM Trans. Math. Softw., 24(1):130-156, 1998 (or its preprint).
Note: Apart from expmv (which is called expv in EXPOKIT) also phimv, padm and chbv are available.
Usage
Pkg.add("Expokit")
expmv
w = expmv!{T}( w::Vector{T}, t::Number, A, v::Vector{T}; kwargs...)
The function expmv! calculates w = exp(t*A)*v, where A is a
matrix or any type that supports size, eltype and mul! and v is a dense vector by using Krylov subspace projections. The result is
stored in w.
The following keywords are supported
tol: tolerance to control step size (default:1e-7)m: size of Krylov subspace (default:min(30,size(A,1)))norm: user-supplied function to calculate vector norm (dafault:Base.norm)anorm: operator/matrix norm ofAto estimate first time-step (default:opnorm(A, Inf))
For convenience, the following versions of expmv are provided
v = expmv!{T}( t::Number, A, v::Vector{T}; kwargs...)
w = expmv{T}( t::Number, A, v::Vector{T}; kwargs...)
phimv
w = phimv!{T}( w::Vector{T}, t::Number, A, u::Vector{T}, v::Vector{T}; kwargs...)
The function phimv! calculates w = e^{tA}v + t φ(t A) u with φ(z) = (exp(z)-1)/z, where A is a
matrix or any type that supports size, eltype and mul!, u and v are dense vectors by using Krylov subspace projections. The result is stored in w. The supported keywords are the same as for expmv!.
chbv
chbv!{T}(w::Vector{T}, A, v::Vector{T})
The function chbv! calculates w = exp(A)*v using the partial fraction expansion of
the uniform rational Chebyshev approximation of type (14,14).
padm
padm(A; p=6)
The function padm calculates the matrix exponential exp(A) of A using the irreducible
(p,p)-degree rational Pade approximation to the exponential function.
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。

