Skip to content
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

Multi-Path Pathfinder #783

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

aphc14
Copy link

@aphc14 aphc14 commented Mar 8, 2025

Implement Multi-Pathfinder and Enhance Pathfinder and LBFGS Optimizers

High-Level Description

  • Multi-Pathfinder: Introduces the multi_pathfinder function, enabling parallel and vectorized sampling strategies. Initial tests indicate that multi_pathfinder is functioning as expected. Feel free to test it out and provide feedback.

  • LBFGS Optimizer: The optimizer has been refactored to use Optax.

  • single pathfinder fix: Fixed inaccurate calculations of S Z matrices, phi, log densities.

  • alpha_recover: Decoupling of alpha recover out of LBFGS optimisation.

  • Importance Sampling: Added support for various importance sampling methods.

  • Testing: Expanded and updated tests for both Pathfinder and LBFGS.

Current Status

This is a draft PR that requires some tidying up. There are existing linting errors from mypy that need to be addressed. Your feedback and testing are welcome to help refine these changes.

Checklist

  • Ensure the PR title clearly describes the changes.
  • Provide links to all relevant issues, discussions, and PRs.
  • Rebase the branch on the latest main commit.
  • Ensure commit messages follow the guidelines.
  • Verify that the code respects current naming conventions.
  • Ensure docstrings follow the numpy style guide.
  • Run pre-commit to check for any issues.
  • Confirm that there are tests covering the changes.
  • Update the documentation to reflect the new changes.
  • If applicable, add or update related examples.

resolves #763, #213, #461, #749, #704

related #465, #387

This update adds the multi pathfinder capabilities, parallel Pathfinder runs, LBFGS optimisation using Optax, and importance sampling.

- Multi-Pathfinder: Supports parallel and vectorized sampling strategies, improving scalability.
- LBFGS Optimizer: Refactored using Optax for better numerical stability and performance, with enhanced inverse Hessian estimation.
- Importance Sampling: Added support for various methods, improving sampling accuracy.
- Testing: Expanded tests for both Pathfinder and LBFGS to ensure correctness and stability.
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.

Multi-path pathfinder instead of just one-path pathfinder implementation
1 participant