# 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 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 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. Answer
5 Replies
Sort By:
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 18779Is that what you are looking for? Answer
Posted 10 months ago
 Yes, i=sqrt(-1), h = 1, and c=137.036. So, hc = h*c. Answer
Posted 10 months ago
 Where do the numbers 18700 and 18800 come from ? Answer
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 Answer
Posted 10 months ago
 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] Answer