Skip to content

Conversation

diluculo
Copy link
Contributor

@diluculo diluculo commented Apr 2, 2025

This PR introduces a unified interface for nonlinear least squares minimization algorithms.

Changes

  • Added new ILeastSquaresMinimizer interface
  • Defined two overloads of the FindMinimum method:
    • One accepting a Vector<double> parameter
    • One accepting a double[] parameter
  • Updated LevenbergMarquardtMinimizer and TrustRegionMinimizerBase to implement this interface

Purpose

This interface standardizes the API for least squares minimizers, preparing the codebase for future additions such as BasinHopping and other global nonlinear least squares minimizers.

- Introduce a unified interface for nonlinear least squares minimization.
- Define two overloads of the FindMinimum method (one accepting a Vector<double> and one accepting a double[]).
- Update LevenbergMarquardtMinimizer and TrustRegionMinimizerBase classes to implement ILeastSquaresMinimizer.
diluculo added a commit to diluculo/mathnet-numerics that referenced this pull request Apr 2, 2025
- Implements the basin-hopping algorithm for global optimization based on the approach in SciPy.
- Basin-hopping combines Monte Carlo random displacement with local minimization to efficiently find global minima in complex energy landscapes.
- Depends on PR mathnet#1119 (ILeastSquaresMinimizer interface) which must be merged first.
diluculo added a commit to diluculo/mathnet-numerics that referenced this pull request Apr 2, 2025
- Implements the basin-hopping algorithm for global optimization based on the approach in SciPy.
- Basin-hopping combines Monte Carlo random displacement with local minimization to efficiently find global minima in complex energy landscapes.
- Depends on PR mathnet#1119 (ILeastSquaresMinimizer interface) which must be merged first.
diluculo added a commit to diluculo/mathnet-numerics that referenced this pull request Apr 2, 2025
- Implements the basin-hopping algorithm for global optimization based on the approach in SciPy.
- Basin-hopping combines Monte Carlo random displacement with local minimization to efficiently find global minima in complex energy landscapes.
- Depends on PR mathnet#1119 (ILeastSquaresMinimizer interface) which must be merged first.
diluculo added a commit to diluculo/mathnet-numerics that referenced this pull request Apr 2, 2025
- Implements the basin-hopping algorithm for global optimization based on the approach in SciPy.
- Basin-hopping combines Monte Carlo random displacement with local minimization to efficiently find global minima in complex energy landscapes.
- Depends on PR mathnet#1119 (ILeastSquaresMinimizer interface) which must be merged first.
@diluculo
Copy link
Contributor Author

diluculo commented Apr 2, 2025

For an implementation of BasinHopping that will utilize this interface, please see this branch. The implementation is based on SciPy's basin-hopping algorithm.

diluculo added a commit to diluculo/mathnet-numerics that referenced this pull request Apr 3, 2025
- Implements the basin-hopping algorithm for global optimization based on the approach in SciPy.
- Basin-hopping combines Monte Carlo random displacement with local minimization to efficiently find global minima in complex energy landscapes.
- Supports both ILeastSquaresMinimizer and IUnconstrainedMinimizer interfaces, allowing for flexibility in choosing local minimization algorithms.
- Depends on PR mathnet#1119 (ILeastSquaresMinimizer interface) which must be merged first.
@diluculo
Copy link
Contributor Author

diluculo commented Apr 3, 2025

I've decided to consolidate this PR with PR #1122. Closing this one.

@diluculo diluculo closed this Apr 3, 2025
diluculo added a commit to diluculo/mathnet-numerics that referenced this pull request Apr 6, 2025
- Implements the basin-hopping algorithm for global optimization based on the approach in SciPy.
- Basin-hopping combines Monte Carlo random displacement with local minimization to efficiently find global minima in complex energy landscapes.
- Supports both ILeastSquaresMinimizer and IUnconstrainedMinimizer interfaces, allowing for flexibility in choosing local minimization algorithms.
- Depends on PR mathnet#1119 (ILeastSquaresMinimizer interface) which must be merged first.
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