diff --git a/sumpy/expansion/__init__.py b/sumpy/expansion/__init__.py index 5d8c25d63eab2efc16d201e3d22829341f6767d2..afdd9248110efb84e04c9ca231a68900ea15aa1a 100644 --- a/sumpy/expansion/__init__.py +++ b/sumpy/expansion/__init__.py @@ -350,13 +350,8 @@ class LinearRecurrenceBasedDerivativeWrangler(DerivativeWrangler): pde_mat = np.array(pde_mat, dtype=np.float64) n = nullspace(pde_mat, atol=tol) idx = self.get_reduced_coeffs() - if idx is None or len(idx) < n.shape[1]: - from scipy.linalg.interpolative import interp_decomp - k, idx, proj = interp_decomp(n.T, tol) - s = np.hstack([np.eye(k), proj])[:, np.argsort(idx)] - idx = idx[:k] - else: - s = np.linalg.solve(n.T[:, idx], n.T) + assert len(idx) >= n.shape[1] + s = np.linalg.solve(n.T[:, idx], n.T) stored_identifiers = [mis[i] for i in idx] else: s = np.eye(len(mis)) @@ -393,7 +388,7 @@ class LinearRecurrenceBasedDerivativeWrangler(DerivativeWrangler): indicates the reduced coefficients are unknown and will be calculated using an Interpolative Decomposition of the PDE matrix """ - return None + raise NotImplementedError def get_derivative_taker(self, expr, var_list): from sumpy.tools import NewLinearRecurrenceBasedMiDerivativeTaker