norm() on a zero vector with non-zero partials gives nan value for v1.3.1+
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 52/100
Línea de trabajo
Ejecuta el reproductor de casos de Julia proporcionado con ForwardDiff, StaticArrays y LinearAlgebra en v1.3.0 y v1.3.1+. Rastrea la ruta de norma de LinearAlgebra para ForwardDiff.Dual y compárala con la expresión manual de sqrt; se considera terminado cuando se explique la discrepancia y se identifique qué resultado para el vector cero es el previsto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I noticed a change in behavior when upgrading from v1.3.0 to v1.3.1+. It seems that when taking the norm of a zero vector of duals, sometimes a NaN value for the norm gets produced. Interestingly, using LinearAlgebra does this but taking the norm manually bypasses the issue.
using ForwardDiff
using StaticArrays
using LinearAlgebra
v = SA[ForwardDiff.Dual(0.0, 1.0), ForwardDiff.Dual(0.0, 1.0), ForwardDiff.Dual(0.0, 1.0)]
norm_v = norm(v)
norm_v_manual = sqrt(v[1]^2 + v[2]^2 + v[3]^2)
println(norm_v)
println(norm_v_manual)
In v1.3.0, norm_v and norm_v_manual are the same, but in v1.3.1+, norm_v becomes Dual(NaN,NaN)
What's the reason for this inconsistency? And which result is intended to be correct?
Happy to do more testing!
- Lenguaje dominante
- Julia
- Estrellas
- 1k
- Forks
- 162
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JuliaDiff/ForwardDiff.jl
-
missing floatmin, floatmax, and issubnormal for DualPosiblemente ocupada @devmotion la tomó hace 16 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
JuliaDiff/ForwardDiff.jl#852 · 6 comentarios ·
-
`fma` and `muladd` ignore NaN-safe modePosiblemente ocupada @devmotion la tomó hace 2 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
JuliaDiff/ForwardDiff.jl#860 ·
-
Enable NaN-safe mode by defaultPosiblemente ocupada @devmotion la tomó hace 3 días. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
JuliaDiff/ForwardDiff.jl#857 · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
JuliaDiff/ForwardDiff.jl#854 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 75/100
JuliaDiff/ForwardDiff.jl#849 ·
Todos los issues de JuliaDiff/ForwardDiff.jl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
JuliaGPU/KernelAbstractions.jl#897 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
oscar-system/GAP.jl#1455 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
JuliaAI/MLJTransforms.jl#85 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
SciML/OrdinaryDiffEq.jl#4875 ·
Los mantenedores suelen responder en 4 días