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].