using Complex = System.Numerics.Complex;
namespace IStation.Numerics
{
///
/// This partial implementation of the SpecialFunctions class contains all methods related to the Airy functions.
///
public static partial class SpecialFunctions
{
///
/// Returns the Airy function Ai.
/// AiryAi(z) is a solution to the Airy equation, y'' - y * z = 0.
///
/// The value to compute the Airy function of.
/// The Airy function Ai.
public static Complex AiryAi(Complex z)
{
return Amos.Cairy(z);
}
///
/// Returns the exponentially scaled Airy function Ai.
/// ScaledAiryAi(z) is given by Exp(zta) * AiryAi(z), where zta = (2/3) * z * Sqrt(z).
///
/// The value to compute the Airy function of.
/// The exponentially scaled Airy function Ai.
public static Complex AiryAiScaled(Complex z)
{
return Amos.ScaledCairy(z);
}
///
/// Returns the Airy function Ai.
/// AiryAi(z) is a solution to the Airy equation, y'' - y * z = 0.
///
/// The value to compute the Airy function of.
/// The Airy function Ai.
public static double AiryAi(double z)
{
return AiryAi(new Complex(z, 0)).Real;
}
///
/// Returns the exponentially scaled Airy function Ai.
/// ScaledAiryAi(z) is given by Exp(zta) * AiryAi(z), where zta = (2/3) * z * Sqrt(z).
///
/// The value to compute the Airy function of.
/// The exponentially scaled Airy function Ai.
public static double AiryAiScaled(double z)
{
return Amos.ScaledCairy(z);
}
///
/// Returns the derivative of the Airy function Ai.
/// AiryAiPrime(z) is defined as d/dz AiryAi(z).
///
/// The value to compute the derivative of the Airy function of.
/// The derivative of the Airy function Ai.
public static Complex AiryAiPrime(Complex z)
{
return Amos.CairyPrime(z);
}
///
/// Returns the exponentially scaled derivative of Airy function Ai
/// ScaledAiryAiPrime(z) is given by Exp(zta) * AiryAiPrime(z), where zta = (2/3) * z * Sqrt(z).
///
/// The value to compute the derivative of the Airy function of.
/// The exponentially scaled derivative of Airy function Ai.
public static Complex AiryAiPrimeScaled(Complex z)
{
return Amos.ScaledCairyPrime(z);
}
///
/// Returns the derivative of the Airy function Ai.
/// AiryAiPrime(z) is defined as d/dz AiryAi(z).
///
/// The value to compute the derivative of the Airy function of.
/// The derivative of the Airy function Ai.
public static double AiryAiPrime(double z)
{
return AiryAiPrime(new Complex(z, 0)).Real;
}
///
/// Returns the exponentially scaled derivative of the Airy function Ai.
/// ScaledAiryAiPrime(z) is given by Exp(zta) * AiryAiPrime(z), where zta = (2/3) * z * Sqrt(z).
///
/// The value to compute the derivative of the Airy function of.
/// The exponentially scaled derivative of the Airy function Ai.
public static double AiryAiPrimeScaled(double z)
{
return Amos.ScaledCairyPrime(z);
}
///
/// Returns the Airy function Bi.
/// AiryBi(z) is a solution to the Airy equation, y'' - y * z = 0.
///
/// The value to compute the Airy function of.
/// The Airy function Bi.
public static Complex AiryBi(Complex z)
{
return Amos.Cbiry(z);
}
///
/// Returns the exponentially scaled Airy function Bi.
/// ScaledAiryBi(z) is given by Exp(-Abs(zta.Real)) * AiryBi(z) where zta = (2 / 3) * z * Sqrt(z).
///
/// The value to compute the Airy function of.
/// The exponentially scaled Airy function Bi(z).
public static Complex AiryBiScaled(Complex z)
{
return Amos.ScaledCbiry(z);
}
///
/// Returns the Airy function Bi.
/// AiryBi(z) is a solution to the Airy equation, y'' - y * z = 0.
///
/// The value to compute the Airy function of.
/// The Airy function Bi.
public static double AiryBi(double z)
{
return AiryBi(new Complex(z, 0)).Real;
}
///
/// Returns the exponentially scaled Airy function Bi.
/// ScaledAiryBi(z) is given by Exp(-Abs(zta.Real)) * AiryBi(z) where zta = (2 / 3) * z * Sqrt(z).
///
/// The value to compute the Airy function of.
/// The exponentially scaled Airy function Bi.
public static double AiryBiScaled(double z)
{
return AiryBiScaled(new Complex(z, 0)).Real;
}
///
/// Returns the derivative of the Airy function Bi.
/// AiryBiPrime(z) is defined as d/dz AiryBi(z).
///
/// The value to compute the derivative of the Airy function of.
/// The derivative of the Airy function Bi.
public static Complex AiryBiPrime(Complex z)
{
return Amos.CbiryPrime(z);
}
///
/// Returns the exponentially scaled derivative of the Airy function Bi.
/// ScaledAiryBiPrime(z) is given by Exp(-Abs(zta.Real)) * AiryBiPrime(z) where zta = (2 / 3) * z * Sqrt(z).
///
/// The value to compute the derivative of the Airy function of.
/// The exponentially scaled derivative of the Airy function Bi.
public static Complex AiryBiPrimeScaled(Complex z)
{
return Amos.ScaledCbiryPrime(z);
}
///
/// Returns the derivative of the Airy function Bi.
/// AiryBiPrime(z) is defined as d/dz AiryBi(z).
///
/// The value to compute the derivative of the Airy function of.
/// The derivative of the Airy function Bi.
public static double AiryBiPrime(double z)
{
return AiryBiPrime(new Complex(z, 0)).Real;
}
///
/// Returns the exponentially scaled derivative of the Airy function Bi.
/// ScaledAiryBiPrime(z) is given by Exp(-Abs(zta.Real)) * AiryBiPrime(z) where zta = (2 / 3) * z * Sqrt(z).
///
/// The value to compute the derivative of the Airy function of.
/// The exponentially scaled derivative of the Airy function Bi.
public static double AiryBiPrimeScaled(double z)
{
return AiryBiPrimeScaled(new Complex(z, 0)).Real;
}
}
}