# Implementing AiryAiPrimeZero function

There are some functions implemented in the Wolfram Language related to Airy functions. For example, AiryAi, AiryAiZero or AiryAiPrime, etc.

How do I implement the AiryAiPrimeZero and AiryBiPrimeZero functions?

I've only found this website related to the problem. This question is kind of related to my previous question.

Using the expressions derived in this paper, we have the following:

SetAttributes[aiPrimeZero, Listable];
aiPrimeZero[s_Integer, prec_: MachinePrecision] := With[{t = N[3 π (4 s - 3)/8, prec]},
FixedPoint[# - AiryAiPrime[#]/(# AiryAi[#]) &,
-t^(2/3) Fold[#1/t^2 + #2 &,
{18683371/1244160, -181223/207360, 35/288, -7/48, 1}]]]

SetAttributes[biPrimeZero, Listable];
biPrimeZero[s_Integer, prec_: MachinePrecision] := With[{t = N[3 π (4 s - 1)/8, prec]},
FixedPoint[# - AiryBiPrime[#]/(# AiryBi[#]) &,
-t^(2/3) Fold[#1/t^2 + #2 &,
{18683371/1244160, -181223/207360, 35/288, -7/48, 1}]]]


Using biPrimeZero[] as an example,

biPrimeZero[Range[10], 20]
{-2.2944396826141232466, -4.0731550890718282156, -5.5123957296635994963,
-6.7812944459903053900, -7.9401786891685789267, -9.0195833587942390674,
-10.0376963349085458018, -11.0064626677122899404, -11.934261645014844663,
-12.827258309177217640}


With aiPrimeZero[], aiPrimeZero[1] unfortunately does not return a result close to the actual first root of AiryAiPrime[]; the other roots, however, do well:

aiPrimeZero[Range[2, 10], 20]
{-3.2481975821798365379, -4.8200992111787356394, -6.1633073556394865476,
-7.3721772550477701771, -8.4884867340197221329, -9.5354490524335474707,
-10.5276603969574072820, -11.4750566334802452949, -12.384788371845747325}