In [1]:
from sympy import *
init_session()


IPython console for SymPy 0.7.4.1-git (Python 3.3.3-64-bit) (ground types: python)

These commands were executed:
>>> from __future__ import division
>>> from sympy import *
>>> x, y, z, t = symbols('x y z t')
>>> k, m, n = symbols('k m n', integer=True)
>>> f, g, h = symbols('f g h', cls=Function)

Documentation can be found at http://www.sympy.org

In [16]:
v, w = Function("v")(t), Function("w")(t)
Ii = symbols("I_i")
var('tau a b gamma epsilon p q v_s w_s lambda_')


Out[16]:
$$\begin{pmatrix}\tau, & a, & b, & \gamma, & \epsilon, & p, & q, & v_{s}, & w_{s}, & \lambda_{}\end{pmatrix}$$

In [3]:
I = Ii + tau

In [12]:
dv = (-v*(v-a)*(v-1) - w + I).expand()
dw = (b*(v - gamma*w)).expand()

In [21]:
dv.subs({v: v_s + p*exp(lambda_*t), w: w_s + q*exp(lambda_*t)}).expand()


Out[21]:
$$I_{i} + a p^{2} e^{2 \lambda_{} t} + 2 a p v_{s} e^{\lambda_{} t} - a p e^{\lambda_{} t} + a v_{s}^{2} - a v_{s} - p^{3} e^{3 \lambda_{} t} - 3 p^{2} v_{s} e^{2 \lambda_{} t} + p^{2} e^{2 \lambda_{} t} - 3 p v_{s}^{2} e^{\lambda_{} t} + 2 p v_{s} e^{\lambda_{} t} - q e^{\lambda_{} t} + \tau - v_{s}^{3} + v_{s}^{2} - w_{s}$$

In [22]:
dw.subs({v: v_s + p*exp(lambda_*t), w: w_s + q*exp(lambda_*t)}).expand()


Out[22]:
$$- b \gamma q e^{\lambda_{} t} - b \gamma w_{s} + b p e^{\lambda_{} t} + b v_{s}$$

In [23]:
m = Matrix([[-(v-a)*(v-1), -1], [b, -b*gamma]])

In [24]:
m


Out[24]:
$$\left[\begin{matrix}\left(a - v{\left (t \right )}\right) \left(v{\left (t \right )} - 1\right) & -1\\b & - b \gamma\end{matrix}\right]$$

In [26]:
m.berkowitz_charpoly()


Out[26]:
$$\operatorname{PurePoly}{\left( \lambda^{2} + \lambda \left(- a v{\left (t \right )} + a + b \gamma + v^{2}{\left (t \right )} - v{\left (t \right )}\right) - a b \gamma v{\left (t \right )} + a b \gamma + b \gamma v^{2}{\left (t \right )} - b \gamma v{\left (t \right )} + b, \lambda, domain=\mathbb{Z}\left[a, b, \gamma, v{\left (t \right )}\right] \right)}$$

In [32]:
expand(b*((diff(x*(x-a)*(x-1), x).expand().subs(x, v) * gamma) + 1))


Out[32]:
$$- 2 a b \gamma v{\left (t \right )} + a b \gamma + 3 b \gamma v^{2}{\left (t \right )} - 2 b \gamma v{\left (t \right )} + b$$

In [33]:
expand(diff(x*(x-a)*(x-1), x).expand().subs(x, v) + b*gamma)


Out[33]:
$$- 2 a v{\left (t \right )} + a + b \gamma + 3 v^{2}{\left (t \right )} - 2 v{\left (t \right )}$$

In [ ]: