Skip to main content

hdim-opt: High-Dimensional Optimization Toolkit

Numerical optimization package for complex, high-dimensional problems. hdim_opt is a lightweight and comprehensive suite to streamline sampling, optimization, and analysis. Home of the QUASAR evolutionary algorithm and Hyperellipsoid quasi-Monte Carlo sampling.

All core functions, listed below, are single-line executable and depend on three essential parameters: [obj_function, bounds, n_samples]:

Sampling

  • uniform: Generate uniform QMC sample sequences (via Scipy.stats.qmc).
  • hyperellipsoid: Generate hyperellipsoidal sample sequence; may accelerate optimization.
  • isotropize: Isotropize the input data via zero-phase component analysis (ZCA).
  • encode_bipolar: Bipolar-logarithmic transform, when negative values and exponents are present.
  • lorentzian: Fit a Lorentzian/Cauchy kernel density estimation (KDE) to the data.

Optimization

  • quasar: Optimization using the QUASAR evolutionary algorithm.
  • minimize: Optimization using gradient-based minimization (via SciPy.minimize).
  • symbolic: Symbolic regression to approximate the input data or function (via gplearn).
  • stepAIC: Stepwise feature selection for linear or logistic regression (R's MASS:stepAIC).

Analysis

  • sensitivity: Sensitivity analysis to quantify each dimension's influence (via SALib).
  • hyperslice: Create a hyperslice of the function's underlying solution space.
  • waveform: Decompose any 2D waveform.
  • analyze: Analyze any input dataset.

Installation

Install hdim_opt directly from PyPI:

pip install hdim_opt

Example Usage

import hdim_opt as h

### Parameter Space
n_samples = 2**10
n_dimensions = 10
bounds = [(-100,100)] * n_dimensions # Parameter bounds
obj_func = h.test_functions.rastrigin # Test function

### Sampling
uniform_samples = h.uniform(n_samples, bounds, method='sobol') # Uniform sampling
ellipsoid_samples = h.hyperellipsoid(n_samples, bounds, verbose=True) # Hyperellipsoid sampling
iso_samples, iso_params = h.isotropize(ellipsoid_samples) # Isotropize data (ZCA)
bipolar_log_samples = h.encode_bipolar(iso_samples, [b[0] for b in bounds]) # Bipolar-logarithm transform
kde = h.lorentzian(iso_samples, 1.0, iso_samples, verbose=True) # Lorentzian multivariate KDE

### Optimization
solution, fitness = h.quasar(obj_func, bounds, init=ellipsoid_samples) # Evolutionary optimization
local_sol, local_fit = h.minimize(obj_func, bounds, init=solution) # Gradient-based optimization
all_expr, best_expr = h.symbolic(obj_func, bounds) # Symbolic regression
opt_features, opt_model = h.stepAIC(iso_samples, solution) # R's stepAIC for linear/logistic regression

### Analysis
Si, S2 = h.sensitivity(obj_func, bounds) # Sensitivity analysis
slice_data, stats = h.hyperslice(obj_func, bounds, slice_dims=(0,1)) # Estimate/hyperslice the solution space
signal_results = h.waveform(uniform_samples[:,0], slice_data.iloc[:,1]) # Analyze 2D waveform
h.analyze(slice_data) # Analyze any numerical dataset

QUASAR Optimizer

QUASAR (Quasi-Adaptive Search with Asymptotic Reinitialization) is a quantum-inspired evolutionary algorithm, highly efficient for minimizing high-dimensional, non-differentiable, and non-parametric objective functions.

  • Benefit: Significant improvements in convergence speed and solution quality for high-dimensional spaces compared to standard optimization algorithms like Differential Evolution and L-SHADE. (Reference: [https://arxiv.org/abs/2511.13843]).

HDS Sampler

HDS (Hyperellipsoid Density Sampling) is a non-uniform Quasi-Monte Carlo sampling method, specifically designed to exploit promising regions of the parameter space.

  • Benefit: Provides control over high-dimensional sample distributions. Results in higher average solution quality when initializing optimization. (Reference: [https://arxiv.org/abs/2511.07836]).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hdim_opt-1.6.0.tar.gz (45.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hdim_opt-1.6.0-py3-none-any.whl (46.2 kB view details)

Uploaded Python 3

File details

Details for the file hdim_opt-1.6.0.tar.gz.

File metadata

  • Download URL: hdim_opt-1.6.0.tar.gz
  • Upload date:
  • Size: 45.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for hdim_opt-1.6.0.tar.gz
Algorithm Hash digest
SHA256 52fd2fd5617705f64ef61ad984d9f0b08705e59225fa8e8807062fb2ac966187
MD5 727496a3298f084f333c2c6991c6c55a
BLAKE2b-256 15ed048cc27d7b811b5fa7d1588a6b15c1064adbb0d890d89ed3d8a3557c2c12

See more details on using hashes here.

File details

Details for the file hdim_opt-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: hdim_opt-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 46.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for hdim_opt-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2edcdb51937d5f932311a96b24a205e33bfd0027ed8856bc5176ee5842f03d0a
MD5 0994e7c3579ebd4b48649a484c515d88
BLAKE2b-256 d4619dbdd2ba62098bb65e37bc2b49dba0e90a9f8bccc78956270693fa9244f7

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.6.0 This release

2 files

1.5.2

2 files

1.5.1

2 files

1.5.0

2 files

1.4.81

2 files

1.4.80

2 files

1.4.72

2 files

1.4.71

2 files

1.4.8

2 files

1.4.7

2 files

1.4.6

2 files

1.4.5

2 files

1.4.4

2 files

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.8

2 files

1.3.7

2 files

1.3.6

2 files

1.3.5

2 files

1.3.4

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.9

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page