Skip to content

Releases: luk036/ellalgo

0.3

12 Sep 06:18
Compare
Choose a tag to compare

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 and pytest
    • Code style enforcement via black, isort, and flake8
    • 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 and ruff 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

27 Jun 05:33
Compare
Choose a tag to compare

0.1

05 Apr 08:08
Compare
Choose a tag to compare