kl_div function

Kullback-Leibler Divergence

Kullback-Leibler Divergence

The elementwise Kullback-Leibler divergence, xlog(x/y)x+yx\log(x/y) - x + y. methods

kl_div(x, y)

Arguments

  • x: An Expression , vector, or matrix.
  • y: An Expression , vector, or matrix.

Returns

An Expression representing the KL-divergence of the input.

Examples

n <- 5 alpha <- seq(10, n-1+10)/n beta <- seq(10, n-1+10)/n P_tot <- 0.5 W_tot <- 1.0 P <- Variable(n) W <- Variable(n) R <- kl_div(alpha*W, alpha*(W + beta*P)) - alpha*beta*P obj <- sum(R) constr <- list(P >= 0, W >= 0, sum(P) == P_tot, sum(W) == W_tot) prob <- Problem(Minimize(obj), constr) result <- solve(prob) result$value result$getValue(P) result$getValue(W)
  • Maintainer: Anqi Fu
  • License: Apache License 2.0 | file LICENSE
  • Last published: 2024-11-07