def grad(M):
     return NCA._loss_grad_lbfgs(M, X, mask)[1].ravel()
 def fun(M):
     return NCA._loss_grad_lbfgs(M, X, mask)[0]