Transforms
bbobax.transforms
The transformations BBOB builds its landscapes from.
These are the paper's raw ingredients (Hansen et al., 2010, section 0.2): every function in every suite is a simple core -- a sphere, a sum of powers -- made hard by composing these transformations onto it. They know nothing about problems or suites, which is why they live below both.
f_pen(x)
lambda_alpha(condition, num_dims)
Conditioning transformation function: condition ** (0.5 i / (D - 1)).
The paper's Lambda^alpha, and COCO's transform_vars_conditioning, which
spells the same thing as pow(sqrt(condition), i / (D - 1)).
Source code in src/bbobax/transforms.py
transform_asy(x, beta)
Asymmetry transformation function.
The untaken branch is sanitized before sqrt/power so that jax.grad
through negative coordinates yields zeros instead of NaN (the standard
double-where guard); values are unchanged.
Source code in src/bbobax/transforms.py
transform_osz(element)
Oscillation transformation function.