lunes, 3 de junio de 2019

OPERACIONES CON POLINOMIOS EN R


OPERACIONES CON POLINOMIOS CON R

Ing. Luis Manfredo Reyes


R es actualmente el lenguaje  estadístico más utilizado en el mundo académico y de investigación, primero por su potencia de procesamiento, y en segundo lugar por ser un software libre.

R  puede ser descargado del siguiente sitio: http://www.r-project.org/
Existen versiones para Windows, Mac, Linux y Android

UN ERROR MUY COMUN POR TODOS LADOS ES: HAY GENTE QUE CREE QUE R ES UN PAQUETE ESTADÍSTICO (COMO SAS O SPSS).

Por ser un lenguaje y no un paquete, R tiene capacidades para muchos procesos, pero se debe reconocer que quizá donde más se le ha utilizado es en el campo de la estadística.
Una de las ventajas de R, es la enorme cantidad de librerías (o paquetes), que han sido desarrolladas para ampliar sus capacidades.

Para el manejo de operaciones con polinomios con R, se recomienda el paquete polynom.


El manual del paquete se puede encontrar en:



Este paquete fue desarrollado por Bill Venables, e incorporado a R por Kurt Hornik y Martin Maechler, publicado el 22 de marzo de 2019 bajo la licencia GPL-2.

Instalar el paquete:
Se realiza desde cualquiera de los espejos CRAN disponibles por todo el mundo.
Por ejemplo, en el espejo CRAN principal, la ubicación del paquete es:

https://cloud.r-project.org/bin/windows/contrib/3.5/polynom_1.4-0.zip


Cargar la librería: 
Library(polynom)

  1. Crear el objeto “Polinomio”
Se usa la función concatenar, los coeficientes se ingresan en orden ascendente de potencias.

El polinomio se puede asignar a un objeto, y su tipo será polynomial.


Ejemplos:
polynomial(c(1, 2, 1))
1 + 2*x + x^2
> polynomial(c(-2,18,6))
-2 + 18*x + 6*x^2
p<-polynomial(c(1,1,1,1,1,1,1,1,1))
p
1 + x + x^2 + x^3 + x^4 + x^5 + x^6 + x^7 + x^8
polynomial(1:4)
1 + 2*x + 3*x^2 + 4*x^3
> p <- as.polynomial(c(1,0,3,0))
> p
1 + 3*x^2.

  1. Calcular un polinomio a partir de sus ceros (raíces)
poly.calc(rep(1,3))

-1 + 3*x - 3*x^2 + x^3

> poly.calc(0:4, (0:4)^2 + 1)

1 + x^2

> poly.calc(0:4, cbind(0:4, (0:4)^2 + 1), lab = letters[1:2])

$`a`

x

$b

1 + x^2


  1. Hallar los ceros de un polinomio
R puede calcular ceros reales o complejos
p <- polynomial(6:1)
 p
 6 + 5*x + 4*x^2 + 3*x^3 + 2*x^4 + x^5
 pz <- solve(p)
 pz
  -1.49180+0.0000i -0.80579-1.2229i -0.80579+1.2229i
 0.55169-1.2533i 0.55169+1.2533i

                p<-polynomial(c(1,1,1,1,1,1,1,1,1))
z<-solve(p)
z
[1] -0.9396926-0.3420201i -0.9396926+0.3420201i -0.5000000-0.8660254i -0.5000000+0.8660254i  0.1736482-0.9848078i
[6]  0.1736482+0.9848078i  0.7660444-0.6427876i  0.7660444+0.6427876i

  1. Derivada de un polinomio

R Calcula la derivada de un polinomio aplicando la regla de la derivada de una potencia


pr <- poly.calc(1:5)

-120 + 274*x - 225*x^2 + 85*x^3 - 15*x^4 + x^5

deriv(pr)

 274 - 450*x + 255*x^2 - 60*x^3 + 5*x^4


  1. Integral de un polinomio
La integral de un polinomio de calcula usando la regla de la antiderivada de una potencia

En el ejemplo se crea un polinomio, se deriva y luego se integra. El resultado debe ser el mismo que al inicio

p <- poly.calc(1:5)

p

-120 + 274*x - 225*x^2 + 85*x^3 - 15*x^4 + x^5

 deriv(p)

274 - 450*x + 255*x^2 - 60*x^3 + 5*x^4

integral(deriv(p)) – 120

-120 + 274*x - 225*x^2 + 85*x^3 - 15*x^4 + x^5


  1. Operaciones aritméticas con polinomios
Los objetos “polynomial” se pueden operar aritméticamente sin problema

p <- polynomial(c(1, 2, 1))

p

 1 + 2*x + x^2

 r <- poly.calc(-1 : 1)

r

 -1*x + x^3

 (r - 2 * p)^2

 4 + 20*x + 33*x^2 + 16*x^3 - 6*x^4 - 4*x^5 + x^6

  1. Graficar un polinomio
Se usa la función plot que es parte del paquete base de R

plot(p <- poly.calc(-1:5))

 p

-120*x+154*x^2+49*x^3-140*x^4+70*x^5-14*x^6+x^7






No hay comentarios:

Publicar un comentario