rad, conhess 
%   mconfun, mcongrad, mconhess 
%
% alternatively objhess + conhess -> lagrhess
% 
%   [fx, userdata] = objfun(x,Y,userdata)   
%
% returns a number
% 
%   [fdx, userdata] = objgrad(x,Y,userdata) 
%
% returns a (possibly sparse)
% vector w.r.t. all variables (even matrix ones), if objfun doesn't
% depend on |Y| it can be just |Nx| long, otherwise |Nx+NYnnz|
% 
% Callbacks can be defined without |Y|, userdata as the parameters (really?)
% but they always need to return userdata