Message Boards Message Boards

0
|
3551 Views
|
5 Replies
|
2 Total Likes
View groups...
Share
Share this post:

Solve the transcendental complex equation with Mathematica?

Posted 3 years ago

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.

POSTED BY: Nam Nam
5 Replies
Posted 3 years 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 BY: Bill Nelson
Posted 3 years ago

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

POSTED BY: Nam Nam

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]
POSTED BY: Gianluca Gorni
Posted 3 years ago

Where do the numbers 18700 and 18800 come from ?

POSTED BY: Nam Nam
Posted 3 years 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

POSTED BY: Bill Nelson
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