// Computes the Jacobian from minimal space to naively overparameterised space as used by ceres.
bool HomogeneousPointLocalParameterization::liftJacobian(const double*,
                                                         double* jacobian) {

  Eigen::Map<Eigen::Matrix<double, 3, 4, Eigen::RowMajor> > Jp(jacobian);

  // Euclidean-style
  Jp.setZero();
  Jp.topLeftCorner<3, 3>() = Eigen::Matrix3d::Identity();

  return true;
}
Expression* sintactico::Jp()
{
    if(CurrentToken->tipo == GUION)
    {
        CurrentToken = Lexer->NexToken();
        Expression* izq = K();
        Expression* der = Jp();
        if(der != NULL)
            return new exprNegative(der,Lexer->linea);
        return izq;
    }
    return NULL;
}