blob: 7b8865f130b77a8227567492ec8ae1c96339bbd2 [file] [log] [blame]
 // Copyright ©2016 The Gonum Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package mathext import "gonum.org/v1/gonum/mathext/internal/amos" // AiryAi returns the value of the Airy function at z. The Airy function here, // Ai(z), is one of the two linearly independent solutions to // y'' - y*z = 0. // See http://mathworld.wolfram.com/AiryFunctions.html for more detailed information. func AiryAi(z complex128) complex128 { // id specifies the order of the derivative to compute, // 0 for the function itself and 1 for the derivative. // kode specifies the scaling option. See the function // documentation for the exact behavior. id := 0 kode := 1 air, aii, _, _ := amos.Zairy(real(z), imag(z), id, kode) return complex(air, aii) } // AiryAiDeriv returns the value of the derivative of the Airy function at z. The // Airy function here, Ai(z), is one of the two linearly independent solutions to // y'' - y*z = 0. // See http://mathworld.wolfram.com/AiryFunctions.html for more detailed information. func AiryAiDeriv(z complex128) complex128 { // id specifies the order of the derivative to compute, // 0 for the function itself and 1 for the derivative. // kode specifies the scaling option. See the function // documentation for the exact behavior. id := 1 kode := 1 air, aii, _, _ := amos.Zairy(real(z), imag(z), id, kode) return complex(air, aii) }