SKILL.md
Entropy
When to Use
Use this skill when working on entropy problems in information theory.
Decision Tree
- Shannon Entropy
- H(X) = -sum p(x) log2 p(x) - Maximum for uniform distribution: H_max = log2(n) - Minimum = 0 for deterministic (one outcome certain) - scipy.stats.entropy(p, base=2) for discrete
- Entropy Properties
- Non-negative: H(X) >= 0 - Concave in p - Chain rule: H(X,Y) = H(X) + H(Y|X) - z3solve.py prove "entropynonnegative"
- Joint and Conditional Entropy
- H(X,Y) = -sum sum p(x,y) log2 p(x,y) - H(Y|X) = H(X,Y) - H(X) - H(Y|X) <= H(Y) with equality iff independent
- Differential Entropy (Continuous)
- h(X) = -integral f(x) log f(x) dx - Can be negative! - Gaussian: h(X) = 0.5 log2(2piesigma^2) - sympy_compute.py integrate "-f(x)*log(f(x))" --var x
- Maximum Entropy Principle
- Given constraints, max entropy distribution is least biased - Uniform for no constraints - Exponential for E[X] = mu constraint - Gaussian for E[X], Var[X] constraints
Tool Commands
Scipy_Entropy
uv run python -c "from scipy.stats import entropy; p = [0.25, 0.25, 0.25, 0.25]; H = entropy(p, base=2); print('Entropy:', H, 'bits')"
ScipyKlDiv
uv run python -c "from scipy.stats import entropy; p = [0.5, 0.5]; q = [0.9, 0.1]; kl = entropy(p, q); print('KL divergence:', kl)"
Sympy_Entropy
uv run python -m runtime.harness scripts/sympy_compute.py simplify "-p*log(p, 2) - (1-p)*log(1-p, 2)"
Key Techniques
From indexed textbooks:
- [Elements of Information Theory] Elements of Information Theory -- Thomas M Cover & Joy A Thomas -- 2_, Auflage, New York, NY, 2012 -- Wiley-Interscience -- 9780470303153 -- 2fcfe3e8a16b3aeefeaf9429fcf9a513 -- Anna’s Archive. What is the channel capacity of this channel? This is the multiple\-access channel solved by Liao and Ahlswede.
Cognitive Tools Reference
See .claude/skills/math-mode/SKILL.md for full tool documentation.