Releases: luk036/ellalgo
Releases Β· luk036/ellalgo
0.3
Full Changelog: 0.2...0.3
Release Notes: ellalgo
π Version: 0.2 β 0.3
Date: September 12, 2025
Contributor: luk036
π¦ Overview
This release includes significant enhancements to the ellalgo
project, a Python implementation of the Ellipsoid Method for convex optimization. The updates focus on improved testing, documentation, code quality, and new features.
β¨ New Features & Improvements
1. Added Comprehensive Documentation
- A new markdown file
GEMINI.md
was introduced, providing:- Project overview and build instructions
- Dependency management using
tox
andpytest
- Code style enforcement via
black
,isort
, andflake8
- Documentation build process with Sphinx
2. Enhanced Testing Suite
- Added multiple unit tests using Gemini CLI
- Expanded test coverage for:
LMI0Oracle
LowpassOracle
ProfitOracle
ConjugateGradient
CuttingPlane
algorithms- Ellipsoid update methods
3. Code Quality & Refactoring
- Applied
ruff format
andruff check --fix
across the codebase - Improved type annotations and docstrings
- Fixed zero-gradient handling in ellipsoid updates
- Enhanced error messages and validation
4. New Oracle Implementations
- Added
LMI0Oracle
for linear matrix inequality feasibility - Enhanced
LowpassOracle
with better frequency response handling - Improved
ProfitOracle
for Cobb-Douglas production optimization
5. Algorithm Optimizations
- Updated stopping criteria and tolerance handling
- Improved binary search logic in
bsearch
- Better handling of parallel cuts in ellipsoid updates
π Bug Fixes
- Fixed assertion in lowpass benchmark test (
result >= 12300
) - Corrected environment build commands in
orgx-build-commands.txt
- Fixed gradient validation in ellipsoid update methods
- Improved handling of edge cases in LDLT factorization
π Statistics
- 27 files changed
- 993 additions and 451 deletions
- 9 commits included in this release
π§ Development Conventions
- Pre-commit hooks now enforce code style (
black
,isort
,flake8
) - All code must pass
pre-commit run --all-files
before committing - Documentation is built automatically via
tox -e docs
π Getting Started
To use this version:
# Install dependencies
conda env create --file environment.yml --prefix ./venv
# Run tests
tox
# Build documentation
tox -e docs
# Format code
pre-commit run --all-files
π Note
This release maintains backward compatibility while significantly improving test coverage, documentation, and code quality. The ellipsoid method implementation remains stable with enhanced numerical robustness.
Fixed Bugs in Parallel-Central Cut
Full Changelog: 0.1...0.2
0.1
Full Changelog: https://github.com/luk036/ellalgo/commits/0.1