I'm attempting to use scipy's spilu
routine as a preconditioner and I'm finding bad performance for my application (solving a global linear system arising from a DG discretization of an time-dependent ADR PDE).
Before I write tests to tune the options and compute the effect of the preconditioner on the eigenvalues of my linear system, I'd like to make sure I'm applying the preconditioning matrix in the scipy
intended manner, since the documentation for spilu
is pretty spartan...
elif solver == 'spILUPCG':
P = sp.sparse.linalg.spilu(A.tocsc())
P = P.L * P.U
x = sp.sparse.linalg.cg(A, b, M=P)