Nx+NYnnz|) as a *sparse* symmetric
%   matrix of the appropriate dimension or empty matrix |[]|. The matrix
%   must be in the sparse format even if it has all values nonzero. Note 
%   that callback |mcongrad()| is called within the constructor to retrieve
%   all derivatives (all |i|) of all matrix constraints (all |k|). 
%   It records which derivatives were nonempty and the algorithm later asks
%   only for these. Therefore it is highly recommended to return empty matrix
%   |[]| whenever the mat