The built-in AppellF1 function seems generally useless. For example,

AppellF1[3/4, 1/2, 1/2, 7/4, (7 + 4 Sqrt[3]), (7 - 4 Sqrt[3])]

hangs indefinitely on my system. For the curious, this particular instance can be naturally encountered in the parameterization of minimal surfaces, for example,

\[Theta] = 38.014773989108068108 \[Pi]/180;
f = Function[z, E^(I \[Theta])/Sqrt[1 - 14 z^4 + z^8]];
g = Function[z, z];
\[Phi]k = Function[z, f[z] { 1 - g[z]^2, I (1 + g[z]^2), 2 g[z]}];
xk = Function[z, 
   Evaluate[Re[(\[Integral]\[Phi]k[w] \[DifferentialD]w)]] /. w -> z];

Many of the examples in the Wolfram documentation seem to suggest that Mathematica can deal competently with this function's asymptotes, but that contradicts my personal experience.

Mathworld mentions the following (nearly) globally convergent double contour integral:

enter image description here

which I believe should work for all complex values that aren't exactly negative real numbers, but even when specifying complex parameters and taking care to avoid any with principal argument exactly equal to pi, Mathematica still almost always hangs.

Plotting the function outside of anything but the most restrictive domains (painstakingly delineated via trial and error over the course of dozens of kernel quits) is obviously out of the question.

Is there any way to get anything resembling reasonable use out of this function, or a general way around using it?

  • $\begingroup$ ComplexPlot[ AppellF1[3/4, 1/2, 1/2, 7/4, 7 + 4 Sqrt[3], z], {z, -2 - 2*I, 2 + 2*I}]' results in approximately 10 minutes. $\endgroup$ – user64494 Feb 28 at 9:15
  • $\begingroup$ Please report this to Support. On the other hand, adapting the technique from this answer to your situation gives the approximate result 0.24965918263 + 0.55132465617 I corresponding to AppellF1[3/4, 1/2, 1/2, 7/4, 7 + 4 Sqrt[3], 7 - 4 Sqrt[3]]. (This is not an answer, because the method is not completely reliable for all argument ranges where you seem to be interested in for your gyroid.) $\endgroup$ – J. M.'s torpor Feb 28 at 9:46
  • $\begingroup$ @user64494 AppellF1[3/4, 1/2, 1/2, 7/4, (7 + 4 Sqrt[3]), (7 - 4 Sqrt[3])] is definitely within that range, and yet on my system, Mathematica simply hangs on that single function evaluation -- I let it run for over an hour before killing it. $\endgroup$ – Nickolas Feb 28 at 9:48
  • 1
    $\begingroup$ Can you specify which version of Mathematica and operating system you are using, please? $\endgroup$ – mikado Feb 28 at 9:50
  • $\begingroup$ @mikado Mathematica 12.2 on Windows 10. $\endgroup$ – Nickolas Feb 28 at 9:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.