This pr introduces a generalized way to create datasets from functions.
Which issue does this PR tackle?
Currently each dataset created from a function has its own implementation.
Creating benchmarks in which these implementations are adjusted is hard and requires much time.
When evaluating the distribution of parameter samples
When evaluating the distribution of space samples
When evaluating the density of parameter samples
When evaluating the density of space samples
When evaluating the effect of discretization invariance
When evaluating the effect of variing number of sensors
How does it solve the problem?
Implements Function, ParameterizedFunction, FunctionSet, SampledFunctionSet and a FunctionOperatorDataset class.
The sampling of the parameterized functions and space is handled by the samplers defined in the discrete module and can be swapped out to create different properties within a dataset.
Factories make for easy use without having to think about concrete samplers.
Facilitates the creation of benchmarks listed in the section above.
How are the changes tested?
Introduced unit tests for all new features and classes.
All other tests affected by this change run without error.
Checklist for Contributors
[x] Scope: This PR tackles exactly one problem.
[x] Conventions: The branch follows the feature/title-slug convention.
[x] Conventions: The PR title follows the Bugfix: Title convention.
[x] Coding style: The code passes all pre-commit hooks.
[x] Documentation: All changes are well-documented.
[x] Tests: New features are tested and all tests pass successfully.
[x] Changelog: Updated CHANGELOG.md for new features or breaking changes.
[x] Review: A suitable reviewer has been assigned.
Checklist for Reviewers:
[ ] The PR solves the issue it claims to solve and only this one.
[ ] Changes are tested sufficiently and all tests pass.
Feature: Function Dataset
Description
This pr introduces a generalized way to create datasets from functions.
Which issue does this PR tackle?
How does it solve the problem?
Function
,ParameterizedFunction
,FunctionSet
,SampledFunctionSet
and aFunctionOperatorDataset
class.discrete
module and can be swapped out to create different properties within a dataset.How are the changes tested?
Checklist for Contributors
feature/title-slug
convention.Bugfix: Title
convention.Checklist for Reviewers: