Here is the Rossler system, one of the simplest examples of 3 dimensional deterministic chaos (under certain conditions according to "params"). Thanks to Doug and Joe for various assists. Comments and critiques most welcome !

restart;
interface(displayprecision=10):
ross_x:=diff(x(t),t)=-y(t)-z(t):
ross_y:=diff(y(t),t)=x(t)+a*y(t):
ross_z:=diff(z(t),t)=b+x(t)*z(t)-c*z(t):
rossler_sys:=ross_x,ross_y,ross_z;

#Find fixed points:
sol:=solve({rhs(ross_x)=0,rhs(ross_y)=0,rhs(ross_z)=0},{x(t),y(t),z(t)}): fp_sol:=solve({rhs(ross_x)=0,rhs(ross_y)=0,rhs(ross_z)=0},{x(t),y(t),z(t)}):

# judicious choice of the following determines chaotic behaviour or not.
params:={a=0.32,b=0.3,c=4.5}:
fp_sol:=allvalues(eval(fp_sol,params)):
fp1:=fp_sol[1];
fp2:=fp_sol[2];

#Jacobian:
J := frontend(Student:-VectorCalculus:-Jacobian, [map(rhs,[rossler_sys]), [x,y,z](t)], [{`*`,`+`,list},{}]); ev1:=LinearAlgebra[Eigenvalues](eval(J,fp1 union params));
ev2:=LinearAlgebra[Eigenvalues](eval(J,fp2 union params));

# now take a look at the orbits assign(params);
DEtools[DEplot3d]({rossler_sys},{x(t),y(t),z(t)},t=50..200,[[x(0)=1,y(0)=1,z(0)=1]]
  ,scene=[x(t),y(t),z(t)],stepsize=0.05,thickness=1,linecolor=blue,orientation=[40,120]);

# To do:
# check eigenvectors
# plot poincare return map
# plot bifurcation diagram (vary b)
# plot 2D or 1D orbits with differing IVPs
# look at overall qualitative behaviour


Please Wait...