# # Nonlinear (almost linear) systems studied by looking at the linear # system "closest to" the nonlinear one. # -------------------------------------------------------------------------------- # # Art Belmonte # Thu, 04/Apr/96 # Math 308-509 # Section 9.3: Almost Linear Systems # > with(DEtools): with(linalg): with(student): readlib(mtaylor): Warning: new definition for D Warning: new definition for Int Warning: new definition for Sum -------------------------------------------------------------------------------- # T-456/1a: Critical points of the nonlinear system. > F:=(x, y)->x - y + x*y; G:=(x, y)->3*x - 2*y - x*y;\ dx_dt:=F(x, y); dy_dt:=G(x,y);\ derivs:=[dx_dt, dy_dt];\ eqs:=equate(derivs, 0); solve(eqs, {x, y}); F := (x,y) -> x - y + x y G := (x,y) -> 3 x - 2 y - x y dx_dt := x - y + x y dy_dt := 3 x - 2 y - x y derivs := [x - y + x y, 3 x - 2 y - x y] eqs := {x - y + x y = 0, 3 x - 2 y - x y = 0} {y = 0, x = 0}, {y = 1/3, x = 1/4} -------------------------------------------------------------------------------- # T-456/1b: Here's Maple's phase portrait. (Also use MATLAB for further # exploration.) > DEplot2(derivs, [x, y], -5..5,\ {[0, 0.1, 0.1], [0, 0.5, 0.5]}, x=-1..1, y=-1..1,\ scaling=constrained, stepsize=0.05); -------------------------------------------------------------------------------- # T-456/1c: # 1. Linear parts of F and G (as expressions). # 2. Formulation of coefficient matrix A of the corresponding linear system. # 3. Investigation of the nature of the critical point (0, 0) of the said linear system: Since # the eigenvalues of A are complex conjugates with negative real parts, we have from # Table 9.3.1 (T-451) that (0, 0) is an asymptotically stable spiral point (as we # surmised from the phase portrait above). > LF:=mtaylor(F(x,y), [x, y], 2);\ LG:=mtaylor(G(x,y), [x, y], 2);\ A:=genmatrix([LF, LG], [x, y]);\ lambda:=eigenvals(A); evalf("); LF := x - y LG := 3 x - 2 y [ 1 -1 ] A := [ ] [ 3 -2 ] 1/2 1/2 lambda := - 1/2 + 1/2 I 3 , - 1/2 - 1/2 I 3 - .5000000000 + .8660254040 I, - .5000000000 - .8660254040 I -------------------------------------------------------------------------------- # T-456/1d: Verification that original system is almost linear. > g:=evalm(derivs - [LF, LG]);\ g_polar:=subs(x=r*cos(theta), y=r*sin(theta), evalm(g));\ map(Limit, evalm(g_polar / r), r=0, right);\ `|g(x,y)| / |(x,y)| -> 0`:=value("); g := [ x y, - x y ] 2 2 g_polar := [ r cos(theta) sin(theta), - r cos(theta) sin(theta) ] [ Limit r cos(theta) sin(theta), Limit - r cos(theta) sin(theta) ] r -> 0+ r -> 0+ |g(x,y)| / |(x,y)| -> 0 := [ 0, 0 ] -------------------------------------------------------------------------------- # >