Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

The derivative of an answer at a large hyperbolic argument evaluates to NaN or loses its imaginary part

Đang mở
#1,944 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
43/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
csharp
Lĩnh vực
backend

Hướng nghiên cứu

Start by reproducing the derivative evaluation with the exact parameters and x from the issue, comparing it with the integrand at 50, 300, and 2000 digits. Trace the derivative evaluation path and identify which subexpression causes NaN or loses the imaginary component; the issue does not name a file or test. Done means the derivative agrees with the integrand at the reported large argument and at x = 2 across those precisions.

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

Mô tả

Found while checking Rubi 6.1.5, row 94 (1/sqrt(a + i a sinh(c + d x))) for 2.6.0. The answer is right. The library's own numerical evaluation of its derivative is not, at large arguments.

With a, c, d = 21/10, 19/10, 17/10 and x = 227283/1250 (so t = c + d x ≈ 311), the true value of the derivative is r(1 − i) with r ≈ 2.0185e-68. That is what mpmath gives at dps 400, and what the library gives when it evaluates the integrand itself.

The derivative of the answer, Differentiate(x) then substituted with exact rationals and evaluated, gives:

digits value
50 NaN
300 1.5329…, which is wrong in magnitude too
2000 2.0185…e-68: the real part is right and the imaginary part −2.0185…e-68 i is missing

The relative difference at 2000 digits is exactly −1/2 + i/2. At x = 2 all three precisions agree with the integrand to the last digit.

The derivative holds e^(±t/2) and e^(±t) beside a + i a sinh(t), so large cancellations are expected. Losing a whole component at 2000 digits is not explained by that, though, and NaN at 50 digits should have been "could not evaluate". I have not narrowed it to a single subexpression.

Because of this, the Rubi harness reports this row as wrong, and anything that checks an answer by evaluating would do the same.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Ngôn ngữ chính
C#
Star
831
Fork
79
Merge trung bình
1 giờ 27 phút
Pull request đã merge (30 ngày)
522

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ASC-Community/AngouriMath

Tất cả issue của ASC-Community/AngouriMath

Issue tương tự

Thêm issue về C#

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.