Transcendental Equations, Matrix (Eigenvalue problem?) (Mathematica)

1.1k Views Asked by At

I'm currently having trouble getting my head around solving this matrix (eigenvalue problem?) transcendental equation.

I have a matrix 4x4 where, $\det(M)=0$. And where ij of the matrix is a function of 4 variables, 2 of them are known where 2 are unknown, $\alpha_r$ (alphar) and $\epsilon$ (epsilon, the strain). I've set strain to a reasonable value (0.05) which leaves me one variable, alphar, to solve for. The matrix I have is below,

matrix

and the Mathematica code is (with a=alphar)

M = {{6.08259*10^22 Cosh[0.76724 a], 2.98856*10^23 Cosh[3.53664 a], -1.60097*10^21 Cosh[0.191442 a], -6.58085*10^21 Cosh[0.823236 a]}, 
     {-7.24194*10^22 Sinh[0.76724 a], 1.63044*10^24 Sinh[3.53664 a], -1.89318*10^21 Sinh[0.191442 a], 3.40266*10^22 Sinh[0.823236 a]}, 
     {2.21319*10^11 Sinh[0.76724 a], 2.21319*10^11 Sinh[3.53664 a], 1.46171*10^11 Sinh[0.191442 a], 1.46171*10^11 Sinh[0.823236 a]}, 
     {-3.57353*10^11 Cosh[0.76724 a], 1.01793*10^12 Cosh[3.53664 a], 5.59395*10^10 Cosh[0.191442 a], -1.44394*10^11 Cosh[0.823236 a]}}

I need to find the root so that $\det(M)=0$. I've tried using

FindRoot[Det[M]==0, {a,0}]

But I don't get a reasonable value (depending on initial guess ranging from 0 to anything between 5 for example) I get 0 or almost 0, I should hopefully get a value between 0.1 and 0.8 depending on initial strain value.

From similar papers on the topic it seems I should have one transcendental equation in terms of the two variables, $\alpha_r$ and $\epsilon$. Would I be right in assuming this would be the characteristic polynomial of the matrix?

Sorry for the vague post, I tried getting in as much info as possible without blabbering on!

2

There are 2 best solutions below

3
On

what you're looking for here certainly isn't the characteristic polynomial (whose roots are the values such that det(A - t Id)=0 ).

the only thing to do here is to write explicitly the determinant (or better, make the program compute it, for example using maple) and then solve numerically for alphar (I guess the equation is much too horrible for an explicit solve). good luck !

0
On

OK, just to summarize the comment thread above, let's start by importing the more general expression that you put on pastebin:

MfXNRkpc = Import["http://pastebin.com/raw.php?i=MfXNRkpc", "Text"];

And (by inspection) clean it up a little,

MfXNRkpc2 = StringReplace[StringSplit[MfXNRkpc, ";\n"], 
    {"ClearAll[\"Global`*\"]\n" -> "", "// MatrixForm" -> ";"}];

This is now safe to evaluate (if in doubt, remove the commented out bit)

ToExpression[MfXNRkpc2(*,StandardForm,Hold*)];

Now bqs is your 4x4 matrix that depends on the strain e11 that you say ranges from about 0.01 to 0.1 and ar ($\alpha_r$) that should be from 0.1 to around 0.8.

Let's define the determinate (slightly rescaled):

dbqs[e11_, ar_] = Det[10^-15 bqs];

we can check that it is symmetric in ar since
Simplify[dbqs[e11, ar] - dbqs[e11, -ar]]==0 returns True. We can also check that dbqs[e11, 0]==0. Then, if we plot it for a range of e11

Plot[Evaluate[Table[Tooltip[dbqs[e11, ar], e11], 
  {e11, .01, .1, .01}]], {ar,   0, .01}]

the plot

it looks like Det[bqs] < 0 for all $\alpha_r>0$, which is something you say should not be the case. So I suggest you must have an error somewhere... (n.b. The general form of dbqs[e11, ar] is messy, so proving it is always less than zero might be tricky...)