Dejemos que $f(x_1,\ldots, x_n)\in\Bbbk [x_1,\ldots,x_n]$ sea un polinomio dado (suponga $\Bbbk$ cerrado algebraicamente si se quiere). Supongamos que nos dan $n$ polinomios $v_1,\ldots v_n \in\Bbbk[x_1,\ldots, x_n]$ . Supongamos que conozca que existe un polinomio $P(t_1,\ldots,t_n)\in\Bbbk[t_1,\ldots,t_n]$ tal que
$$f(x_1,\ldots,x_n)=P(v_1(x_1,\ldots,x_n),\ldots,v_n(x_1,\ldots,x_n))\in\Bbbk[x_1,\ldots,x_n]$$
Cómo encontrar $P$ explícitamente? ¿Existe algún programa informático que pueda resolver fácilmente este problema?
También me interesan las respuestas bajo la hipótesis de que $v_1,\ldots, v_n$ son homogéneos de grados $d_1,\ldots, d_n$ (y posiblemente algunas suposiciones simplificadoras sobre $d_i$ ), y/o $f$ es en sí mismo homogéneo.
Para mí esto es sólo una pregunta práctica que es lo suficientemente natural como para ser preguntada en MO; me disculpo si es totalmente trivial para algunas personas más conocedoras de los asuntos computacionales.