Based on discussion in #120 we want to make a cleaner interface with fortran arpack, in order to lessen the number of corner cases which are making the code difficult to maintain.
We can reduce the number of target choices, e.g., LM, LR, SR, LI, SI (and possible general eigsorter like in KrylovKit). In particular, in order to get functionality SM or shift-and-invert one would instead need to explicitly provide a transformed problem, e.g., with LinearMap:
Afact=factorize(A-s*I);
Atransformed=LinearMap(x->Afact\x,size(A,1))
(d,v)=eigs(Atransformed,which=:LM)
d = 1 ./(d .+ s)
The advantage is that we would be able to remove features associated with sigma and explicittransform.
Based on discussion in #120 we want to make a cleaner interface with fortran arpack, in order to lessen the number of corner cases which are making the code difficult to maintain.
We can reduce the number of target choices, e.g.,
LM, LR, SR, LI, SI(and possible general eigsorter like in KrylovKit). In particular, in order to get functionalitySMor shift-and-invert one would instead need to explicitly provide a transformed problem, e.g., withLinearMap:The advantage is that we would be able to remove features associated with
sigmaandexplicittransform.