(01-04-2021 04:16 PM)Albert Chan Wrote: Post #10, we transform I by using substitution: y = pi/2-x, dy = -dx
We can continue substitutions: t = tan(y), dt = (1+t^2) dy
This shift integration limit from y = 0 .. pi/2, to t = 0 .. infinity
One more substitution, t = (1-u)/u, dt = (-1/u^2) du
This shift back integration limit back to finite: u = 0 .. 1
Another way is made use of symmetry.
Code:
I = ∫ f(y) dy, y = -pi/2 .. pi/2
= ∫ [f(y) + f(-y)] dy, y = 0 .. pi/2 // Fold
= ∫ g(y) dy, y = 0 .. pi/2
= ∫ [g(y) + g(pi/2-y)] dy, y = 0 .. pi/4 // Fold again
Now, let t = tan(y), dt = (1+t^2) dy
This shift integration limit from y = 0 .. pi/4, to t = 0 .. 1
Integrand looks more complicated, but it actually converge faster !
Note: t = tan(y), tan(pi/2-y) = cot(y) = 1/t
10 INPUT "K? ";K @ C=2^(-1/K) @ P=.0000000001
20 DEF FNF(T,F)=LN((.5+(T+C)^K)*(.5+(F+C)^K)/((.5+ABS(T-C)^K)*(.5+(F-C)^K)))/T
30 T=TIME
40 S1=INTEGRAL(0,C,P,FNF(IVAR,1/IVAR))/K
50 S2=INTEGRAL(C,1,P,FNF(IVAR,1/IVAR))/K
60 DISP S1;"+";S2;"=";S1+S2,TIME-T
>RUN
k? 2.021
1.88084223982 + .586558860435 = 2.46740110026 .44
>RUN
k? 1
1.47906894032 + .98833215996 = 2.46740110028 .44
>RUN
k? 2
1.87491615102 + .59248494925 = 2.46740110027 .44
>RUN
k? 3
2.08306009111 + .38434100916 = 2.46740110027 .44