4848.. autoclass:: H2DLocalExpansion
4949.. autoclass:: Y2DLocalExpansion
5050.. autoclass:: LineTaylorLocalExpansion
51-
51+ .. autoclass:: AsymptoticDividingLineTaylorExpansion
5252
5353"""
5454
@@ -167,15 +167,28 @@ def translate_from(self, src_expansion, src_coeff_exprs, src_rscale,
167167# }}}
168168
169169
170- # {{{ AsymDline taylor
171- class AsymptoticsDividingLineTaylorExpansion (LocalExpansionBase ):
170+ # {{{ Asymptotic dividing line Taylor expansion
171+ class AsymptoticDividingLineTaylorExpansion (LocalExpansionBase ):
172+ r"""
173+ A target-specific modified line Taylor expansion.
174+
175+ The expansion line is defined as :math:`l(\tau) = \text{avec} + \tau \cdot \text{bvec}`
176+ at a target point :math:`x`. The modified line Taylor expansion takes the form:
177+
178+ .. math::
179+ \sum_{k=0}^{\text{order}} \frac{g_k}{k!} \tau^k,
180+
181+ where:
182+
183+ .. math::
184+ g_k := \frac{d^k}{d\tau^k} \left( \frac{\text{kernel}(l(\tau))}{\text{asymptotic}(l(\tau))} \right) \bigg|_{\tau=0}
185+ """
172186
173187 def __init__ (self , kernel , asymptotic , order , tau = 1 , use_rscale = None , m2l_translation = None ):
174188 super ().__init__ (kernel , order , use_rscale , m2l_translation )
175189 self .asymptotic = asymptotic
176190 self .tau = tau
177191
178-
179192 def get_storage_index (self , k ):
180193 return k
181194
@@ -186,7 +199,6 @@ def get_asymptotic_expression(self, scaled_dist_vec):
186199 from sumpy .symbolic import PymbolicToSympyMapperWithSymbols , Symbol
187200
188201 expr = PymbolicToSympyMapperWithSymbols ()(self .asymptotic )
189- expr = expr .xreplace ({Symbol (f"d{ i } " ): dist_vec_i for i , dist_vec_i in enumerate (scaled_dist_vec )})
190202
191203 tau = sym .Symbol ("tau" )
192204
0 commit comments