Skip to content

Commit f77f639

Browse files
committed
Check if ode_in_x is truly cleared
1 parent 3cc5e3a commit f77f639

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

sumpy/recurrence.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,8 @@ def ode_in_x_to_coeff_array(poly: sp.Poly, ode_order: int,
187187
def kronecker(i, n=ode_order+1):
188188
return tuple(1 if i == j else 0 for j in range(n))
189189

190-
return [
191-
sp.Poly(poly.coeff_monomial(kronecker(deriv_ind)), var[0]).all_coeffs()[::-1]
192-
for deriv_ind in range(ode_order+1)
190+
return [sp.Poly(poly.coeff_monomial(kronecker(deriv_ind)),
191+
var[0]).all_coeffs()[::-1] for deriv_ind in range(ode_order+1)]
193192

194193

195194
def _auto_product_rule_single_term(p: int, m: int, var: np.ndarray) -> sp.Expr:
@@ -247,9 +246,8 @@ def recurrence_from_pde(pde: LinearPDESystemOperator) -> sp.Expr:
247246
ode_in_r, var, ode_order = pde_to_ode_in_r(pde)
248247
ode_in_x = ode_in_r_to_x(ode_in_r, var, ode_order).simplify()
249248
ode_in_x_cleared = (ode_in_x * var[0]**(ode_order+1)).simplify()
250-
251-
assert is_actually_cleared()
252-
249+
#ode_in_x_cleared shouldn't have rational function coefficients in the coord.
250+
assert sp.together(ode_in_x_cleared) == ode_in_x_cleared
253251
f_x_derivs = _make_sympy_vec("f_x", ode_order+1)
254252
poly = sp.Poly(ode_in_x_cleared, *f_x_derivs)
255253
coeffs = ode_in_x_to_coeff_array(poly, ode_order, var)

0 commit comments

Comments
 (0)