InformationInequalities.jl

Information Theoretic Inequalities
Author nivupai
Popularity
8 Stars
Updated Last
1 Year Ago
Started In
January 2022

Pkg Info Build status Documentation Citation Contributing
versionlicense: MIT CIcodecov docs-stabledocs-dev bibtexzenodo contributions guidelines

Overview

This package contains routines to perform Information Theoretic measures. The priliminary build up of this tool is to validate, prove and analyze Information Inequalities. This can be used both for rigorous computations and analysis of Information measures and expressions.

If you use this package in your work, please cite it as

@software{nrethnakar2022,
author = {
            Nivedita Rethnakar and
            Raymond W Yeung
            Suhas Diggavi
         },
title  = {InformationInequalities.jl: Exploring Information Theoretic Inequalities},
month  = {1},
year   = {2022},
doi    = {10.5282/zenodo.5363564},
url    = {https://github.com/nivupai/InformationInequalities.jl}
}

Features

Note: The package is still under active development and things evolve quickly (or at least should)

  • enclosure of the solution
  • exact characterization of the entropic space
  • verified proof and \LaTeX rendering in display
  • enclosure of singularvalues of the entropic space generator matrix
  • Further work

Installation

Open a Julia session and enter

using Pkg; Pkg.add("InformationInequalities")

this will download the package and all the necessary dependencies for you. Next you can import the package with

using InformationInequalities

and you are ready to go.

Documentation

  • STABLE -- Documentation of the latest release
  • DEV -- Documentation of the current version on main (work in progress)

The package was also presented at BLA! The theoretical basis for this work is developed by Raymond W Yeung. A related video is available here and the slides here. Other references are TBD

Raymond Yeung 2020 talk

Quickstart

Here is a quick demo example from one of the InformationInequalities function. This shows the canonical decomposition and computational tree.

using InformationInequalities
using Plots
E="3I(X;Y|Z)+2H(X|Y,Z)"
A=LinearInformationExpressionToCanonical(E)

-H(X,Y,Z) + 3 H(X,Z) + H(Y,Z) - 3 H(Z).

To plot an Information expression as a tree graph in Entropy co-ordinates,

using InformationInequalities
using Plots
E="3I(X;Y|Z)+2H(X|Y,Z)"
A=plotIE(E)

Contributing

If you spot something strange in the software (something doesn't work or doesn't behave as expected) do not hesitate to open a bug issue.

If have an idea of how to make the package better (a new feature, a new piece of documentation, an idea to improve some existing feature), you can open an enhancement issue.

If you feel like your issue does not fit any of the above mentioned templates (e.g. you just want to ask something), you can also open a blank issue.

Pull requests are also very welcome! More details in the contributing guidelines

References

An excellent introduction to Information Measures is R W Yeung, TBD, 2019, available here

See also the complete list of references for the concepts and algorithms used in this package.

Related packages

  • TBD

Acknowledgment

The development of this package started during TBD.

InformationInequalities

Stable Dev Build Status Coverage