From 3304707282872a4f5eb8d9e4cbb257be8cc02dbe Mon Sep 17 00:00:00 2001 From: Isuru Fernando <isuruf@gmail.com> Date: Tue, 7 Jul 2020 09:20:38 -0500 Subject: [PATCH] Style fixes --- sumpy/expansion/__init__.py | 24 +++++++++--------------- sumpy/expansion/local.py | 9 +++++---- sumpy/expansion/pde_utils.py | 28 ++++++++++++++-------------- 3 files changed, 28 insertions(+), 33 deletions(-) diff --git a/sumpy/expansion/__init__.py b/sumpy/expansion/__init__.py index 85c93850..ea70b0eb 100644 --- a/sumpy/expansion/__init__.py +++ b/sumpy/expansion/__init__.py @@ -193,16 +193,10 @@ class ExpansionTermsWrangler(object): res = sorted(gnitstam(self.order, self.dim), key=sum) - def filter_tuple(tup): - if self.max_mi is None: - return True - for a, b in zip(tup, self.max_mi): - if a > b: - return False - return True - - res = list(filter(filter_tuple, res)) - return res + if self.max_mi is None: + return res + + return [mi for mi in res if all(mi[i] <= self.max_mi[i])] def copy(self, **kwargs): new_kwargs = dict( @@ -264,8 +258,6 @@ def _spmv(spmat, x, sparse_vectors): return result -# }}} - def _fast_spmv(reconstruct_matrix, vec, sac, transpose=False): if not transpose: @@ -278,7 +270,7 @@ def _fast_spmv(reconstruct_matrix, vec, sac, transpose=False): else: for k, v in deps: res[row] += res[k] * v - new_sym = sym.Symbol(sac.assign_unique("expr", res[row])) + new_sym = sym.Symbol(sac.assign_unique("decompress_temp", res[row])) res[row] = new_sym return res else: @@ -288,12 +280,14 @@ def _fast_spmv(reconstruct_matrix, vec, sac, transpose=False): if len(deps) == 0: res.append(expr_all[row]) continue - new_sym = sym.Symbol(sac.assign_unique("expr", expr_all[row])) + new_sym = sym.Symbol(sac.assign_unique("compress_temp", expr_all[row])) for k, v in deps: expr_all[k] += new_sym * v res.reverse() return res +# }}} + class LinearPDEBasedExpansionTermsWrangler(ExpansionTermsWrangler): """ @@ -476,7 +470,7 @@ class LinearPDEBasedExpansionTermsWrangler(ExpansionTermsWrangler): plog.done() - print("number of Taylor coefficients was reduced from {orig} to {red}" + logger.debug("number of Taylor coefficients was reduced from {orig} to {red}" .format(orig=len(self.get_full_coefficient_identifiers()), red=len(stored_identifiers))) diff --git a/sumpy/expansion/local.py b/sumpy/expansion/local.py index b4038796..6080f646 100644 --- a/sumpy/expansion/local.py +++ b/sumpy/expansion/local.py @@ -280,16 +280,17 @@ class VolumeTaylorLocalExpansionBase(LocalExpansionBase): embedded_coeffs, src_rscale) # Sum the embedded coefficient set - for i, coeff in enumerate(stored_coeffs): + for tgtplusderiv_coeff_id, coeff in zip(tgtplusderiv_coeff_ids, + stored_coeffs): if coeff == 0: continue nderivatives_for_scaling = \ - sum(tgtplusderiv_coeff_ids[i])-sum(lexp_mi) + sum(tgtplusderiv_coeff_id)-sum(lexp_mi) kernel_deriv = ( src_expansion.get_scaled_multipole( - taker.diff(tgtplusderiv_coeff_ids[i]), + taker.diff(tgtplusderiv_coeff_id), dvec, src_rscale, - nderivatives=sum(tgtplusderiv_coeff_ids[i]), + nderivatives=sum(tgtplusderiv_coeff_id), nderivatives_for_scaling=nderivatives_for_scaling)) lexp_mi_terms.append( diff --git a/sumpy/expansion/pde_utils.py b/sumpy/expansion/pde_utils.py index 146bd510..308be6a0 100644 --- a/sumpy/expansion/pde_utils.py +++ b/sumpy/expansion/pde_utils.py @@ -28,34 +28,34 @@ from sumpy.tools import add_mi class PDE(object): r""" Represents a iscalar PDEs of dimension `dim`. It is represented by a - dictionary. A dictionary maps a a multi-index given as a tuple - to the coefficient. + dictionary. The dictionary maps a multi-index given as a tuple + to the coefficient. This object is immutable. """ def __init__(self, dim, eq): """ :arg dim: dimension of the PDE - :arg eq: A dictionary mapping a multi-index to a value + :arg eq: A dictionary mapping a multi-index to a coefficient """ self.dim = dim self.eq = eq def __mul__(self, param): - res = PDE(self.dim, {}) + eq = {} for k, v in self.eq.items(): - res.eq[k] = v * param - return res + eq[k] = v * param + return PDE(self.dim, eq) __rmul__ = __mul__ def __add__(self, other_pde): assert self.dim == other_pde.dim - res = PDE(self.dim, self.eq.copy()) + res = self.eq.copy() for k, v in other_pde.eq.items(): if k in res.eq: - res.eq[k] += v + res[k] += v else: - res.eq[k] = v - return res + res[k] = v + return PDE(self.dim, res) __radd__ = __add__ @@ -63,7 +63,7 @@ class PDE(object): return self + (-1)*other_pde def __repr__(self): - return repr(self.eq) + return f"PDE({self.dim}, {repr(self.eq)})" def laplacian(pde): @@ -77,10 +77,10 @@ def laplacian(pde): def diff(pde, mi): - res = PDE(pde.dim, {}) + res = {} for eq_mi, v in pde.eq.items(): - res.eq[add_mi(eq_mi, mi)] = v - return res + res[add_mi(eq_mi, mi)] = v + return PDE(pde.dim, res) def make_pde_sym(dim): -- GitLab