Skip to content

v0.3.1b0

Choose a tag to compare

@Shiro-Raven Shiro-Raven released this 17 Nov 01:46

0.3.1b0 (2025-08-22)

✨ Added

  • QUBOPartitioningQAOA class: new ProgramBatch implementation for solving QUBO problems using partitioning and QAOA, supporting QUBOProblemTypes and BinaryQuadraticModel inputs with configurable decomposer and composer
  • is_valid_qasm() function: lightweight QASM validation function in divi/exp/cirq/_validator.py (645 lines) that returns boolean indicating QASM syntax validity using lexer and parser implementation
  • QASM validation integration in QoroService.submit_circuits(): added automatic QASM validation check that raises ValueError for invalid QASM strings before submission
  • Comprehensive test suite for QUBO partitioning: 218 lines of tests in test_qubo_partitioning.py covering QUBOPartitioningQAOA functionality
  • Enhanced graph partitioning tests: expanded test coverage in test_graph_partitioning.py with 230 additional lines
  • Extended VQE sweep tests: added comprehensive tests for new VQE input formats (Molecule objects and Hamiltonian inputs) in test_vqe_sweep.py with 473 additional lines
  • _task_fn attribute in ProgramBatch: added configurable task function support for custom program execution workflows
  • reset() method validation in ProgramBatch.create_programs(): added check to prevent creating programs when dictionary is not empty, requiring explicit reset

🔄 Changed

  • Updated VQE tests: modified test_vqe.py (163 additional lines) to work with new VQE API accepting Molecule objects and Hamiltonian inputs instead of symbols/coords/bond_length
  • Improved ProgramBatch cleanup logic: enhanced __del__ method with proper manager shutdown, better queue cleanup, and improved progress bar termination handling
  • Refactored linear_aggregation() function in graph partitioning: improved type hints and function signature for better clarity and type safety
  • Enhanced error handling in QoroService: improved error messages and exception handling, particularly in submit_circuits() method
  • Updated graph partitioning implementation: improved _node_partition_graph() function and related partitioning logic

🐛 Fixed

  • Fixed QoroService endpoint: corrected API endpoint from /qpu_systems/ to /qpusystem/ in qpu_systems() method
  • Fixed QPU system name property: corrected property setter logic to properly handle None values and prevent infinite recursion when setting system name
  • Fixed system name retrieval: improved logic to use system name from root QPUSystem object when available
  • Fixed potential issues in QoroService: corrected conditional logic for QPU system name handling in submit_circuits() method