Group Abstract Group Abstract

Message Boards Message Boards

0
|
6.9K Views
|
7 Replies
|
2 Total Likes
View groups...
Share
Share this post:

Find the value of b for which one of the eigenvalues crosses the imaginary?

Dear members,

I have a Matrix that that depends on a parameter "b"

A={{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0}, {0, 0, 0, 0, 0, 0, -2 \[Pi], 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
   0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, -4 \[Pi], 0, 0, 0, 0, 0, 1, 0, 0, 
  0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, -6 \[Pi], 0, 0, 0, 0, 0,
   1, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, -8 \[Pi], 0, 
  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, -10 \[Pi], 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 2 \[Pi], 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 
  4 \[Pi], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 
  0}, {0, 0, 0, 6 \[Pi], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  1, 0, 0}, {0, 0, 0, 0, 8 \[Pi], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 10 \[Pi], 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 1}, {-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.1, 0, 
  0, 0, 0, 0, -(b/2), 0, 0, 0, 0}, {0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, -0.1, 0, 0, 0, 0, -2 \[Pi], -(b/2), 0, 0, 0}, {0, 0, -1, 0, 0, 0,
   0, 0, 0, 0, 0, 0, 0, -0.1, 0, 0, 0, b/2, -4 \[Pi], -(b/2), 0, 
  0}, {0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.1, 0, 0, 0, b/
  2, -6 \[Pi], -(b/2), 0}, {0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   0, -0.1, 0, 0, 0, b/2, -8 \[Pi], -(b/2)}, {0, 0, 0, 0, 0, -1, 0, 0,
   0, 0, 0, 0, 0, 0, 0, 0, -0.1, 0, 0, 0, b/2, -10 \[Pi]}, {0, 0, 0, 
  0, 0, 0, -1, 0, 0, 0, 0, -b, 2 \[Pi], b/2, 0, 0, 0, -0.1, 0, 0, 0, 
  0}, {0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -(b/2), 4 \[Pi], b/2, 0, 
  0, 0, -0.1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 
  0, -(b/2), 6 \[Pi], b/2, 0, 0, 0, -0.1, 0, 0}, {0, 0, 0, 0, 0, 0, 0,
   0, 0, -1, 0, 0, 0, 0, -(b/2), 8 \[Pi], b/2, 0, 0, 0, -0.1, 0}, {0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -(b/2), 10 \[Pi], 0, 0, 
  0, 0, -0.1}}

To find the value of b for which one of the eigenvalues crosses the imaginary I am doing this

FindRoot[Max[Re[Eigenvalues[A]]] == 0, {b, 1}]

varies errors rise when executing FindRoot. For intance, "Unable to find all roots of the characteristic polynomial" It seem to me that FindRoot does not take "b" as a variable. Am I using FindRoot correctly?

Thanks for any help you can provide.

Jesús

7 Replies
POSTED BY: Daniel Lichtblau
POSTED BY: Daniel Lichtblau

Hi again

Where can I find more about the procedure you used in your answer?. Some of the values of b you have found are very accurate.

I could not figure out if the values in between are all stable or unstable.

Best regards

Jesus

Daniel,

I am trying to determine the transition curves, i.e. the lines that separate unstable from stable regions in space parameters, so yes it is to do with things such as bifurcations. I am going to check your interesting answer!

Thanks!

Jesus

Make the dependency explicit, please

In[31]:= Clear[A]
A[b_?NumericQ] := 
  N[{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0}, {0, 0, 0, 0, 0, 0, -2 \[Pi], 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
      0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, -4 \[Pi], 0, 0, 0, 0, 0, 1, 
     0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, -6 \[Pi], 0, 0,
      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 
     0, -8 \[Pi], 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, -10 \[Pi], 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 
     2 \[Pi], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
      0}, {0, 0, 4 \[Pi], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      1, 0, 0, 0}, {0, 0, 0, 6 \[Pi], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 8 \[Pi], 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 10 \[Pi], 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {-1, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, -0.1, 0, 0, 0, 0, 0, -(b/2), 0, 0, 0, 0}, {0, -1, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, -0.1, 0, 0, 0, 0, -2 \[Pi], -(b/2), 
     0, 0, 0}, {0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.1, 0, 0, 0,
      b/2, -4 \[Pi], -(b/2), 0, 0}, {0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, -0.1, 0, 0, 0, b/2, -6 \[Pi], -(b/2), 0}, {0, 0, 0, 
     0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.1, 0, 0, 0, 
     b/2, -8 \[Pi], -(b/2)}, {0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, -0.1, 0, 0, 0, b/2, -10 \[Pi]}, {0, 0, 0, 0, 0, 0, -1, 
     0, 0, 0, 0, -b, 2 \[Pi], b/2, 0, 0, 0, -0.1, 0, 0, 0, 0}, {0, 0, 
     0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -(b/2), 4 \[Pi], b/2, 0, 0, 
     0, -0.1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 
     0, -(b/2), 6 \[Pi], b/2, 0, 0, 0, -0.1, 0, 0}, {0, 0, 0, 0, 0, 0,
      0, 0, 0, -1, 0, 0, 0, 0, -(b/2), 8 \[Pi], b/2, 0, 0, 0, -0.1, 
     0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -(b/2), 
     10 \[Pi], 0, 0, 0, 0, -0.1}}];

In[50]:= Clear[rico]
rico[x_?NumericQ] := Max[Re[Evaluate[Eigenvalues[A[y] //. y -> x]]]]

In[52]:= FindRoot[rico[q], {q, 1., .9}]
Out[52]= {q -> 6.85509}

and

Plot[rico[x], {x, -1, 9}

Shows it seems to work. With Eigenvalues[] one can have trouble in numerical functions because it can also generate symbolic results.

POSTED BY: Dent de Lion

The error msg comes from applying Eigenvalues to A.
Eigenvalues::eival: Unable to find all roots of the characteristic polynomial. It returns unevaluated.

POSTED BY: Frank Kampas
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard