SciML / ExponentialUtilities.jl

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.
https://docs.sciml.ai/ExponentialUtilities/stable/
Other
93 stars 29 forks source link

Drop `ishermitian` and `opnorm` requirement for custom operator types. #8

Open MSeeker1340 opened 5 years ago

MSeeker1340 commented 5 years ago

Currently to use a matrix-free operator we need to implement the LinearAlgebra.ishermitian and LinearAlgebra.opnorm (or provide a custom norm function). These slows down rapid prototyping and for some sparse types (e.g. SymTridiagonal) the default methods are not very efficient.

Since only scalar values are really needed, we should change the methods to not accept the functions themselves but their values with defaults (as suggested in #1).

For rapid prototyping & interfacing between packages, the end goal should be that only LinearAlgebra.mul! and Base.size needs to be implemented.

ChrisRackauckas commented 4 years ago

Instead of opnorm, could we use the norm of the vector from one application? That was mentioned in https://github.com/Jutho/KrylovKit.jl/issues/22