Skip to content

Exploratory landscape analysis with orivex

orivex orivex

Compute the landscape features you need, with explicit costs and reproducible definitions.

Get started Explore the features

orivex computes exploratory landscape analysis (ELA) features from sampled decision vectors and their objective values. It is a successor to pflacco, with a NumPy/SciPy core and an optional differentiable PyTorch backend.

Pre-release

Install from a source checkout. orivex implements selected feature families and is not yet a drop-in replacement for pflacco. See the feature overview for coverage.

Why orivex

  • Selective computation: request individual outputs; shared intermediates run once per call.
  • Explicit costs: inspect declared CPU, memory, and additional objective-evaluation costs.
  • Versioned definitions: trace feature semantics, invariance claims, and source literature.
  • Verification: analytical, metamorphic, and R flacco differential tests check the implementation.
  • Differentiable features: use the supported Torch profile with device and autograd awareness.

Start with a sample

import numpy as np

from orivex import LandscapeSample, compute

rng = np.random.default_rng(42)
x = rng.uniform(-5.0, 5.0, size=(200, 2))
y = np.sum(x**2, axis=1)
sample = LandscapeSample(x, y, lower=[-5.0, -5.0], upper=[5.0, 5.0])

result = compute(sample, "ela_distr.*")
for name, item in result.values.items():
    print(name, item.value, item.status.value)

Objective values are min-max normalized by default. Choose preprocessing explicitly when reproducing reference results; see objective normalization.

Find your next step

Task Documentation
Install and compute your first features Getting started
Choose outputs and control execution Feature selection
Understand definitions and costs Feature catalogue
Differentiate features in a model PyTorch and autograd
Interpret invalid values and record provenance Results
Look up signatures and data models API reference
Contribute and reproduce benchmarks Development

orivex is distributed under the MIT License.