---
name: entropy
description: "Problem-solving strategies for entropy in information theory"
allowed-tools: [Bash, Read]
---
# Entropy
## When to Use
Use this skill when working on entropy problems in information theory.
## Decision Tree
1. **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
2. **Entropy Properties**
- Non-negative: H(X) >= 0
- Concave in p
- Chain rule: H(X,Y) = H(X) + H(Y|X)
- `z3_solve.py prove "entropy_nonnegative"`
3. **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
4. **Differential Entropy (Continuous)**
- h(X) = -integral f(x) log f(x) dx
- Can be negative!
- Gaussian: h(X) = 0.5 * log2(2*pi*e*sigma^2)
- `sympy_compute.py integrate "-f(x)*log(f(x))" --var x`
5. **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
```bash
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')"
```
### Scipy_Kl_Div
```bash
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
```bash
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.