Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Sparse jac #95

Merged
merged 17 commits into from
Aug 14, 2018
Merged

Sparse jac #95

merged 17 commits into from
Aug 14, 2018

Conversation

spcornelius
Copy link
Collaborator

Addresses #89.

From a design standpoint, I was conflicted about whether to:

  1. implement the sparse jacobian as a separate callback/set of expressions (cf. jtimes, dfdx, etc.)
  2. Overload the behavior of the jacobian callback/symbolic expressions

I opted for the latter, mirroring how pycvodes currently accommodates dense vs. banded vs. sparse jacobians. The drawback is that a given SymbolicSys/ODESys is implicitly tied to certain integrators/linear solvers at time of instantiation, rather than existing as an independent construct usable with an arbitrary integrator...

@bjodah
Copy link
Owner

bjodah commented Aug 14, 2018

Great. I see the dilemma, it's not too bad since we have SymbolicSys.from_other which allows converting back and forth by setting sparse=True/False. When I tried this branch out I did it in a notebook, and tested this. I took the liberty to check it in as well.

@bjodah bjodah merged commit 9dea4b9 into master Aug 14, 2018
@bjodah
Copy link
Owner

bjodah commented Aug 14, 2018

This is now in pyodesys-0.12.3

@spcornelius spcornelius deleted the sparse_jac branch August 14, 2018 14:27
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants