From 34778d76e6a135c74a9b650c9dcaf116b80591cd Mon Sep 17 00:00:00 2001 From: Richard Hartmann Date: Fri, 2 Dec 2016 13:45:54 +0100 Subject: [PATCH] changed spline to fcSpline --- stocproc/stocproc.py | 4 ++-- stocproc/tools.py | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/stocproc/stocproc.py b/stocproc/stocproc.py index 2ba59ee..3f3ff4b 100644 --- a/stocproc/stocproc.py +++ b/stocproc/stocproc.py @@ -44,7 +44,7 @@ import time from . import method_kle from . import method_fft from . import stocproc_c -from .tools import ComplexInterpolatedUnivariateSpline +import fcSpline import logging log = logging.getLogger(__name__) @@ -105,7 +105,7 @@ class _absStocProc(abc.ABC): else: if self._interpolator is None: t0 = time.time() - self._interpolator = ComplexInterpolatedUnivariateSpline(self.t, self._z, k=3) + self._interpolator = fcSpline.FCS(x_low=0, x_high=self.t_max, y=self._z) log.debug("created interpolator [{:.2e}s]".format(time.time() - t0)) return self._interpolator(t) diff --git a/stocproc/tools.py b/stocproc/tools.py index 3c567a2..6750bd8 100644 --- a/stocproc/tools.py +++ b/stocproc/tools.py @@ -1,17 +1,13 @@ -from scipy.interpolate import InterpolatedUnivariateSpline from scipy.integrate import quad from scipy.optimize import bisect from functools import partial - from .stocproc_c import auto_correlation as auto_correlation_c - import sys import os from warnings import warn sys.path.append(os.path.dirname(__file__)) import numpy as np -from scipy.linalg import eigh as scipy_eigh from collections import namedtuple stocproc_key_type = namedtuple(typename = 'stocproc_key_type', @@ -20,9 +16,10 @@ stocproc_key_type = namedtuple(typename = 'stocproc_key_type', class ComplexInterpolatedUnivariateSpline(object): def __init__(self, x, y, k=3): + raise DeprecationWarning("use fast cubic Spline (fcSpline) instead") + from scipy.interpolate import InterpolatedUnivariateSpline self.re_spline = InterpolatedUnivariateSpline(x, np.real(y)) self.im_spline = InterpolatedUnivariateSpline(x, np.imag(y)) - def __call__(self, t): return self.re_spline(t) + 1j * self.im_spline(t)