Following code reproduces the Figure 1 (EM and MM minorizes the log-likelihood) in manuscript.

In [1]:
versioninfo()
Julia Version 0.6.3
Commit d55cadc350 (2018-05-28 20:20 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin14.5.0)
  CPU: Intel(R) Core(TM) i7-6920HQ CPU @ 2.90GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, skylake)

Read in the data points:

In [2]:
L = readdlm("logL.txt", Float64)
Qem = readdlm("g_EM.txt", Float64)
Gmm = readdlm("g_MM.txt", Float64);
In [3]:
using PyPlot, LaTeXStrings

σ1grid = 17.7:0.01:19
σ2grid = 0.65:0.01:0.8
plot_surface(σ1grid, σ2grid, L, color=:black, alpha=0.75)
plot_surface(σ1grid, σ2grid, Gmm, color=:black, alpha=0.50)
plot_surface(σ1grid, σ2grid, Qem, color=:gray, alpha=0.25)
xlabel(L"\sigma_1^2", fontsize=12)
ylabel(L"\sigma_2^2", fontsize=12)
xticks([18, 18.5, 19])
yticks([0.7, 0.75, 0.8])
zticks([-522, -521.5, -521, -520.5])
annotate("logL", xy=[0.08; 0.47], xycoords="axes fraction", fontsize=15)
annotate("MM", xy=[0.09; 0.39], xycoords="axes fraction", fontsize=15)
annotate("EM", xy=[0.11; 0.23], xycoords="axes fraction", fontsize=15)
savefig("MMvsEM.svg")
savefig("MMvsEM.png")