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