Metadata-Version: 2.4
Name: hdim_opt
Version: 1.3.1
Summary: High-dimensional global optimization and sampling toolkit for complex and non-differentiable problems.
Author-email: Julian Soltes <jsoltes@regis.edu>
License: MIT
Project-URL: Homepage, https://github.com/jgsoltes/hdim_opt
Project-URL: Repository, https://github.com/jgsoltes/hdim_opt
Project-URL: Issues, https://github.com/jgsoltes/hdim_opt/issues
Project-URL: Changelog, https://github.com/jgsoltes/hdim_opt/releases
Keywords: optimization,high-dimensional,sampling,QUASAR,hyperellipsoid,evolutionary-algorithm,non-differentiable,global-optimization,stochastic-optimization,black-box-optimization
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Natural Language :: English
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: scipy
Provides-Extra: hds
Requires-Dist: pandas; extra == "hds"
Requires-Dist: scikit-learn; extra == "hds"
Requires-Dist: joblib; extra == "hds"
Provides-Extra: sensitivity
Requires-Dist: pandas; extra == "sensitivity"
Requires-Dist: SALib; extra == "sensitivity"

# hdim-opt: High-Dimensional Optimization Toolkit

A modern optimization package to accelerate convergence in complex, high-dimensional problems. Includes the QUASAR evolutionary algorithm, HDS exploitative QMC sampler, Sobol sensitivity analysis, and signal waveform decomposition.

All core functions, listed below, are single-line executable and require three essential parameters: [obj_function, bounds, n_samples].
* **quasar**: QUASAR optimization for high-dimensional, non-differentiable problems.
* **hyperellipsoid**: Generate a non-uniform Hyperellipsoid Density sequence, to focus sample distributions.
* **sobol**: Generate a uniform Sobol sequence (via SciPy).
* **sensitivity**: Perform Sobol sensitivity analysis to measure each variable's importance on objective function results (via SALib).
* **waveform**: Decompose the input waveform array (handles time- and frequency-domain via FFT / IFFT) into a diagnostic summary.

---

## Installation

Installed via `hdim_opt` directly from PyPI:

```bash
pip install hdim_opt
```

## Example Usage:

```python
import hdim_opt as h

# Parameter Space
n_dimensions = 30
bounds = [(-100,100)] * n_dimensions
n_samples = 1000
obj_func = h.test_functions.rastrigin
time, pulse = h.waveform_analysis.e1_waveform()

# Functions
solution, fitness = h.quasar(obj_func, bounds)
sens_matrix = h.sensitivity(obj_func, bounds)

hds_samples = h.hyperellipsoid(n_samples, bounds)
sobol_samples = h.sobol(n_samples, bounds)
isotropic_samples = h.isotropize(sobol_samples)

signal_data = h.waveform(x=time,y=pulse)
```

## 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 compared to contemporary optimizers. (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 search space.

* Benefit: Provides control over the sample distribution. Results in higher average optimization solution quality when used for population initialization compared to uniform QMC methods. (Reference: [https://arxiv.org/abs/2511.07836]).
