def evaluate_expansion_all(self, input_array, output_array, fast_transform=True): if fast_transform is False: SpectralBase.evaluate_expansion_all(self, input_array, output_array, False) else: self.backward.xfftn(normalise_idft=False)
def evaluate_expansion_all(self, input_array, output_array, fast_transform=True): if fast_transform is False: SpectralBase.evaluate_expansion_all(self, input_array, output_array, False) return w_hat = work[(input_array, 0)] self.set_factor_arrays(input_array) w_hat = self.set_w_hat(w_hat, input_array, self._factor1, self._factor2) self.CT.backward(w_hat) assert input_array is self.backward.input_array assert output_array is self.backward.output_array
def evaluate_expansion_all(self, input_array, output_array, fast_transform=True): if fast_transform is False: SpectralBase.evaluate_expansion_all(self, input_array, output_array, False) return w_hat = work[(input_array, 0)] self.set_factor_array(input_array) s0 = self.sl(slice(0, -2)) s1 = self.sl(slice(2, None)) w_hat[s0] = input_array[s0] w_hat[s1] -= self._factor*input_array[s0] self.CT.backward(w_hat) assert output_array is self.CT.backward.output_array
def evaluate_expansion_all(self, input_array, output_array, fast_transform=True): if fast_transform is False: SpectralBase.evaluate_expansion_all(self, input_array, output_array, False) return w_hat = work[(input_array, 0)] s0 = self.sl(slice(0, -2)) s1 = self.sl(slice(2, None)) w_hat[s0] = input_array[s0] w_hat[s1] -= input_array[s0] self.bc.apply_before(w_hat, False, (0.5, 0.5)) self.CT.backward(w_hat) assert output_array is self.CT.backward.output_array
def evaluate_expansion_all(self, input_array, output_array, fast_transform=True): if fast_transform is False: SpectralBase.evaluate_expansion_all(self, input_array, output_array, False) return output_array = self.backward.xfftn() s0 = self.sl(slice(0, 1)) if self.quad == "GC": output_array *= 0.5 output_array += input_array[s0]/2 elif self.quad == "GL": output_array *= 0.5 output_array += input_array[s0]/2 s0[self.axis] = slice(-1, None) s2 = self.sl(slice(0, None, 2)) output_array[s2] += input_array[s0]/2 s2[self.axis] = slice(1, None, 2) output_array[s2] -= input_array[s0]/2