# scipy.signal.lfiltic

scipy.signal.lfiltic(b, a, y, x=None)

  Construct initial conditions for lfilter given input and output vectors.

  Given a linear filter (b, a) and initial conditions on the output y and the input x, return the initial conditions on the state vector zi which is used by `lfilter` to generate the output given the input.

  Parameters:
    b array_like

      Linear filter term.

    a array_like

      Linear filter term.

    y array_like

      Initial conditions.

      If `N = len(a) - 1`, then `y = {y[-1], y[-2], ..., y[-N]}`.

      If y is too short, it is padded with zeros.

    x array_like, optional

      Initial conditions.

      If `M = len(b) - 1`, then `x = {x[-1], x[-2], ..., x[-M]}`.

      If x is not given, its initial conditions are assumed zero.

      If x is too short, it is padded with zeros.

  Returns:
    zi ndarray

      The state vector `zi = {z_0[-1], z_1[-1], ..., z_K-1[-1]}`, where `K = max(M, N)`.

  See also

  `lfilter`, `lfilter_zi`