Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Version 2.1 development #51

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

Merged
merged 34 commits into from
Dec 21, 2024
Merged

Version 2.1 development #51

merged 34 commits into from
Dec 21, 2024

Conversation

ikorotkin
Copy link
Collaborator

@ikorotkin ikorotkin commented Dec 10, 2024

Version 2.1 will allow the user to define the shape (structure) of the Jacobian matrix. I.e., instead of providing analytic Jacobian (or not providing it at all, which is slow), the user can specify the positions of non-zero elements in the Jacobian. The solver will use automatic differentiation for the specified elements only. This should work as fast as analytic Jacobian without requiring the user to differentiate the vector function manually.


Tasks:

  • Upgrade Eigen, autodiff, googletest
  • Add Jacobian shape class and a helper function to populate an array containing positions of non-zero elements
  • Compute Jacobian using the given matrix shape
  • Add utility function that compares fully automatic Jacobian with the one computed from the given shape
  • Add utility function that compares fully automatic Jacobian with the one provided by the user
  • Update tests
  • Update examples
  • Update README and CHANGELOG
  • Update docs
  • Add performance tests (added locally for now)

Implemented changes:

  • Updated autodiff to v1.1.2
  • Updated Eigen (commit from 28th March 2024)
  • Updated googletest from v.1.14.x to v1.15.2
  • Added JacobianMatrixShape and VectorFunctionElements helper classes to define the Jacobian matrix shape and the vector function
  • Added JacobianCompare class that helps the user to compare the user-defined Jacobian (either defined explicitly or using Jacobian shape) with the one computed automatically from the system RHS
  • Added jacobian_shape and jacobian_compare examples
  • Added integration test that uses Jacobian derived from the given shape
  • Added unit tests for all new classes (JacobianMatrixShape, VectorFunctionElements, JacobianCompare)

@ikorotkin ikorotkin mentioned this pull request Dec 10, 2024
9 tasks
@ikorotkin ikorotkin merged commit 325359e into master Dec 21, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant