% sdpsol source minVe_pts -- find minimum volume ellipsoid
%  { x | || A*x+b ||<=1 }
% containing K points in R^n, x_i, i=1,...,K (stored in X, an n-by-K matrix)
%
% maxdet program:
%   minimize    - log det A
%   subject to  || A*x_i+b || <= 1, i=1,...,n
%               A > 0
%
% WARNING: cannot be run from UNIX, since X, n, K are not defined.

variable A(n,n) symmetric;
variable b(n,1);

for i=1:K;
  [eye(n),         A*X(:,i)+b;
   (A*X(:,i)+b)',  1          ] > 0;
end;
A > 0;

minimize obj = -logdet(A);
