Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#1,944 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
43/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
csharp
Área
backend

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
C#
Estrellas
831
Forks
79
Merge medio
1 h 12 min
PR fusionados (30 d)
467

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ASC-Community/AngouriMath

Todos los issues de ASC-Community/AngouriMath

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.