Description
In the generalized eigenvalue problem Ax = λBx
where B' = B
and B ≥ 0
is makes sense to obtain a Schur decomp with the <x, y> = dot(x, B * y)
(semi-)inner product.
Also, some care has to be taken to remove "infinite" eigenvalues: after the shift and invert transformation (A - σB)⁻¹Bx = xθ
where θ = 1/(λ - σ)
there are x
s.t. Bx = 0; transforming back λ = σ + 1/θ
would lead to λ = ∞
.
Looks like ARPACK uses some daunting looking "purification" process to remove these eigenvalues, but there is also this reference [1] which seems easier.
[1] Meerbergen, Karl, and Alastair Spence. "Implicitly restarted Arnoldi with purification for the shift-invert transformation." Mathematics of Computation of the American Mathematical Society 66.218 (1997): 667-689.