Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
raise RuntimeError("Invalid problem type")
elif key == "solver":
if value == "power":
self.eps.setType(SLEPc.EPS.Type.POWER)
elif value == "subspace":
self.eps.setType(SLEPc.EPS.Type.SUBSPACE)
elif value == "arnoldi":
self.eps.setType(SLEPc.EPS.Type.ARNOLDI)
elif value == "lanczos":
self.eps.setType(SLEPc.EPS.Type.LANCZOS)
elif value == "krylov-schur":
self.eps.setType(SLEPc.EPS.Type.KRYLOVSCHUR)
elif value == "lapack":
self.eps.setType(SLEPc.EPS.Type.LAPACK)
elif value == "arpack":
self.eps.setType(SLEPc.EPS.Type.ARPACK)
elif value == "jacobi-davidson":
self.eps.setType(SLEPc.EPS.Type.JD)
elif value == "generalized-davidson":
self.eps.setType(SLEPc.EPS.Type.GD)
else:
raise RuntimeError("Invalid solver type")
elif key == "spectral_shift":
st = self.eps.getST()
st.setShift(value)
elif key == "spectral_transform":
assert value == "shift-and-invert"
st = self.eps.getST()
st.setType(SLEPc.ST.Type.SINVERT)
elif key == "spectrum":
if value == "largest magnitude":
self.eps.setWhichEigenpairs(SLEPc.EPS.Which.LARGEST_MAGNITUDE)