Hello, i'm using PETSc and SLEPc in Python.
I'm trying to calculate eigenvalues for the stokes equations with the following code SHIFT = SLEPc.ST().create() SHIFT.setType(SHIFT.Type.SINVERT) E = SLEPc.EPS().create() E.setST(SHIFT) E.setOperators(K, M) E.setDimensions(25, PETSc.DECIDE) E.setWhichEigenpairs(E.Which.SMALLEST_MAGNITUDE) E.setFromOptions() E.solve() This gives me correct eigenvalues and right eigenvectors. If I want to compute the LEFT eigenvectors i setup a new solver context with the corresponding transposed matrices (these are precalculated) SHIFT = SLEPc.ST().create() SHIFT.setType(SHIFT.Type.SINVERT) E = SLEPc.EPS().create() E.setST(SHIFT) E.setOperators(KT, MT) E.setDimensions(25, PETSc.DECIDE) E.setWhichEigenpairs(E.Which.SMALLEST_MAGNITUDE) E.setFromOptions() E.solve() I don't get any converged eigenvalues. Interfacing ARPACK through scipy v, V = sp.linalg.eigs(A=K, k=64, M=M, sigma=1.0) w, W = sp.linalg.eigs(A=K.T, k=64, M=M.T, sigma=1.0) i get correct left and right eigenvectors (passing (K*V-M*V*diag(v)) < 1e-10) I tried alot of configurations to get it working, so i dont have to convert matrices in my calculations. Is it possible to get the expected results with the iterative solver?
