[RFC]: add `airy` to compute Airy functions
- 主要语言
- JavaScript
- 星标
- 6k
- 派生
- 1.3k
- 平均合并
- 1 天 3 小时
- 30 天内合并 PR
- 611
描述
### 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:`.
贡献指南
调研方向
Start by reviewing base/special/ellipj/lib/index.js for the shared-output package structure. Compare the proposed API and real-valued behavior with scipy.special.airy and the referenced Cephes implementation. Done means a new airy package exposes airy, ai, aip, bi, bip, and assign for the four Airy values and their derivatives.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript
- 领域
- data
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100