stdlib-js / stdlib-js/stdlib

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

Đang mở
#6,962 11 bình luận 0 reaction 0 người được giao Xem trên GitHub
Accepted difficulty: 3 Feature Math priority: Normal RFC
Ngôn ngữ chính
JavaScript
Star
6k
Fork
1.3k
Merge trung bình
1 ngày 3 giờ
Pull request đã merge (30 ngày)
611

Mô tả

### 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:`.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript
Lĩnh vực
data
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.