ITADN

Wanted: type indicating efficient M and M⁻¹

#1047Opentimholy 创建于 2025-12-04
T
timholycommented
In #1043 I noted that the restrictiveness of warm-start for some methods presumably comes down to an API which requires users to specify whether "preconditioners" (see #1046) should be used in the sense of `v -> M * v` or `v -> M \ v`; the code tries to avoid making assumptions that the other operation is even available. However, in some cases both operations can be made reasonably efficient (`Diagonal` being an obvious example, but `Tridiagonal` and others are also good candidates). One might also wish to follow the example of https://github.com/JuliaStats/PDMats.jl and supply *both* `M` and its factorization. I wonder if it might make sense to provide a way of signaling this. Two potential options: - allow `ldiv` to have a third value indicating that `M` is supplied as a pair of operators `(Mmul, Mdiv)` - define a wrapper type that allows one to supply both
4 条评论