How to plot and manipulate eigenvalues when changing parameters ?

Hello everybody,

I am working with a very complex non-linear differential system. I would like to start to examine the stability of the solutions in the easy case of only 3 species and 22 parameters (3 differential equations). I called this system: Benesystem. I created the jacobian matrix and extracted the eigen values. I called these eigen.
Now I would like to create a plot showing the real parts and imaginary parts of each eigen values for the solutions of the system for each values of the 22 parameters. In other words, I want to examine how the parameters influence the eigenvalues and therefore the stability of the solutions. I am still learning how to use mathematica so I am having some hard time creating such a plot.

Thank you for your help!
Bene

Here is the code I am using.

Manipulate[ Module[ {soln, col1 = RGBColor[1, .47, 0], col2 = ColorData[“HTML”, “SlateBlue”], col3= ColorData[“HTML”, “Black”]}, Plot[Evaluate[{Re[eigen /. {#[[1]], #[[2]], #[[3]]}], Im[eigen /. {n1 = #[[1]], y = #[[2]], m = #[[3]]}] } &[ soln = Quiet@ Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, mm1, p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, rm}, {species10, species20, species30}, tmax]]] , {t, 0, Min[tmax, Min[#[[1, 1, 2]] & /@ soln]]}, AxesLabel → TraditionalForm /@ {t, {Style[e1, col1], Style[e2, col2], Style[e3, col3]}}, PlotRange → All, AxesOrigin → {0, 0}, PlotStyle → {col1, col2, col3}, ImageSize → {500, 500}, ImagePadding → {{40, 10}, {10, 25}}] ], {{b1, 1, “b1”}, 0, 2, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{a11, 1, “a11”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{f11, 1, “f11”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{f1, 1, “f1”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{h1, 1, “h1”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{g11, 1, “g11”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{p1, 1, “p1”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{p11, 1, “p11”}, 0.1, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{d1, 1, “d1”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{g1, 1, “g1”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{k1, 1, “k1”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{mm1, 1, “mm1”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{fm11, 1, “fm11”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{fm1, 1, “fm1”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{hm1, 1, “hm1”}, 0.1, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{gm1, 1, “gm1”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{gm11, 1, “gm11”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{km1, 1, “km1”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{e, 1, “e”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{r, 1, “r”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, {{rm, 1, “rm”}, 0, 1, .01, ImageSize → Tiny, Appearance → “Labeled”}, Delimiter, “initial populations”, {{species10, 1, “species10”}, 0, 10, ImageSize → Tiny}, {{species20, 1, “species20”}, 0, 10, ImageSize → Tiny}, {{species30, 1, “species30”}, 0, 10, ImageSize → Tiny}, {{t, 1, “time”}, 0, 10, ImageSize → Tiny}, SaveDefinitions → True, ControlPlacement → Left]

Copying and pasting Mathematica code into a text box can corrupt the code. It would be better to copy your code into a “spikey” box.

I’m sorry I did not realize there could be some corruption. Here is the code I have been trying to use to manipulate the eigenvalues:

Manipulate[
 Module[{soln, col1 = RGBColor[1, .47, 0], 
   col2 = ColorData["HTML", "SlateBlue"], 
   col3 = ColorData["HTML", "Black"]}, 
  Plot[Evaluate[{Re[
      eigen /. {#[[1]], #[[2]], #[[3]], b1, a11, f11, f1, h1, g11, g1,
           k1, mm1, p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1,
           rm} &[soln = 
        Quiet@Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, 
           mm1, p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, 
           rm}, {species10, species20, species30}, tmax]]]}], 
   Evaluate[{Im[
      eigen /. {#[[1]], #[[2]], #[[3]], b1, a11, f11, f1, h1, g11, g1,
           k1, mm1, p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1,
           rm} &[soln = 
        Quiet@Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, 
           mm1, p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, 
           rm}, {species10, species20, species30}, tmax]]]}], {t, 0, 
    Min[tmax, Min[#[[1, 1, 2]] & /@ soln]]}, 
   AxesLabel -> 
    TraditionalForm /@ {t, {Style[e1, col1], Style[e2, col2], 
       Style[e3, col3]}}, PlotRange -> All, AxesOrigin -> {0, 0}, 
   PlotStyle -> {col1, col2, col3}, ImageSize -> {500, 500}, 
   ImagePadding -> {{40, 10}, {10, 25}}]], {{b1, 1, "b1"}, 0, 2, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{a11, 1, "a11"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{f11, 1, "f11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{f1, 1, "f1"}, 0, 
  1, .01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{h1, 1, "h1"},
   0, 1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{g11, 1, "g11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{p1, 1, "p1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{p11, 1, "p11"}, 0.1, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{d1, 1, "d1"}, 0, 
  1, .01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{g1, 1, "g1"},
   0, 1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{k1, 1, "k1"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{mm1, 1, "mm1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{fm11, 1, "fm11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{fm1, 1, "fm1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{hm1, 1, "hm1"}, 0.1, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{gm1, 1, "gm1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{gm11, 1, "gm11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{km1, 1, "km1"}, 0, 
  1, .01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{e, 1, "e"}, 
  0, 1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{r, 1, "r"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{rm, 1, "rm"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> 
   "Labeled"}, Delimiter, "initial populations", {{species10, 1, 
   "species10"}, 0, 10, 
  ImageSize -> Tiny}, {{species20, 1, "species20"}, 0, 10, 
  ImageSize -> Tiny}, {{species30, 1, "species30"}, 0, 10, 
  ImageSize -> Tiny}, {{t, 1, "time"}, 0, 10, ImageSize -> Tiny}, 
 SaveDefinitions -> True, ControlPlacement -> Left]

Hi Bene,

The first thing that stands out to me is that you are using ReplaceAll without a a list of rules.

eigen /. {1, 2, 3}

The list needs to contain rules like

{a -> 1, b -> 2, c -> 3}

Thank you Michael,
This seems to help a little. Now I can see that Mathematica is trying to incorporate the right parameter values in the eigenvalues. The plot doesn’t work though, it says an option in Plot is expected.

Manipulate[
 Module[{soln, col1 = RGBColor[1, .47, 0], 
   col2 = ColorData["HTML", "SlateBlue"], 
   col3 = ColorData["HTML", "Black"]}, 
  Plot[Evaluate[{Re[
      eigen /. {n1 -> #[[1]], y -> #[[2]], m -> #[[3]], b1 -> b1, 
          a11 -> a11, f11 -> f11, f1 -> f1, h1 -> h1, g11 -> g11, 
          g1 -> g1, k1 -> k1, mm1 -> mm1, p1 -> p1, p11 -> p11, 
          d1 -> d1, e -> e, r -> r, fm11 -> fm11, fm1 -> fm1, 
          hm1 -> hm1, gm11 -> gm11, gm1 -> gm1, km1 -> km1, 
          rm -> rm} &[
       soln = Quiet@
         Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, mm1, p1,
            p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, 
           rm}, {species10, species20, species30}, tmax]]]}], 
   Evaluate[{Im[
      eigen /. {n1 -> #[[1]], y -> #[[2]], m -> #[[3]], b1 -> b1, 
          a11 -> a11, f11 -> f11, f1 -> f1, h1 -> h1, g11 -> g11, 
          g1 -> g1, k1 -> k1, mm1 -> mm1, p1 -> p1, p11 -> p11, 
          d1 -> d1, e -> e, r -> r, fm11 -> fm11, fm1 -> fm1, 
          hm1 -> hm1, gm11 -> gm11, gm1 -> gm1, km1 -> km1, 
          rm -> rm} &[
       soln = 
        Quiet@Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, 
           mm1, p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, 
           rm}, {species10, species20, species30}, tmax]]]}], {t, 0, 
    Min[tmax, Min[#[[1, 1, 2]] & /@ soln]]}, 
   AxesLabel -> 
    TraditionalForm /@ {t, {Style[e1, col1], Style[e2, col2], 
       Style[e3, col3]}}, PlotRange -> All, AxesOrigin -> {0, 0}, 
   PlotStyle -> {col1, col2, col3}, ImageSize -> {500, 500}, 
   ImagePadding -> {{40, 10}, {10, 25}}]], {{b1, 1, "b1"}, 0, 2, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{a11, 1, "a11"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{f11, 1, "f11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{f1, 1, "f1"}, 0, 
  1, .01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{h1, 1, "h1"},
   0, 1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{g11, 1, "g11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{p1, 1, "p1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{p11, 1, "p11"}, 0.1, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{d1, 1, "d1"}, 0, 
  1, .01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{g1, 1, "g1"},
   0, 1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{k1, 1, "k1"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{mm1, 1, "mm1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{fm11, 1, "fm11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{fm1, 1, "fm1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{hm1, 1, "hm1"}, 0.1, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{gm1, 1, "gm1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{gm11, 1, "gm11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{km1, 1, "km1"}, 0, 
  1, .01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{e, 1, "e"}, 
  0, 1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{r, 1, "r"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{rm, 1, "rm"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> 
   "Labeled"}, Delimiter, "initial populations", {{species10, 1, 
   "species10"}, 0, 10, 
  ImageSize -> Tiny}, {{species20, 1, "species20"}, 0, 10, 
  ImageSize -> Tiny}, {{species30, 1, "species30"}, 0, 10, 
  ImageSize -> Tiny}, {{t, 1, "time"}, 0, 10, ImageSize -> Tiny}, 
 SaveDefinitions -> True, ControlPlacement -> Left]

The options-expected warning came because you have the expressions to plot in the
first two argumenrts, not just the first argument. Enclosing them in curly braces ({..})
makes them one argument.

Plot[ {Evaluate[{Re[
     eigen /. {n1 -> #[[1]], y -> #[[2]], m -> #[[3]], b1 -> b1, 
         a11 -> a11, f11 -> f11, f1 -> f1, h1 -> h1, g11 -> g11, 
         g1 -> g1, k1 -> k1, mm1 -> mm1, p1 -> p1, p11 -> p11, 
         d1 -> d1, e -> e, r -> r, fm11 -> fm11, fm1 -> fm1, 
         hm1 -> hm1, gm11 -> gm11, gm1 -> gm1, km1 -> km1, 
         rm -> rm} &[
      soln = Quiet@
        Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, mm1, p1, p11, 
          d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, rm}, {species10, 
          species20, species30}, tmax]]]}], 
  Evaluate[{Im[
     eigen /. {n1 -> #[[1]], y -> #[[2]], m -> #[[3]], b1 -> b1, 
         a11 -> a11, f11 -> f11, f1 -> f1, h1 -> h1, g11 -> g11, 
         g1 -> g1, k1 -> k1, mm1 -> mm1, p1 -> p1, p11 -> p11, 
         d1 -> d1, e -> e, r -> r, fm11 -> fm11, fm1 -> fm1, 
         hm1 -> hm1, gm11 -> gm11, gm1 -> gm1, km1 -> km1, 
         rm -> rm} &[
      soln = Quiet@
        Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, mm1, p1, p11, 
          d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, rm}, {species10, 
          species20, species30}, tmax]]]}]}, {t, 0, 
  Min[tmax, Min[#[[1, 1, 2]] & /@ soln]]}

There is a problem with the

Min[tmax, Min[#[[1, 1, 2]] & /@ soln]] 

I think (haven’t investigated deeply) that tmax does not have a value yet when the Plot is starting.

Thank you Bruce!

I got it to work but then it was plotting each values (imaginary and real parts of the three eigenvalues) over time. Which is interesting but not what I meant to do exactly.. I was thinking just plotting the imaginary and real parts at a given time for a given set of parameters. I rectified the code using a ListPlot instead. It seems to work except that it does not plot anything!!! Somtimes, I get a message saying the input value lies outside the range of data and the plot remains empty. I am not really sure why it is not plotting any values.
Do you have any idea?

Manipulate[
 Module[{soln, col1 = RGBColor[1, .47, 0], 
   col2 = ColorData["HTML", "SlateBlue"], 
   col3 = ColorData["HTML", "Black"]}, 
  ListPlot[{{Evaluate[{Re[
         eigen /. {n1 -> #[[1]][t], y -> #[[2]][t], m -> #[[3]][t], 
             b1 -> b1, a11 -> a11, f11 -> f11, f1 -> f1, h1 -> h1, 
             g11 -> g11, g1 -> g1, k1 -> k1, mm1 -> mm1, p1 -> p1, 
             p11 -> p11, d1 -> d1, e -> e, r -> r, fm11 -> fm11, 
             fm1 -> fm1, hm1 -> hm1, gm11 -> gm11, gm1 -> gm1, 
             km1 -> km1, rm -> rm} &[
          soln = Quiet@
            Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, mm1, 
              p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, 
              rm}, {n10, m0, y0}, t]]]}][1], 
     Evaluate[{Im[
         eigen /. {n1 -> #[[1]][t], y -> #[[2]][t], m -> #[[3]][t], 
             b1 -> b1, a11 -> a11, f11 -> f11, f1 -> f1, h1 -> h1, 
             g11 -> g11, g1 -> g1, k1 -> k1, mm1 -> mm1, p1 -> p1, 
             p11 -> p11, d1 -> d1, e -> e, r -> r, fm11 -> fm11, 
             fm1 -> fm1, hm1 -> hm1, gm11 -> gm11, gm1 -> gm1, 
             km1 -> km1, rm -> rm} &[
          
          soln = Quiet@
            Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, mm1, 
              p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, 
              rm}, {n10, m0, y0}, t]]]}][
      1]}, {Evaluate[{Re[
         eigen /. {n1 -> #[[1]][t], y -> #[[2]][t], m -> #[[3]][t], 
             b1 -> b1, a11 -> a11, f11 -> f11, f1 -> f1, h1 -> h1, 
             g11 -> g11, g1 -> g1, k1 -> k1, mm1 -> mm1, p1 -> p1, 
             p11 -> p11, d1 -> d1, e -> e, r -> r, fm11 -> fm11, 
             fm1 -> fm1, hm1 -> hm1, gm11 -> gm11, gm1 -> gm1, 
             km1 -> km1, rm -> rm} &[
          soln = Quiet@
            Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, mm1, 
              p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, 
              rm}, {n10, m0, y0}, t]]]}][2], 
     Evaluate[{Im[
         eigen /. {n1 -> #[[1]][t], y -> #[[2]][t], m -> #[[3]][t], 
             b1 -> b1, a11 -> a11, f11 -> f11, f1 -> f1, h1 -> h1, 
             g11 -> g11, g1 -> g1, k1 -> k1, mm1 -> mm1, p1 -> p1, 
             p11 -> p11, d1 -> d1, e -> e, r -> r, fm11 -> fm11, 
             fm1 -> fm1, hm1 -> hm1, gm11 -> gm11, gm1 -> gm1, 
             km1 -> km1, rm -> rm} &[
          soln = Quiet@
            Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, mm1, 
              p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, 
              rm}, {n10, m0, y0}, t]]]}][
      2]}, {Evaluate[{Re[
         eigen /. {n1 -> #[[1]][t], y -> #[[2]][t], m -> #[[3]][t], 
             b1 -> b1, a11 -> a11, f11 -> f11, f1 -> f1, h1 -> h1, 
             g11 -> g11, g1 -> g1, k1 -> k1, mm1 -> mm1, p1 -> p1, 
             p11 -> p11, d1 -> d1, e -> e, r -> r, fm11 -> fm11, 
             fm1 -> fm1, hm1 -> hm1, gm11 -> gm11, gm1 -> gm1, 
             km1 -> km1, rm -> rm} &[
          soln = Quiet@
            Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, mm1, 
              p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, 
              rm}, {n10, m0, y0}, t]]]}][3], 
     Evaluate[{Im[
         eigen /. {n1 -> #[[1]][t], y -> #[[2]][t], m -> #[[3]][t], 
             b1 -> b1, a11 -> a11, f11 -> f11, f1 -> f1, h1 -> h1, 
             g11 -> g11, g1 -> g1, k1 -> k1, mm1 -> mm1, p1 -> p1, 
             p11 -> p11, d1 -> d1, e -> e, r -> r, fm11 -> fm11, 
             fm1 -> fm1, hm1 -> hm1, gm11 -> gm11, gm1 -> gm1, 
             km1 -> km1, rm -> rm} &[
          soln = Quiet@
            Benesystem[{b1, a11, f11, f1, h1, g11, g1, k1, mm1, 
              p1, p11, d1, e, r, fm11, fm1, hm1, gm11, gm1, km1, 
              rm}, {n10, m0, y0}, t]]]}][3]}}, 
   AxesLabel -> 
    TraditionalForm /@ {{Style[e1, col1], Style[e2, col2], 
       Style[e3, col3]}}, PlotRange -> All, AxesOrigin -> {0, 0}, 
   PlotStyle -> {col1, col2, col3}, ImageSize -> {500, 500}, 
   ImagePadding -> {{40, 10}, {10, 25}}]], {{b1, 1, "b1"}, 0, 2, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{a11, 1, "a11"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{f11, 1, "f11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{f1, 1, "f1"}, 0, 
  1, .01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{h1, 1, "h1"},
   0, 1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{g11, 1, "g11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{p1, 1, "p1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{p11, 1, "p11"}, 0.1, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{d1, 1, "d1"}, 0, 
  1, .01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{g1, 1, "g1"},
   0, 1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{k1, 1, "k1"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{mm1, 1, "mm1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{fm11, 1, "fm11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{fm1, 1, "fm1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{hm1, 1, "hm1"}, 0.1, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{gm1, 1, "gm1"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{gm11, 1, "gm11"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{km1, 1, "km1"}, 0, 
  1, .01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{e, 1, "e"}, 
  0, 1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, {{r, 1, "r"}, 0, 1, .01, 
  ImageSize -> Tiny, Appearance -> "Labeled"}, {{rm, 1, "rm"}, 0, 
  1, .01, ImageSize -> Tiny, 
  Appearance -> "Labeled"}, Delimiter, "initial populations", {{n10, 
   1, "species10"}, 0, 10, ImageSize -> Tiny}, {{m0, 1, "species20"}, 
  0, 10, ImageSize -> Tiny}, {{y0, 1, "species30"}, 0, 10, 
  ImageSize -> Tiny}, {{t, 1000, "maximum time"}, 1, 1000, 
  ImageSize -> Tiny}, SaveDefinitions -> True, 
 ControlPlacement -> Left]