Pkg Info | Build status | Documentation | Citation | Contributing |
---|---|---|---|---|
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}
}
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
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.
- 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
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)
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
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.
- TBD
The development of this package started during TBD.