Michael Abbott

Results 1315 comments of Michael Abbott

One more data point is that https://github.com/JuliaPhysics/Measurements.jl gets this right according to my argument above. While its error bars aren't exactly dual numbers, they are a related species. Here's a...

Every index is in one of two modes: The strict one demands that all match, and the other takes the intersection. The second is applied to any index with a...

I think this rule for `Array` really doesn't expect that the sizes might not match. The two sizes are ``` size(Matrix(Q)) == size(Array{Float64}(Q)) == size(Q.factors) == size(V) == (6,4) size(Q)...

Might indeed be worth mentioning in the docs, if you can figure out where. Something similar applies without AD: ``` julia> Matrix(s::String) = fill(s, 2, 2); julia> Matrix("zz") 2×2 Matrix{String}:...

Yes it's a bit conservative, I hadn't thought of this particular case but I think it's easy to address. This one is a bug I meant to figure out: ```julia...

Another case: scatter operations have their own code for bounds checks, so this complains about a column of `inds` which it won't read: ```julia inds = rand(1:10, 333, 100); inds[:,50]...

That's an interesting thought. But the naiive execution has a bounds check on every `getindex`, whereas Tullio wants to check `extrema(inds)` once, up front. Is there a way to go...

Now I had another look at https://github.com/shashi/ArrayMeta.jl, which is perhaps a more Julian approach than mine... although it's still parsing the expression itself, it just builds up another tree structure...

That's a nice graph. You can see that Tullio turns on threading too early (around 64 IIRC) on your machine -- the overhead of `@spawn` isn't paying for itself. OK,...

Diffractor never passes. Zygote failures are things like this: ``` /home/runner/work/ChainRules.jl/ChainRules.jl/downstream/test/gradcheck.jl:1730 [313](https://github.com/JuliaDiff/ChainRules.jl/runs/5733081278?check_suite_focus=true#step:6:313) Test threw exception [314](https://github.com/JuliaDiff/ChainRules.jl/runs/5733081278?check_suite_focus=true#step:6:314) Expression: gradient((x->begin [315](https://github.com/JuliaDiff/ChainRules.jl/runs/5733081278?check_suite_focus=true#step:6:315) sum(rand(Random.GLOBAL_RNG, Float32, 1, 1)) [316](https://github.com/JuliaDiff/ChainRules.jl/runs/5733081278?check_suite_focus=true#step:6:316) end), 1) == (nothing,) ``` for...