Types ===== .. data:: linear_system_like Any one of the following: * ``gain : float`` A system that multiplies its input by a constant ``gain``. .. math:: F(s) = \texttt{gain} * ``(num : array_like, den : array_like)`` A transfer function with numerator polynomial ``num`` and denominator polynomial ``den``. .. math:: F(s) = \frac{\sum_{i=0}^{\texttt{len(num)-1}} \texttt{num[-i-1]} s^i} {\sum_{i=0}^{\texttt{len(den)-1}} \texttt{den[-i-1]} s^i} * ``(zeros : array_like, poles : array_like, gain : float)`` A transfer function with numerator roots ``zeros``, denominator roots ``poles``, and scalar ``gain``. .. math:: F(s) = \texttt{gain} \ \frac{\prod_{i=0}^{\texttt{len(zeros)-1}} (s - \texttt{zeros[i]})} {\prod_{i=0}^{\texttt{len(poles)-1}} (s - \texttt{poles[i]})} * ``(A : array_like, B : array_like, C : array_like, D : array_like)`` A state-space model described by four ``2``--dimensional matrices ``(A, B, C, D)``. .. math:: \dot{{\bf x}}(t) &= A{\bf x}(t) + B{\bf u}(t) \\ {\bf y}(t) &= C{\bf x}(t) + D{\bf u}(t) This has the transfer function :math:`F(s) = C (sI - A)^{-1} B + D`. * An instance of :class:`.LinearSystem`. * An instance of :class:`nengo.LinearFilter`. *Note*: The above equations are for the continuous time-domain. For the discrete time-domain, replace :math:`s \rightarrow z` and :math:`\dot{{\bf x}} \rightarrow {\bf x}[k+1]`.