cf[t_]  :=  RGBColor[1, 0, 0]
FillColor  =  RGBColor[1,  .75,  .75];
<< Graphics`PlotField`
<< Graphics`Arrow`
<< Graphics`InequalityGraphics`
\(\($TextStyle = {FontFamily -> "Times", FontSize -> 10, 
          FontWeight -> "Bold", 
          FontSlant -> "Italic"};\)

 (*\ Define\ A[t]\ *) \)
B  =  {{-10, 12}, {0, -1}};
G  :=  {{l1, 0}, {0, l2}}
A[t_]  :=  
      MatrixExp[G t] . B . 
        MatrixExp[-G t]


      
f1[t_]  :=  
      MatrixExp[G t] . 
        MatrixExp[(B  - 
                G) t]


      
prx1  =  -30;
prx2  =  110;
pry1 = - .25;
pry2 = 2;
stepsize  =  4/40;
nframes  =  40;
x0  =  -20;
y0  =  2;

    
l1  =  3;
l2  = 1;

 (* 
      Initialize t1 so that t1 begins just slightly off  of 1 *) 
t1  =  -stepsize +  .001;
v1 :=  Eigenvectors[
            A[t1]][[1]] ;
v2  :=  Eigenvectors[
            A[t1]][[2]];
\(\(animation\  = \ 
\ \ Table[
\ \ \ \ t1\  = \ 
            t1\  + \ 
              stepsize; 

\ \ \ \ Graphics[Show[

 (*\ 
                Shade\ the\ unstable\ regions\ *) 
InequalityPlot[{x1, y1} . A[t1] . {x1, y1} > 0, \ {x1, 
                  prx1, prx2}, {y1, pry1, pry2}, 
                DisplayFunction -> \ Identity, 
                AspectRatio\  -> \ 1, \ Ticks -> None, 
                PlotRange\  -> \ {{prx1, \ prx2}, \ {pry1, \ pry2}}, 
                AxesLabel\  -> \ {\*""(Subscript[x, 1])(t)"", \*""(Subscript[x, 2])(t)""}, 
                Fills\  -> \ 
                  FillColor], 

 (*\ 
                Plot\ the\ solution\ up\ to\ t1\ *) 
\ \ \ \ \ \ ParametricPlot[f1[t] . {x0, y0}, \ {t, \ 0, \ t1}, \ 
                PlotStyle\  -> \ 
\ \ \ \ \ \ \ \ \ {Thickness[ .0075]}, \ 
                DisplayFunction -> \ Identity, \ 
                AspectRatio\  -> \ 1, \ Ticks -> None, 
                PlotRange\  -> \ {{prx1, \ prx2}, \ {pry1, \ pry2}}, 
                AxesLabel\  -> \ {\*""(Subscript[x, 1])(t)"", \*""(Subscript[x, 2])(t)""}], 


 (*\ 
                Plot\ the\ vector\ field\ *) 
PlotVectorField[
                A[t1] . {x1, x2}, {x1, prx1, prx2}, {x2, pry1, pry2}, 
                ColorFunction\  -> \ cf, \ 
                DisplayFunction\  -> \ Identity, \ 
                ScaleFactor\  -> \ 1.25, \ 
                PlotPoints\  -> \ 
                  20], 


 (*\ 
                Plot\ the\ current\ posisition\ of\ the\ solution\ *) 
ListPlot[{f1[t1] . {x0, y0}}, \ 
                PlotStyle\  -> \ {RGBColor[0, 1, 0], \ PointSize[ .02]}, 
                DisplayFunction\  -> \ 
                  Identity], 

 (*\ 
                Plot\ the\ eigenvectors\ *) 
ParametricPlot[\((v1\ x)\), \ {x, \(-200\), 200}, 
                PlotStyle\  -> \ {Thickness[ .01], RGBColor[0, 0, 1]}, \ 
                DisplayFunction\  -> \ 
                  Identity], 
ParametricPlot[\((v2\ x)\), \ {x, \(-200\), 200}, \ 
                PlotStyle\  -> \ {Thickness[ .01], RGBColor[0, 0, 1]}, \ 
                DisplayFunction\  -> \ 
                  Identity]

]], 

\ \ \ \ {n, \ 1, \ nframes, \ 
            1}];\)


 (*\ 
      Export\ animation\ as\ a\ gif\ *) \)
\(Export["4_4Fa.gif", \ 
      animation, 
\ \ \ ConversionOptions\  -> \ {"Loop"\  -> \ 
            True, "AnimationDisplayTime" -> \  .1}, 
      ImageResolution\  -> \ 144]

 (*\ 
      Export\ a\ snapshot\ to\ use\ as\ a\ thumbnail\ *) \)
Export["4_4Fa_tn.gif", 
      animation[[nframes - 5]]]
Null