Inconsistent random numbers with some RNGs
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 32/100
Direção de pesquisa
Execute o MWE do Julia com Xoshiro, MersenneTwister, StableRNGs, arrays Float64 e arrays ForwardDiff.Dual. Em seguida, inspecione as linhas 213-242 de Random/src/normal.jl do Julia, onde a issue relata otimizações de Float64 que alteram o resultado, e determine como o comportamento divergente de randn! deve ser testado e resolvido.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
A MWE:
julia> using Random, ForwardDiff
julia> N = 8;
julia> x = Vector{ForwardDiff.Dual{Nothing,Float64,1}}(undef, N);
julia> randn!(Xoshiro(1), x);
julia> x[end].value
-0.8260207919192974
julia> x = Vector{Float64}(undef, N);
julia> randn!(Xoshiro(1), x);
julia> x[end]
0.8653808054093252
MersenneTwister breaks at N=13. StableRNGs seems fine always. This is because some result-changing optimizations done on Float64 arrays here which don't happen for Dual arrays.
I'm trying to think of what the best solution is, but in the meantime wanted to file this and maybe get some ideas as well.
- Linguagem predominante
- Julia
- Estrelas
- 1k
- Forks
- 162
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de JuliaDiff/ForwardDiff.jl
-
missing floatmin, floatmax, and issubnormal for DualTalvez já em andamento @devmotion assumiu há 16 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
JuliaDiff/ForwardDiff.jl#852 · 6 comentários ·
-
`fma` and `muladd` ignore NaN-safe modeTalvez já em andamento @devmotion assumiu há 1 dia. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
JuliaDiff/ForwardDiff.jl#860 ·
-
Enable NaN-safe mode by defaultTalvez já em andamento @devmotion assumiu há 3 dias. Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
JuliaDiff/ForwardDiff.jl#857 · 1 reação ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
JuliaDiff/ForwardDiff.jl#854 · 1 comentário ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 75/100
JuliaDiff/ForwardDiff.jl#849 ·
Todas as issues de JuliaDiff/ForwardDiff.jl
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
JuliaGPU/KernelAbstractions.jl#897 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
oscar-system/GAP.jl#1455 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
JuliaAI/MLJTransforms.jl#85 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
SciML/OrdinaryDiffEq.jl#4875 ·
Mantenedores costumam responder em até 4 dias