-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use generic sparsity detector #238
Conversation
Thanks @gdalle! |
Sure, it will be even easier to finalize then, just switch the detector object. |
I suspect the doc failure is due to the ungodly way in which you handle Symbolics. It's not in your Project.toml but it's still a dependency somehow. How does that work? |
Oops, for |
I propose to update the compat entry of Julia to v1.9 such we have support for package extensions. |
In that case it probably doesn't make much sense to try hard to support Symbolics again. Maybe you can just rebase your SCT PR on this one, switch the detector and we drop Symbolics once and for all? |
Yes, let's do that. |
Closing in favor of #230 |
ADTypes.jl v1.0 introduced an abstract sparse autodiff interface for sparsity pattern detection and matrix coloring, which can be implemented by various packages. The latest release of Symbolics.jl, namely v5.29, includes a
SymbolicsSparsityDetector
object which satisfies the ADTypes.jl requirements of sparsity pattern detection.My PR changes your sparsity detection routines to use this detector object, in order to make it easier to switch later on. For instance, you may want to use
TracerSparsityDetector
from SparseConnectivityTracer.jl instead (see #229 and #230).The only caveat is that it uses a random vector of Lagrange multiplier, but I think that's correct since the probability of accidental cancellation between constraints is basically zero?
I also removed the compat tweak on SymbolicUtils.jl in the test environment, since it has released a v2.0 which apparently fixes #232.
Ping @amontoison