ExponentialUtilities.jl
ExponentialUtilities.jl copied to clipboard
Drop `ishermitian` and `opnorm` requirement for custom operator types.
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.
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