(* The origin has index n with respect to the  complex vector field z -> z^n    *)
(* With this routine, you can draw these vecvtor fields                         *)
(* Type for example     ParabolicExample[3]                                     *)

ArrowHead[top_,bot_,len_,wid_] := Module[{x1,x2,u1,u2,nm,e1,e2,f1,f2},
    x1=First[top] ; x2 = Last[top] ; u1=First[bot]; u2=Last[bot];
    nm=Max[10^(-6),Sqrt[(x1-u1)^2 + (x2-u2)^2]];
    e1=(x1-u1)/nm; e2=(x2-u2)/nm; f1=-e2; f2=e1;
    Polygon[{{x1,x2},{x1 - len e1 + (wid/2) f1, x2 - len e2 + (wid/2) f2},
                     {x1 - len e1 - (wid/2) f1, x2 - len e2 - (wid/2) f2}}]];
Arrow[pnt_,vec_,hdsize_]:={Line[{pnt,pnt+vec}],
  ArrowHead[pnt+vec,pnt,hdsize,hdsize/1.5]};
VectorField[expr_,xdom_,ydom_,hdsize_,scale_] :=
  Table[Arrow[{First[xdom],First[ydom]}, scale expr, hdsize ], xdom, ydom];
PhasePortrait[{f_,g_}] := Show[Graphics[VectorField[{f[x,y],g[x,y]},
  {x,-1,1,0.2},{y,-1,1,0.2},0.04,0.10]],Frame->True, FrameTicks->None,
   AspectRatio->1];
NormedPhasePortraitComplex[h_]:=Module[{},
  f[x,y]:=Re[h[x+I y]]/(0.0001+N[Abs[h[x+I y]]]);
  g[x,y]:=Im[h[x+I y]]/(0.0001+N[Abs[h[x+I y]]]);
  PhasePortrait[{f,g}]];
ParabolicExample[n_]:=If[n>=0,
                     NormedPhasePortraitComplex[Function[z,z^n]],
                     NormedPhasePortraitComplex[Function[z,Conjugate[z^2]]]];

