SparseDiffTools.jl
SparseDiffTools.jl copied to clipboard
Fast jacobian computation through sparsity exploitation and matrix coloring
```julia for i in 1:length(cols_index) if color[cols_index[i]]==color_i J[rows_index[i],cols_index[i]] = dx[rows_index[i]] end end ``` is the only part that doesn't play nicely with the GPU. If that can be made into...
Reverse-mode AD implementations calculate a Jacobian row by row instead of column by column. Thus it would be nice to have a way to do row-wise matrix partitioning and coloring....
the symmetry of the hessian is exploited for extra compression (casadi also does this): https://github.com/JuliaDiff/SparseDiffTools.jl/blob/master/test/test_sparse_hessian.jl#L12 But I don't immediately see how that extra compression is then later recovered: https://github.com/JuliaDiff/SparseDiffTools.jl/blob/master/src/differentiation/compute_hessian_ad.jl#L142 ```jl...
When using a `BandedMatrix` as the sparsity pattern for a Jacobian, only the diagonal elements are computed: ``` using BandedMatrices, SparseArrays, SparseDiffTools, LinearAlgebra A = spdiagm(0 => rand(5), -1 =>...
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4. Release notes Sourced from codecov/codecov-action's releases. v4.0.0 v4 of the Codecov Action uses the CLI as the underlying upload. The CLI has helped to...
https://github.com/JuliaDiff/SparseDiffTools.jl/blob/9a713c6b665732d5d993651727204b39c97d5a61/src/differentiation/vecjac_products.jl#L24-L29
@gaurav-arya does it error when FunctionOp gets a wrong keyword argument? https://github.com/JuliaDiff/SparseDiffTools.jl/blob/9c458cdc90c9b362c6f1c22a72d89a3466ea2ea7/test/test_vecjac_products.jl#L58
Is there a chance to expand the code base to support matrix multiplications with the Jacbian? Here is an MWE that shows what I am trying to accomplish based on...
There are a couple of code cleanup tasks that will be left behind by #232: - [ ] Remove code repetition in https://github.com/JuliaDiff/SparseDiffTools.jl/blob/master/test/test_jaches_products.jl and https://github.com/JuliaDiff/SparseDiffTools.jl/blob/master/test/test_vecjac_products.jl by refactoring into a function...