# Entropy maximization

Jump to: Source code Text output Plots Library index

    % Joëlle Skaf - 04/24/08
    %
    % Consider the linear inequality constrained entroy maximization problem
    %           maximize    -sum_{i=1}^n x_i*log(x_i)
    %           subject to  sum(x) = 1
    %                       Fx <= g
    % where the variable is x \in \reals^{n}

    % Input data
    randn('state', 0);
    rand('state', 0);
    n = 20;
    m = 10;
    p = 5;

    tmp = rand(n,1);
    A = randn(m,n);
    b = A*tmp;
    F = randn(p,n);
    g = F*tmp + rand(p,1);

    % Entropy maximization
    cvx_begin
        variable x(n)
        maximize sum(entr(x))
        A*x == b
        F*x <= g
    cvx_end

    % Results
    display('The optimal solution is:' );
    disp(x);

    Successive approximation method to be employed.
       SDPT3 will be called several times to refine the solution.
       Original size: 65 variables, 35 equality constraints
       20 exponentials add 160 variables, 100 equality constraints
    -----------------------------------------------------------------
     Cones  |             Errors              |
    Mov/Act | Centering  Exp cone   Poly cone | Status
    --------+---------------------------------+---------
     20/ 20 | 1.734e+00  1.965e-01  0.000e+00 | Solved
     19/ 20 | 1.190e-01  1.021e-03  0.000e+00 | Solved
     18/ 20 | 4.647e-03  1.546e-06  0.000e+00 | Solved
      1/ 12 | 5.714e-04  2.291e-08  0.000e+00 | Solved
      0/  0 | 0.000e+00  0.000e+00  0.000e+00 | Solved
    -----------------------------------------------------------------
    Status: Solved
    Optimal value (cvx_optval): +5.70335

    The optimal solution is:
        0.3445
        0.3181
        0.7539
        0.8020
        0.6418
        0.3517
        0.1981
        0.2578
        0.6373
        0.3357
        0.7109
        0.8998
        0.6085
        0.6444
        0.3061
        0.4522
        0.8886
        0.7801
        0.3106
        0.6131