Cómo representar polinomios con vectores numéricos en R

En R, ¿cómo se podría representar expresiones polinomiales y hacer matemáticas polinomiales con los objetos vectoriales numéricos? Por ejemplo:

x1 <- c(2,1)  # 2 + x
x2 <- c(-1,3)  # -1 + 3*x

Y querer:

x1 * x2 # to return -2 + 5*x + 3*x^2 

Nota: Respondí una pregunta esta mañana y luego el póster aparentemente la eliminó (por lo que me pregunto si era la tarea). Por lo tanto, vuelvo a publicar la pregunta de memoria.

Respuestas a la pregunta(3)

Su respuesta a la pregunta