Skip to content

Commit

Permalink
simplify, make SVector u0 not use SparseArrays
Browse files Browse the repository at this point in the history
  • Loading branch information
jClugstor committed Nov 29, 2024
1 parent be5fc08 commit aed21fd
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
4 changes: 3 additions & 1 deletion lib/OrdinaryDiffEqDifferentiation/src/alg_utils.jl
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,9 @@ function DiffEqBase.prepare_alg(
sparsity_detector = isnothing(sparsity) ? TracerSparsityDetector() : ADTypes.KnownJacobianSparsityDetector(sparsity)
color_alg = DiffEqBase.has_colorvec(prob.f) ? ADTypes.ConstantColoringAlgorithm(sparsity, prob.f.colorvec) : GreedyColoringAlgorithm()

autodiff = AutoSparse(autodiff, sparsity_detector = sparsity_detector, coloring_algorithm = color_alg)
if !(u0 isa SVector)
autodiff = AutoSparse(autodiff, sparsity_detector = sparsity_detector, coloring_algorithm = color_alg)
end

alg = remake(alg, autodiff = autodiff)

Expand Down
9 changes: 3 additions & 6 deletions lib/OrdinaryDiffEqDifferentiation/src/derivative_utils.jl
Original file line number Diff line number Diff line change
Expand Up @@ -773,13 +773,10 @@ function build_J_W(alg, u, uprev, p, t, dt, f::F, ::Type{uEltypeNoUnits},
elseif IIP
similar(J)
elseif J isa StaticMatrix
StaticWOperator(J, false)
StaticWOperator(J,false)
#alg.autodiff isa AutoSparse ? StaticWOperator(sparse(J), false) : StaticWOperator(J, false)
else
if alg.autodiff isa AutoSparse
ArrayInterface.lu_instance(sparse(J))
else
ArrayInterface.lu_instance(J)
end
alg.autodiff isa AutoSparse ? ArrayInterface.lu_instance(sparse(J)) : ArrayInterface.lu_instance(J)
end
end
return J, W
Expand Down

0 comments on commit aed21fd

Please sign in to comment.