La clase Polynomial

Hay dos formas de trabajar con polinomios: La primera consiste en representar el polinomio utilizando la clase numpy.polynomial.polynomial.Polynomial (es decir, la clase Polynomial que podemos encontrar en la sublibrería numpy.polynomial.polynomial). Esta clase proporciona los métodos estándar +, -, *, //, %, divmod, ** y (), así como otros métodos y atributos para operar con polinomios.

Al instanciar esta clase, el principal argumento a incluir es una estructura de tipo "array" conteniendo los coeficientes de menor a mayor grado. Por ejemplo, si queremos crear una instancia de esta clase para representar el polinomio 3x4 -2x3 +x2 -5x + 1, lo haríamos del siguiente modo:

p = np.polynomial.polynomial.Polynomial([1, -5, 1, -2, 3])
p

La clase Polynomial

Recuérdese que los coeficientes deben incluirse de menor a mayor grado. Una vez instanciada la clase representando el polinomio ya es posible operar con él, tal y como veremos en las siguientes páginas.

Como se ve en la anterior imagen, el polinomio se muestra también con los coeficientes ordenados de menor a mayor, lo que no coincide con la imagen que muchas personas tienen de un polinomio (ordenados de manera inversa). Para evitar posibles equívocos, en las siguientes páginas se mostrarán los polinomios también con los coeficientes ordenados de forma ascendente.

El posible obtener los coeficientes del polinomio convirtiéndolo en una lista o con el atributo .coef:

list(p)

Obteniendo los coeficientes de un objeto de la clase Polynomial

Por otro lado, el método degree() devuelve el grado del polinomio:

p.degree()

El método degree de la clase Polynomial

La segunda forma de trabajar con polinomios es representarlos por medio de un array (o estructura semejante) de coeficientes. Por ejemplo, el anterior polinomio vendría representado de la siguiente forma:

c = [1, -5, 1, -2, 3] # Coeficientes del polinomio

Trabajando con este formato hay en la librería np.polynomial.polynomial numerosas funciones para operar con el polinomio.

Cuando trabajemos con la clase Polynomial, cuando la aplicación de un método a una instancia de esta clase devuelva un polinomio, éste estará representado por un objeto de la misma clase. Por el contrario, cuando trabajemos con coeficientes, el resultado de una función será también un listado de coeficientes.

En las próximas páginas veremos los métodos y funciones equivalentes (si existen) para diferentes operaciones con polinomios.