ExponentialUtilities.jl icon indicating copy to clipboard operation
ExponentialUtilities.jl copied to clipboard

Fast and differentiable implementations of matrix exponentials, Krylov exponential matrix-vector multiplications ("expmv"), KIOPS, ExpoKit functions, and more. All your exponential needs in SciML form...

Results 34 ExponentialUtilities.jl issues
Sort by recently updated
recently updated
newest added

`inplace_add!` as currently implemented uses scalar indexing to update the diagonal of an array. Since `CuArray`s disallow scalar indexing outside the REPL, this method breaks in practice. The current implementation,...

Hello, I'm interested on using these tools with CUDA Arrays like ComplexF64 dense CuArray or sparse CuSparseMatrix. Following the documentation, it only needs that the array supports the following functions:...

Wish-list / todo-list for more matrix exponential methods * [ ] An implementation of *A. H. Al-Mohy and N. J. Higham, A new scaling and squaring algorithm for the matrix...

```julia A = Diagonal(1 .* ones(ComplexF64,8)) b = ones(ComplexF64,8) Ks = KrylovSubspace{ComplexF64,ComplexF64}(8,8) arnoldi!(Ks,A,b) # After this like, Ks.H = [ 1 - epsilon + 0i ; epsilon + 0i ]...

```julia julia> _x = range(-10, stop=10, length=200); julia> maximum(abs, (x -> ExponentialUtilities.exp_generic(x)/exp(x) - 1).(_x))/eps(Float64) 10.5 julia> maximum(abs, (x -> ExponentialUtilities.exp_generic(x)/exp(x) - 1).(big.(_x)))/eps(BigFloat) 3.990156146456241410115233813819434452173187e+42 ``` The number of terms in the...

From Slack: @sethaxen: > Does ExponentialUtilities.jl play well with AD packages, in particular Zygote? @ChrisRackauckas: > not fully with Zygote > it'll need adjoints > since it's doing a lot...

Following #40, this PR implements forward- and reverse-mode rules for `expv`, adding compatibility with Zygote and perhaps making ForwardDiff2's differentiation of these rules faster. This is still marked as a...

In [Algorithm 4, 1] the authors describe an "output-sensitive" Lanczos iteration scheme in the sense that the user can specify a projection matrix that's applied inside the iteration. To my...

The current implementation relies on methods being defined for special number types before https://github.com/SciML/ExponentialUtilities.jl/blob/fce7ae64e8507baf7ce98d268e46478c7a1540ab/src/exp.jl#L127-L135 is being called, see item 4 in https://docs.julialang.org/en/v1/manual/metaprogramming/#Generated-functions-1. If not then you'll hit a world age...