Vortex

65 Reputation

4 Badges

6 years, 27 days

MaplePrimes Activity


These are questions asked by Vortex

Good day.

I have a problem with the numerical approximation of incomplete elliptic integrals of the first kind in the case when the argument and the modulus are complex numbers. 

Let's consider an incomplete elliptic integral of the first kind EllipticF((a+I*b)*x, c+I*d), where a,b,c,d are arbitrary real numbers and x is very large number. Here is the code:

restart;
R0 := EllipticF((a+I*b)*x, c+I*d);
with(MultiSeries, series):
R1 := series(R0, x = infinity, 2);
a := .5; b := 1.75; c := 10; d := 12.5; x := 10^6;
evalf(R0); evalf(R1);

Below you can see that answers are different

.1680611942+.2058775337*I
-0.4563467782e-1-.3592094173*I+O(1/1000000000000000000)

While the same code for an incomplete elliptic integral of the second kind gives the correct approximation:

restart;
R00 := EllipticE((a+I*b)*x, c+I*d);
R11 := series(R00, x = infinity, 2);
a := .5; b := 1.75; c := 10; d := 12.5; x := 10^6;
evalf(R00); evalf(R11);
-1.687498740*10^7+2.374999011*10^7*I
-1.687501260*10^7+2.375000989*10^7*I+O(1/1000000)

What is the difference?
 

Hello everyone

I try to solve the system of nonlinear equations, where three variables are inside of integrals, for different values of the real parameter q.

It seems that  not for all values of q the system has a solution because I substitute different q but the function fsolve does not give any numerical answer or the special message even after the long evaluation. 

Here the code:

restart;
q := 70;
k0 := 100; n := 3; r := 1.1; t := 0.1e-2; Eg := n/((n+1)^(3/2)+1)^(2/3); kF2 := (1/((n+1)^(3/2)+1))^(1/3);
R1 := int(a^2*tanh(sqrt((a^2-mu)^2+d1^2)/(2*t))/sqrt((a^2-mu)^2+d1^2), a = 0 .. k0);
R2 := int(a^2*tanh(sqrt((a^2-mu+Eg)^2+d2^2)/(2*t))/sqrt((a^2-mu+Eg)^2+d2^2), a = 0 .. k0);
R3 := int(a^2*(1-(a^2-mu)*tanh(sqrt((a^2-mu)^2+d1^2)/(2*t))/sqrt((a^2-mu)^2+d1^2)), a = 0 .. k0);
R4 := int(a^2*(1-(a^2-mu+Eg)*tanh(sqrt((a^2-mu+Eg)^2+d2^2)/(2*t))/sqrt((a^2-mu+Eg)^2+d2^2)), a = 0 .. k0);
Eq1 := evalf(k0+k0*(r-1)-(1/2)*Pi*r*kF2*q-R1);           
Eq2 := evalf(k0-(1/2)*Pi*kF2*q-R2);
Eq3 := evalf(2/3-R3-R4);
fsolve({Eq1, Eq2, Eq3}, {d1, d2, mu});

I know that this system has the solution for some values of q but why I can't get the solution or the answer using fsolve?

Thank you in advance.

 

Update. I apologize, I made some errors in expressions R2 and R4. I have corrected the question and the code. But the problem is still unresolved.

Hello.

Regarding to my previous question I'd like to speed up calculations of the expression. 

restart;
tt := -0.689609e-3; T_c := .242731; mu := .365908; k := 1;
R1 := a*tanh((a^2-mu)/(2*T_c))*ln((2*a^2+2*a*q+q^2-2*mu-(I*2)*Pi*N)/(2*a^2-2*a*q+q^2-2*mu-(I*2)*Pi*N))/q-2;
R2 := Int(R1, a = 0 .. 10000);
R3 := q*ln((-q^2-k^2+mu+I*(2*N*Pi*T_c-(2*m+1)*Pi*T_c)+k*q)/(-q^2-k^2+mu+I*(2*N*Pi*T_c-(2*m+1)*Pi*T_c)-k*q))/(k*(tt+R2));
R4 := Sum(R3, N = -100 .. 100);
m := 1;
R5 := Int(R4, q = 0.1e-2 .. 10000);
R6 := evalf(R5);

Here I have integration procedure inside the expression R3, then the summation over the integer parameter N and then finally the integration again.

Is it possible to speed up calculations of this cumbersome expression? Or actually was I correct to write this simple code?

Thank you in a advance.

Hello.

I wrote a simple code for the plot of the function:

restart;
Omega := 2*Pi*N; R0 := a*tanh((a^2-mu)/(2*T_c))*ln((2*a^2+2*a*q+q^2-2*mu-I*Omega)/(2*a^2-2*a*q+q^2-2*mu-I*Omega))/q-2;                      
T_c := 0.169064e-1; mu := .869262; N := 10;
R1 := int(R0, a = 0.1e-3 .. 100);    
R2 := evalf(abs(R1));
plot(R2, q = 0.1e-2 .. 10);

If the parameter N is not equal to zero then after near one hour calculations I got the desired plot. But for N=0 I have an error

Error, (in signum) too many levels of recursion

I searched this error on this site but I can't find anything relevant for this problem.

Thank you in advance for the help.

 

Hello everybody.

Maybe I'm so lucky but I found again the problem connected with "Kernel connection lost"; error (see one of my previous post regarding this ). But now I used Intel-based processor.

Here the simple code of my program:

restart;
R0 := exp((2*Pi*I)*n^2*z);
R1 := sum(R0, n = -infinity .. infinity);
R1 := abs(R1)^2;
R2 := exp((2*Pi*I)*(n+1/2)^2*z);
R2 := evalf(sum(R2, n = -infinity .. infinity));
R2 := abs(R2)^2;
R := evalf(sqrt(Im(d))*(R1+R2));
plot(R, k = 1 .. 10);

After this I got message from Windows 7 (64 bit) that mserver.exe has stopped and then above mentioned error with Kernel connection lost. Anybody knows what is the problem?

P.S. Maple 17 (64 bit).

1 2 3 Page 2 of 3