Question: Maple having a hard time calculating Heun functions

phasem.mw

 

a := (I*k-2)*(1/2); 1; b := (I*k-1)*(1/2); 1; g := 1/2; 1; d := I*k+1; 1; e := -2; 1; z := (1+s)/(1-s); 1; q := (-k^2+I*k-6)*(1+s)/(4*(1-s))

(-k^2+I*k-6)*(1+s)/(4-4*s)

(1)

Digits := 32

32

(2)

with(VectorCalculus):

with(LinearAlgebra):

s := 1/2

1/2

(3)

yg := HeunG(z, q, a, b, g, d, t)

HeunG((1+s)/(1-s), (-k^2+I*k-6)*(1+s)/(4-4*s), ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, 1/2, I*k+1, t)

(4)

y1 := HeunG(VectorCalculus:-`+`(1, VectorCalculus:-`-`(z)), VectorCalculus:-`+`(VectorCalculus:-`-`(q), VectorCalculus:-`*`(a, b)), a, b, d, g, VectorCalculus:-`+`(1, VectorCalculus:-`-`(t)))

HeunG(1-(1+s)/(1-s), -(-k^2+I*k-6)*(1+s)/(4-4*s)+(((1/2)*I)*k-1)*(((1/2)*I)*k-1/2), ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1-t)

(5)

wg12 := eval(Determinant(Wronskian([yg, y1], t)), [s = 1/2, t = 1/2])

-HeunG(3, -(3/4)*k^2+((3/4)*I)*k-9/2, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, 1/2, I*k+1, 1/2)*HeunGPrime(-2, -((3/2)*I)*k+(1/2)*k^2+5, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)-HeunG(-2, -((3/2)*I)*k+(1/2)*k^2+5, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)*HeunGPrime(3, -(3/4)*k^2+((3/4)*I)*k-9/2, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, 1/2, I*k+1, 1/2)

(6)

wg110 := eval(Determinant(Wronskian([yg, y1], t)), [s = 1/10, t = 1/2])

-HeunG(11/9, -(11/36)*k^2+((11/36)*I)*k-11/6, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, 1/2, I*k+1, 1/2)*HeunGPrime(-2/9, -((19/18)*I)*k+(1/18)*k^2+7/3, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)-HeunG(-2/9, -((19/18)*I)*k+(1/18)*k^2+7/3, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)*HeunGPrime(11/9, -(11/36)*k^2+((11/36)*I)*k-11/6, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, 1/2, I*k+1, 1/2)

(7)

deltag12 := argument(VectorCalculus:-`*`(2^VectorCalculus:-`-`(VectorCalculus:-`*`(VectorCalculus:-`*`(2, I), k)), wg12))

argument(2^(-(2*I)*k)*(-HeunG(3, -(3/4)*k^2+((3/4)*I)*k-9/2, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, 1/2, I*k+1, 1/2)*HeunGPrime(-2, -((3/2)*I)*k+(1/2)*k^2+5, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)-HeunG(-2, -((3/2)*I)*k+(1/2)*k^2+5, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)*HeunGPrime(3, -(3/4)*k^2+((3/4)*I)*k-9/2, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, 1/2, I*k+1, 1/2)))

(8)

deltag110 := argument(VectorCalculus:-`*`(2^VectorCalculus:-`-`(VectorCalculus:-`*`(VectorCalculus:-`*`(2, I), k)), wg110))

argument(2^(-(2*I)*k)*(-HeunG(11/9, -(11/36)*k^2+((11/36)*I)*k-11/6, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, 1/2, I*k+1, 1/2)*HeunGPrime(-2/9, -((19/18)*I)*k+(1/18)*k^2+7/3, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)-HeunG(-2/9, -((19/18)*I)*k+(1/18)*k^2+7/3, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)*HeunGPrime(11/9, -(11/36)*k^2+((11/36)*I)*k-11/6, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, 1/2, I*k+1, 1/2)))

(9)

deltag1 := VectorCalculus:-`+`(arctan(1/k), arctan(VectorCalculus:-`*`(2, 1/k)))

arctan(1/k)+arctan(2/k)

(10)

