Función para calcular el valor del polinomio a partir de escalar o matriz en R

Necesito ayuda para crear funciones (matemáticas) para contar algunas operaciones básicas. De hecho, soy un principiante y realmente no sé cómo hacerlo. @Mi tarea es hacer una función, que puede ser un valor de polinomio de escalar o matriz.

Primer ejemplo de polinomio es p1 = 1 + t, el segundo polinomio es p2 = 1+ t + t ^ 2

a <- matrix( c( 2, 0, 0, 1), 2, 2)

p1 <- c( 1, 1)
p2 <- c(1, 1, 1)

Mis resultados esperados:

El uso de una función metódica para calcular el valor de un polinomio a partir de un escalar:

math( x1 = p1, x2 = 0)
output: 1
math( x1 = p1, x2 = 2)
output: 3
math( x1 = p2, x2 = 2)
output: 7
math( x1= p2, x2 = 1)
output: 3

El uso de una función metódica para calcular el valor de un polinomio a partir de una matriz:

math( x1 = p1, x2 = a)
     [,1] [,2]
[1,]    3    0
[2,]    0    2

math( x1= p2, x2 = a)

     [,1] [,2]
[1,]    7    0
[2,]    0    3

Respuestas a la pregunta(1)

Su respuesta a la pregunta