Kristoffer Carlsson
Kristoffer Carlsson
The problem is in Base definition of `det`. Using a hand written version: ```jl > det2 (generic function with 1 method) > 3×3 Array{Float64,2}: 0.0281524 0.0 0.0 0.0 0.0479236 -0.495581...
Out of curiosity, do you know if there is a term for this type of "deficiency" in automatic differentiation?
You could use something like https://github.com/JuliaDiff/ForwardDiff.jl/pull/165 and define the extend the derivative of `det` for `Matrix{
Basically, anything that exploits the sparsity of an array to compute the result.
If someone wants to do this they need to make a corresponding change to the registry that allows ForwardDiff 1.0 for those packages that are currently claiming compatibility with ForwardDiff...
A vector of duals can be written as `X = x + J * eps` where `x` is a vector of real numbers and `J` is a matrix containing the...
How could that ever call a vectorized functions `f` (which is a black box function that only can take a vector of reals)? At some point you need to pull...
A bit blocked here due to https://discourse.julialang.org/t/question-about-scoping-inside-a-function/709/12
I am thinking of using something like this in https://github.com/KristofferC/ContMechTensors.jl. I could basically define a bunch of known derivatives (like `d/dA det(A) = det(A)inv(A)'`) and perhaps that would get better...
Benchmarks at https://gist.github.com/KristofferC/930dc1de9d64a6930d3f3c81da72cae4. The user defined functions are non allocating but consistently slower. The reason for this (I believe) is that the function turns into `Core.Box` when the macro is...