yu := VectorCalculus:-`*`(sqrt(t), HeunG(z, VectorCalculus:-`+`(q, VectorCalculus:-`-`(VectorCalculus:-`*`(VectorCalculus:-`+`(g, -1), VectorCalculus:-`+`(VectorCalculus:-`*`(d, z), e)))), VectorCalculus:-`+`(VectorCalculus:-`+`(a, VectorCalculus:-`-`(g)), 1), VectorCalculus:-`+`(VectorCalculus:-`+`(b, VectorCalculus:-`-`(g)), 1), VectorCalculus:-`+`(2, VectorCalculus:-`-`(g)), d, t))

t^(1/2)*HeunG((1+s)/(1-s), (-k^2+I*k-6)*(1+s)/(4-4*s)+(1/2)*(I*k+1)*(1+s)/(1-s)-1, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, t)

(11)

wu12 := eval(Determinant(Wronskian([yu, y1], t)), [s = 1/2, t = 1/2])

-(1/2)*(HeunG(3, ((9/4)*I)*k-(3/4)*k^2-4, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunGPrime(-2, -((3/2)*I)*k+(1/2)*k^2+5, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)+HeunGPrime(3, ((9/4)*I)*k-(3/4)*k^2-4, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunG(-2, -((3/2)*I)*k+(1/2)*k^2+5, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)+HeunG(3, ((9/4)*I)*k-(3/4)*k^2-4, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunG(-2, -((3/2)*I)*k+(1/2)*k^2+5, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2))*2^(1/2)

(12)

wu110 := eval(Determinant(Wronskian([yu, y1], t)), [s = 1/10, t = 1/2])

-(1/2)*(HeunG(11/9, ((11/12)*I)*k-(11/36)*k^2-20/9, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunGPrime(-2/9, -((19/18)*I)*k+(1/18)*k^2+7/3, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)+HeunGPrime(11/9, ((11/12)*I)*k-(11/36)*k^2-20/9, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunG(-2/9, -((19/18)*I)*k+(1/18)*k^2+7/3, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)+HeunG(11/9, ((11/12)*I)*k-(11/36)*k^2-20/9, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunG(-2/9, -((19/18)*I)*k+(1/18)*k^2+7/3, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2))*2^(1/2)

(13)

deltau12 := argument(VectorCalculus:-`*`(2^VectorCalculus:-`-`(VectorCalculus:-`*`(VectorCalculus:-`*`(2, I), k)), wu12))

argument(-2^(-(2*I)*k)*(HeunG(3, ((9/4)*I)*k-(3/4)*k^2-4, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunGPrime(-2, -((3/2)*I)*k+(1/2)*k^2+5, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)+HeunGPrime(3, ((9/4)*I)*k-(3/4)*k^2-4, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunG(-2, -((3/2)*I)*k+(1/2)*k^2+5, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)+HeunG(3, ((9/4)*I)*k-(3/4)*k^2-4, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunG(-2, -((3/2)*I)*k+(1/2)*k^2+5, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)))

(14)

deltau110 := argument(VectorCalculus:-`*`(2^VectorCalculus:-`-`(VectorCalculus:-`*`(VectorCalculus:-`*`(2, I), k)), wu110))

argument(-2^(-(2*I)*k)*(HeunG(11/9, ((11/12)*I)*k-(11/36)*k^2-20/9, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunGPrime(-2/9, -((19/18)*I)*k+(1/18)*k^2+7/3, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)+HeunGPrime(11/9, ((11/12)*I)*k-(11/36)*k^2-20/9, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunG(-2/9, -((19/18)*I)*k+(1/18)*k^2+7/3, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)+HeunG(11/9, ((11/12)*I)*k-(11/36)*k^2-20/9, ((1/2)*I)*k, ((1/2)*I)*k-1/2, 3/2, I*k+1, 1/2)*HeunG(-2/9, -((19/18)*I)*k+(1/18)*k^2+7/3, ((1/2)*I)*k-1, ((1/2)*I)*k-1/2, I*k+1, 1/2, 1/2)))

(15)

plot(deltau12, k = 0 .. 10, view = 0 .. 2*Pi)

Warning,  computation interrupted

 

evalf(eval(deltag110, k = 0))

3.1415926535897932384626433832795

(16)

``



Download phasem.mw

 

I'm wondering why maple is having such a hardtime to calculate the odd phaseshifts. (deltau)

actually I want to plot those phaseshifts which works in a decent interval for the even functions (yg -> deltag) without to much trouble.

But when changing deltag to deltau (for the functions yu) maple cant even calculate

evalf(eval(deltau12,k=0))

why doesn't this work?

Whats the problem maple has here?

Please Wait...