aGrUM/pyAgrum 1.8.0 released

Posted on Tue 09 May 2023 in News

ANNOUNCE: aGrUM 1.8.0

aGrUM/pyAgrum 1.8.0 is out.

Changelog for 1.8.0

  • aGrUM

    • Adding new class gum::InfomationTheory that regroups every information theory concepts (entropies, conditional entropies and mutual information, ...) with only one inference, which allows also conditioned information theory concepts.
    • Adding gum::Potential::expectedValue()
    • Adding the alternative fast syntax for NumericalDiscreteVariable : {1.5:3.5:3} meaning from 1.5 to 3.5 in 3 steps.
    • Updating GraphicalModel::exists(const std::string&) : return false instead of throwing an exception.
    • Adding gum::graphicalModels::variables() and a new alias for gum::VariableSet.
    • Fixing a bug in gum::ShaferShenoyInference for joint posterior when some nodes in the target received hard evidence.
    • Improving error message w.r.t gum::*::jointPosterior.
    • Adding mingw as a target for CI.
    • Fixing dangling pointers in testsuite, only detected by MSVC.
    • Optimized gum::PDAG::cSeparation
    • Renaming gum::Set::isProper{Sub|Super}Set to gum::Set::isStrict{Sub|Super}Set.
  • pyAgrum

    • swig>4.1 is now needed.
    • Enabling installation with poetry (thanks to Lorenzo Conti)
    • Adding new class pyAgrum.InfomationTheory that regroups every information theory concepts (entropies, conditional entropies and mutual information, ...) with only one inference, which allows also conditioned information theory concepts.
    • Adding pyAgrum.Potential.expectedValue().
    • Restructuring a bit the sphinx documentation.
    • Down-exporting the read-only API for every types of discrete Variable to pyAgrum.DiscreteVariable. (see VariablesTestSuite.testExportDerivedReadOnlyAPIforDiscreteVariable)
    • Updating notebooks to the new down-exported read-only API of pyAgrum.DiscreteVariable.
    • Adding the alternative fast syntax for NumericalDiscreteVariable : {1.5:3.5:3} meaning from 1.5 to 3.5 in 3 steps.
    • Updating docs for new fast syntax.
    • Updating GraphicalModel::exists(const std::string&) : return false instead of throw an exception.
    • Initiating a new notebook about the interaction with ipywidget
    • Optimized and correctly wrapped gum::PDAG::cSeparation (thanks to Kenneth Lee).
    • New functions pyAgrum.lib.explain.nestedMarkovBlankets and pyAgrum.lib.explain.nestedMarkovBlanketsNames.