Release 1.2 - 2023-09-18
Documentation
- Various minor improvements of documentation
- Update documentation layout
- Clean up documentation of Python classes and functions in infrared namespace
- Improve application example notebook
- Add applications examples: graph coloring, automata and network parsimony
- Elaborate documentation of def_constraint_class, def_function_class
Python library
- New defaults and additional parameters for targeted sampling (multi-dimensional Boltzmann sampling)
- Add error checking in def_constraint_class, def_function_class
C++ library
- Rename class ired:ConstraintNetwork to ired:FeatureNetwork
Release 1.1 - 2022-11-15
This release improves support for stochastic optimization based on resampling (among some minor improvements and adapations)
C++ library
- Introduce support for resampling by restricted traceback. The functionality is directly supported by the Infrared engine without need for recomputation of the partition function.
Python interface
- Resampling functionality is provided by methods resample() of ir.Sampler and ir.PFClusterTree
- Add ir.mc_optimize for optimization
Documentation
- Update the bookchapter tutorial - use new resampling mechanism
Release 1.0 - 2022-11-15
This release facilitates the modeling of sampling and optimization problems from a much broader range of applications by
- introducing a new modeling syntax which facilitates the definition of constraint models and supporting the definition of new constraints and functions with simple Syntax in Python
- enabling modeling in a truly declarative and compositional style
- supporting domain bounds, which can be performance critical for many applications
- optimizing space requirements
- enabling optimization in addition to sampling, where both can be based on the same constraint model
- improving the API documentation
- adding tutorials and examples in Jupyter notebooks that demonstrate the modeling of design problems in the framework
Python interface
- Introduce new modeling syntax to define constraint network models based on a new class
Model
- Old class ConstraintNetwork is merged with new class Model
- Support targeting of only selected features
- Revise syntax for the definition of function and constraints
- Add support for optimization (in addition to sampling)
- allow to select evaluation algebra
- introduce weighted functions
- Support IUPAC sequence constraints with a specific form of constraint simplification
- Rename functions and constraints in module rna
- Support named variables in constraint models
C++ library
- Support upper and lower bound of variable domains; add class
FiniteDomain
- Remove dependency on
boost::graph
- Implement traceback for constraint optimization
- Optimize space consumption of materialized functions and constraints by using a specialized replacement
SimpleMap
of standard sparse containers like std::hash_map
- Add evaluation in arctic semiring for constraint optimization
Documentation
- Revisit API documentation
- Adapt tutorial notebook to new Python interface
- Add example for multi target design from Python code (Jupyter notebook)
- Add Jupyter notebook as supplement of a book chapter on Infrared with new example code
- Add tags to sync with book chapter
Build system
Bug fixes
- Fix bug of repeated dependencies in the specification of models
- Fix undefined behavior in the materialization of functions/constraints
Release 0.5.1 - 2021-07-10
Python Interface
- Export algebra for constraint optimization
- Redefine constraints and functions in Python
C++ library
Materialization of functions /and/ constraints
- supports the definition of functions and constraints in Python without performance penalties
- the existing mechanism for functions was extended to constraints
Bug Fix
- Update behavior of
BoltzmannSampler.plot_td()
Documentation
- Re-enable API documentation via doxygen
- Update tutorial jupyter notebook
Release 0.5 - 2021-05-04
C++ library
Use pybind11
Installation and dependencies
- Change build mechanism to
setup.py
and cmake
- Enable installation via pip and conda
Release 0.4 - 2020-11-08
Python Interface
- Refactor and streamline the Python interface
- Support tree decomposition by networkx, improve the tree decomposition interface
- Add access to partition function and provide consistency check in
Documentation
- Add tutorial of the Python interface (Jupyter notebook)
C++ library
- Add tests, fix handling of inconsistent networks
- Revert to using
boost::python
(to resolve a bug in the use of pybind11
)
Installation and dependencies
- Improve installation via autotools
- Replace dependency on
libhtd
by networkx
Release 0.3 - 2018-08-17
- Generalize Python classes for Boltzmann sampler construction and provide them in Python module
infrared
for simpler use of the lib
- Implement multi-dimensional Boltzmann sampling and provide this functionality via module
infrared
Release 0.2.1 - 2018-08-08
- Add/cleanup Doxygen documentation of Python modules
Release 0.2 - 2018-08-07
- Improve program comments, support doxygen (
make doxygen-doc
)
- Revise code, fix make check
Release 0.1 - 2018-08-07
- Optimize infrared evaluation/sampling engine
- Optimize tree decomposition using
libhtd
- Cleanup treedecomp and redprint Python code and add features
- Bugfixes
- Implement some tests
Release 0.0.1 - 2018-08-02
Initial release