NumPy allowed · plain Python earns 10 bonus points
Computed matrix × vector transformation
Evaluate fundamental information-theoretic metrics on discrete probability distributions.
Implement shannon_and_cross_entropy(p, q): compute base-2 Shannon entropy H(p) = -sum(p_i * log2(p_i)), cross-entropy H(p, q) = -sum(p_i * log2(q_i)), and Kullback-Leibler divergence D_KL(p || q) = H(p, q) - H(p). Skip terms where p_i < 1e-12. Return {"entropy_p": float, "cross_entropy": float, "kl_div": float} rounded to 4 decimals.
shannon_and_cross_entropy(p: list[float], q: list[float]) -> dict[str, float]