{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaDiffEq/ODE.jl/issues/118","repository_url":"https://api.github.com/repos/JuliaDiffEq/ODE.jl","labels_url":"https://api.github.com/repos/JuliaDiffEq/ODE.jl/issues/118/labels{/name}","comments_url":"https://api.github.com/repos/JuliaDiffEq/ODE.jl/issues/118/comments","events_url":"https://api.github.com/repos/JuliaDiffEq/ODE.jl/issues/118/events","html_url":"https://github.com/JuliaDiffEq/ODE.jl/issues/118","id":194483013,"number":118,"title":"ODE45 does not return Array-valued solutions to requested accuracy","user":{"login":"MikaelSlevinsky","id":8176037,"avatar_url":"https://avatars.githubusercontent.com/u/8176037?v=3","gravatar_id":"","url":"https://api.github.com/users/MikaelSlevinsky","html_url":"https://github.com/MikaelSlevinsky","followers_url":"https://api.github.com/users/MikaelSlevinsky/followers","following_url":"https://api.github.com/users/MikaelSlevinsky/following{/other_user}","gists_url":"https://api.github.com/users/MikaelSlevinsky/gists{/gist_id}","starred_url":"https://api.github.com/users/MikaelSlevinsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikaelSlevinsky/subscriptions","organizations_url":"https://api.github.com/users/MikaelSlevinsky/orgs","repos_url":"https://api.github.com/users/MikaelSlevinsky/repos","events_url":"https://api.github.com/users/MikaelSlevinsky/events{/privacy}","received_events_url":"https://api.github.com/users/MikaelSlevinsky/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-12-09T00:31:51Z","updated_at":"2016-12-09T17:41:16Z","closed_at":"2016-12-09T02:34:12Z","body":"Consider the IVP `y' = y` with `y(0) = 1`. Since we know `y(1) = e`, let's check `ode45`:\r\n```julia\r\njulia> using ODE\r\n\r\njulia> t, y = ode45((t, y) -> y, 1.0, 0:0.1:1; reltol=eps(), abstol=0.0)\r\n([0.0,0.000294638,0.00149288,0.00398769,0.00644932,0.00891086,0.0113735,0.0138347,0.0162958,0.0187545  …  0.978783,0.981241,0.983702,0.986162,0.988625,0.991086,0.993549,0.996013,0.998472,1.0],[1.0,1.00029,1.00149,1.004,1.00647,1.00895,1.01144,1.01393,1.01643,1.01893  …  2.66122,2.66777,2.67434,2.68093,2.68754,2.69416,2.7008,2.70747,2.71413,2.71828])\r\n\r\njulia> y[end]-e\r\n-2.220446049250313e-15\r\n\r\n```\r\n\r\nNow, the accuracy isn't exactly machine epsilon, but close enough for jazz. What if we try the same calculation with an array-valued initial value?\r\n```julia\r\njulia> t, y = ode45((t, y) -> y, [1.0], 0:0.1:1; reltol=eps(), abstol=0.0)\r\n([0.0,4.54279e-6,8.61664e-6,1.25171e-5,1.63502e-5,2.01568e-5,2.39527e-5,2.77444e-5,3.15345e-5,3.53238e-5  …  0.999969,0.999973,0.999976,0.99998,0.999984,0.999988,0.999991,0.999995,0.999999,1.0],Array{Float64,1}[[1.0],[1.0],[1.00001],[1.00001],[1.00002],[1.00002],[1.00002],[1.00003],[1.00003],[1.00004]  …  [2.7182],[2.71821],[2.71822],[2.71823],[2.71824],[2.71825],[2.71826],[2.71827],[2.71828],[2.71828]])\r\n\r\njulia> y[end]-e\r\n1-element Array{Float64,1}:\r\n 6.36934e-10\r\n\r\n```\r\nNothing else has changed, but it's nowhere near the relative accuracy requested. Presumably this is an issue for higher dimensional array-valued IVPs as well. (This was uncovered due to the exploration of nontrivial periodic orbits of electrons round nuclei by @JFlry and @trefethen in [chebfun](http://www.chebfun.org/examples/ode-nonlin/TwoElectrons.html).)"},"comment":{"url":"https://api.github.com/repos/JuliaDiffEq/ODE.jl/issues/comments/266074656","html_url":"https://github.com/JuliaDiffEq/ODE.jl/issues/118#issuecomment-266074656","issue_url":"https://api.github.com/repos/JuliaDiffEq/ODE.jl/issues/118","id":266074656,"user":{"login":"MikaelSlevinsky","id":8176037,"avatar_url":"https://avatars.githubusercontent.com/u/8176037?v=3","gravatar_id":"","url":"https://api.github.com/users/MikaelSlevinsky","html_url":"https://github.com/MikaelSlevinsky","followers_url":"https://api.github.com/users/MikaelSlevinsky/followers","following_url":"https://api.github.com/users/MikaelSlevinsky/following{/other_user}","gists_url":"https://api.github.com/users/MikaelSlevinsky/gists{/gist_id}","starred_url":"https://api.github.com/users/MikaelSlevinsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikaelSlevinsky/subscriptions","organizations_url":"https://api.github.com/users/MikaelSlevinsky/orgs","repos_url":"https://api.github.com/users/MikaelSlevinsky/repos","events_url":"https://api.github.com/users/MikaelSlevinsky/events{/privacy}","received_events_url":"https://api.github.com/users/MikaelSlevinsky/received_events","type":"User","site_admin":false},"created_at":"2016-12-09T17:41:16Z","updated_at":"2016-12-09T17:41:16Z","body":"Great, thanks!"}}
{"actor":{"display_login":"MikaelSlevinsky"}}