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]