Message Boards Message Boards

GROUPS:

Solve the transcendental complex equation with Mathematica?

Posted 10 months ago
1424 Views
|
5 Replies
|
2 Total Likes
|

I am dealing with a function / equation of a particular physical system and I want to find the En value of that equation. The equation is a transcendental complex equation whose expression is given by

T=(exp(0.04*i*q)/16*A^2*B*G)*(((A+G)^2*((A+B)^2*exp(2*i*(-0.01*k-0.01*p))-(A-B)^2*exp(-2*i*(-0.01*k-0.01*p))))+((A-G)^2*((A-B)^2*exp(-2*i*(-0.01*k+0.01*p))-(A+B)^2*exp(2*i*(-0.01*k+0.01*p))))+2*(A^2-B^2)*(A^2-G^2)*(exp(0.02*i*p)-exp(-0.02*i*p)))

with value of variable

m=h=1
c=137.036
Va=0
Vb=50000
p=(sqrt((En+m*c^2-Va)*(En-m*c^2-Va)))/(h*c)
q=(sqrt((En+m*c^2-Vb)*(En-m*c^2-Vb)))/(h*c)
k=(sqrt(En^2+m^2*c^4))/(h*c)
A=h*c*k/(En+m*c^2)
B=h*c*p/(En+m*c^2-Vb)
G=h*c*q/(En+m*c^2-Va)

In clearer form, the above equation looks like the following picture

enter image description here

where a=0.01 and b=0.02.

I tried to solve it using the formula Solve, NSolve, and also FindRoot. However, when using Solve and NSolve, the result is only the substitution of the known values into the equation, not the En value. And, when I try to finish using the FindRoot formula, the results are as below

enter image description here

The 35000 number that I wrote in the FindRoot formula is a random number that I chose and the results are as shown in the picture.

Did I take the right steps? I think it's still wrong. I don't know and I am confused about what formula to use and how the steps should be. So, I would really appreciate if someone could give me a hint on how to get these solutions for En from the transcendental complex equation.

Thank you in advance.

5 Replies
Posted 10 months ago

Thank you for the information on hc and i.

m=h=1;
c=137.036;
Va=0;
Vb=50000;
hc=h*c;i=Sqrt[-1];
p=Sqrt[(En+m*c^2-Va)*(En-m*c^2-Va)]/hc;
q=Sqrt[(En+m*c^2-Vb)*(En-m*c^2-Vb)]/hc;
k=Sqrt[En^2+m^2*c^4]/hc;
A=h*c*k/(En+m*c^2);
B=h*c*p/(En+m*c^2-Vb);
G=h*c*q/(En+m*c^2-Va);
T=(Exp[0.04*i*q]/16*A^2*B*G)*(((A+G)^2*((A+B)^2*Exp[2*i*(-0.01*k-0.01*p)]-(A-B)^2*Exp[-2*i*(-0.01*k-0.01*p)]))+((A-G)^2*((A-B)^2*Exp[-2*i*(-0.01*k+0.01*p)]-(A+B)^2*Exp[2*i*(-0.01*k+0.01*p)]))+2*(A^2-B^2)*(A^2-G^2)*(Exp[0.02*i*p]-Exp[-0.02*i*p]));
Plot[ReIm[T],{En,18700,18800}]
NMinimize[Abs[Re[T]]+Abs[Im[T]],En]
FindRoot[T,{En,18779}]

which seems to find a root very near 18779

Is that what you are looking for?

Posted 10 months ago

Yes, i=sqrt(-1), h = 1, and c=137.036. So, hc = h*c.

Posted 10 months ago

Where do the numbers 18700 and 18800 come from ?

Posted 10 months ago

You wrote you randomly tried 35000. So I plotted from 0 to 100000. And I saw what looked like might be a root around 20000. So I plotted a smaller range and a smaller range and each time it looked like there was a root until I got down to plotting between 18700 and 18800

You can find some easy solutions by factoring T:

m = h = 1;
c = Rationalize[137.036];
Va = 0; Vb = 50000;
hc = h*c; i = Sqrt[-1];
p = Sqrt[(En + m*c^2 - Va)*(En - m*c^2 - Va)]/hc;
q = Sqrt[(En + m*c^2 - Vb)*(En - m*c^2 - Vb)]/hc;
k = Sqrt[En^2 + m^2*c^4]/hc;
A = h*c*k/(En + m*c^2);
B = h*c*p/(En + m*c^2 - Vb);
G = h*c*q/(En + m*c^2 - Va);
T = Simplify[(Exp[0.04*i*q]/16*A^2*B*
       G)*(((A + G)^2*((A + B)^2*
            Exp[2*i*(-0.01*k - 0.01*p)] - (A - B)^2*
            Exp[-2*i*(-0.01*k - 0.01*p)])) + ((A - G)^2*((A - B)^2*
            Exp[-2*i*(-0.01*k + 0.01*p)] - (A + B)^2*
            Exp[2*i*(-0.01*k + 0.01*p)])) + 
       2*(A^2 - B^2)*(A^2 - G^2)*(Exp[0.02*i*p] - Exp[-0.02*i*p])) // 
    Rationalize];
Head[T]
Map[Solve[# == 0] &, 
 Most[List @@ (Numerator[T])]]
% // N

Some of these solutions must be rejected because they make the denominator vanish too. Further complex solutions arise from the last, more complicated factor of Numerator[T]:

Reduce[Last[Numerator[T]] == 0 && Abs[En - 20000] < 20000, En]
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract