Skip to content

Add: Initial implementation of polar_approx and unit tests - #615

Open
mariam851 wants to merge 1 commit into
esa:masterfrom
mariam851:feature/issue-582-polar-hv
Open

Add: Initial implementation of polar_approx and unit tests#615
mariam851 wants to merge 1 commit into
esa:masterfrom
mariam851:feature/issue-582-polar-hv

Conversation

@mariam851

Copy link
Copy Markdown

Implemented a new hypervolume approximation algorithm using Polar Coordinates (Deng & Zhang approach) as requested in issue #582. This method improves sampling efficiency in high-dimensional spaces.

  1. Technical Changes
    Core Implementation: Added polar_approx class in src/utils/hv_algos/.

Ray Generation: Implemented generate_random_ray() using std::normal_distribution to ensure uniform sampling on the unit hypersphere surface.

Normalization: Added logic to ensure all generated rays are Unit Vectors and stay within the positive orthant.

  1. Build & Test
    CMake: Updated tests/CMakeLists.txt to register the new test case.

Unit Tests: Added a new test file to verify the mathematical properties of the generated rays (norm ≈ 1.0 and values ≥ 0).

@sylvesterkaczmarek sylvesterkaczmarek left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both the new implementation and test include pagmo/utils/hv_algos/hv_polar_approx.hpp, but that header is neither in master nor added by this PR, so the build fails before the new code can compile. Add the public header declaring polar_approx and keep a build/install test covering that include path.

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.

2 participants