stdlib-js / stdlib-js/stdlib

[RFC]: add `airy` to compute Airy functions

Abierto
#6,962 11 comentarios 0 reacciones 0 asignados Ver en GitHub
Accepted difficulty: 3 Feature Math priority: Normal RFC
Lenguaje dominante
JavaScript
Estrellas
6k
Forks
1.3k
Merge medio
1 d 3 h
PR fusionados (30 d)
611

Descripción

### Description

Airy functions are a common special function in scientific applications, particularly wave phenomena. This RFC proposes to add a single package to compute for real-valued inputs the Airy function of the first kind, Ai(x), the second kind, Bi(x), and respective derivatives, Ai'(x) and Bi'(x).

The four outputs share a lot of computation, so for similar reasons and in the style of [@stdlib/math/base/special/ellipj](https://github.com/stdlib-js/math/blob/11642395f18340deb36d03737d63e2d3da9e02b1/base/special/ellipj/lib/index.js#L58-L62), perhaps the structure that makes sense is a single package, `airy` with exports:

```
airy(x) // [ Ai(x), Ai'(x), Bi(x), Bi'(x) ]
airy.ai( x ) // Ai(x)
airy.aip( x ) // Ai'(x)
airy.bi( x ) // Bi(x)
airy.bip( x ) // Bi'(x)
airy.assign( x, out, stride, offset )
```

Exports `ai`, `aip`, `bi`, and `bip` would be convenience functions that compute all four values and throw away three.

### Related Issues

_No response_

### Questions

No.

### Other

See also:

[scipy.special.airy](https://docs.scipy.org/doc/scipy/reference/generated/scipy.special.airy.html)
[cephes airy](https://github.com/jeremybarnes/cephes/blob/60f27df395b8322c2da22c83751a2366b82d50d1/bessel/airy.c#L838-L965)

### Checklist

- [x] I have read and understood the [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
- [x] Searched for existing issues and pull requests.
- [x] The issue name begins with `RFC:`.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.