double OptimizationAlgorithmLevenberg::computeLambdaInit() const
 {
   if (_userLambdaInit->value() > 0)
     return _userLambdaInit->value();
   double maxDiagonal=0.;
   for (size_t k = 0; k < _optimizer->indexMapping().size(); k++) {
     OptimizableGraph::Vertex* v = _optimizer->indexMapping()[k];
     assert(v);
     int dim = v->dimension();
     for (int j = 0; j < dim; ++j){
       maxDiagonal = std::max(fabs(v->hessian(j,j)),maxDiagonal);
     }
   }
   return _tau*maxDiagonal;
 }