Un polinomio es una expresión algebraica que consta de variables o incógnitas y números relacionados mediante sumas, restas, multiplicaciones y potencias. Si hay una sola variable “x”, un polinomio se puede reescribir como anxn + an-1xn-1 + an-2xn-2 + … + a1x + a0.
Trabajemos con polinomios usando wxMaxima . Maxima es el programa que realiza los cálculos matemáticos simbólicos y wxMaxima es una interfaz gráfica amigable. Primero, definimos un polinomio, p: x^3 + 4*x^2 + 5*x+ 7; Observa que xn se escribe como “x^n”.
Puedes cambiar el idioma en wxMaxima navegando por Edit, Configure, Options. Haz click en Language y selecciona Spanish.
Dibujémoslo: Selecciona en el menú Tramado (en inglés Plot) la opción Tramado 2d… (Plot2D…) o escribe wxplot2d ([x^3 + 4*x^2 + 5*x + 7], [x, -5, 5]); Observa la orden para trabajar con funciones y gráficas en Maxima: plot2d (expr, range_x, options), donde expr es una expresión que depende de una sola variable o el nombre de una función (por ejemplo, “sin”, “sqrt”, o “abs”). range_x es una lista con tres elementos: el primero es el nombre de la variable y los otros dos definen el rango, es decir, los valores mínimo y máximo.
Si queremos sustituir la variable x en nuestro polinomio por un valor concreto (por ejemplo, 1), se usa el comando subst: subst(1, x, p); También puedes escribir: p, x = 1;
Operaciones básicas con polinomios
Primero, definamos los polinomios p y q: p: x^3 + 2*x^2 + 5; q: 3*x^2 + 5*x + 7;
Sumamos (p + q) y restemos ambos polinomios (p - q). Lo más importante es identificar y combinar los términos semejantes presentes en ambos polinomios. Los términos semejantes son aquellos cuyas variables y exponentes son idénticos como, por ejemplo, 2*x2 + 3*x2 = 5*x2, 2*x2 - 3*x2 = -x2
p + 2 * q; devuelve x^3 + 2*(3*x^2 + 5*x +7) + 2*x^2 + 5. Selecciona Simplificar expresión (Simplify Expression) del menú Simplificar (Simplify) o escribe ratsimp (%) para simplificar nuestra última expresión polinomial.
Para multiplicar dos polinomios (p*q): multiplica cada término del primer polinomio por cada término del segundo; suma los resultados y combina todos los términos similares (5*x4 + 6*x4 = 11*x4).
p*q = x3*q + 2*x2*q + 5q = 3*x5 + 5*x4 + 7*x3 + 6*x4 + 10*x3 + 14*x2 + 15*x2 + 25*x + 35 = 3*x5 +11*x4 +17*x3 + 29*x2 + 25*x + 35.
Recuerda que al multiplicar dos monomios obtienes otro monomio cuyo coeficiente es el producto de los coeficientes de los dos monomios y la incognita tiene por exponente la suma de los exponentes de los monomios: 2*x2 * 5*x3 = 10*x5;
Los ejemplos hasta este momento se han limitado a expresiones que contienen una sola variable como, por ejemplo, p: x^3 + 2*x^2 + 5; q: 3*x^2 + 5*x + 7; pero los polinomios también pueden contener múltiples variables o incognitas. ratsimp((3*x-4*y) * (5*x-2*y)); devuelve 8*y2 -26*x*y + 15*x2. expand((2*x + 3*y)*(3*x + 4*y + 7)); = 12*y2 + 17*x*y + 21*y + 6*x2 +14*x. El comando de Maxima expand()expande una expresión.
Dividamos dos polinomios: Análisis, Dividir polinomios… o simplemente escribe: divide(p, q); Devuelve el cociente y el resto del polinomio p dividido por el polinomio q, [(3*x+1) ⁄ 9, -(26*x-38) ⁄ 9]. Sabemos que dividendo (p) = divisor (q) × cociente + resto, entonces comprobemos que ratsimp(q * (3*x+1) ⁄ 9 -(26*x-38) ⁄ 9); devuelve p.
Podemos extraer los coeficientes de un polinomio: coeff(3*b^3*a^4 + 2*b^2*a^2 + 4*b*a + 1, a^4); devuelve el coeficiente de a^4 que resulta ser 3*b^3. bothcoeff (3*b^3*a^4 + 2*b^2*a^2 + 4*b*a + 1, a^4); devuelve el coeficiente de a^4 y los términos restantes, [3*b^3, 2*a^2*b^2 + 4*a*b +1]. Además, hipow (y^3 * x^2 + x * y^4, x); devuelve el mayor exponente de x, 2.
Factorización de un polinomio
La factorización de un polinomio es la descomposición de un polinomio P (x) en polinomios irreducibles (aquellos que no se pueden expresar como productos de polinomios de menor grado): factor(6*x^4 -12*x^3 +4*x^2); devuelve 2*x^2* (3*x^2 -6*x + 2). 2*x2 y 3*x2 -6*x + 2 son polinomios irreducibles.
factor(x^4 -16); devuelve (x-2)(x+2)(x^2 + 4). Es bastante simple, sustituimos x^2 = t, entonces x^4 -16 se transforma en t^2 -16. factor (t^2 -16); = (t - 4) (t + 4). Y, en consecuencia, x^2 = 4 (x = 2, x = -2) y x^2 = -4.
En general, si deseas factorizar un polinomio, es posible que necesites extraer un factor común: x^2 + x = x(x + 1), 6*x^4 -12*x^3 +4*x^2 = 2*x^2* (3*x^2 -6*x + 2), usar fórmulas notables 25*x^2 -49 = (5*x)^2-(7)^2=(5*x-7)(5*x+7) donde estamos usando (a+b)(a-b)=a2 -b2 o dividir el polinomio entre (x-a) por el método de Ruffini.
Raíces de un polinomio
Las raíces o ceros de un polinomio son los valores de la variable que anulan el polinomio, es decir, que hacen que el polinomio se evalúe a cero. Dicho de otra manera, la raíz de un polinomio P(x) es ese valor “a” tal que P(a) = 0.
solve(x^4 -6*x^3 +5*x^2 +24*x -36); devuelve [x = -2, x = 2, x = 3]
Como se muestra a continuación, las raíces de un polinomio son aquellos valores de la variable que hacen que el polinomio se evalúe a cero, por lo que son los valores donde su gráfica cruza o “corta” el eje x.
Gnuplot es un programa de representación gráfica de funciones y superficies y visualización gráfica de datos. Nos proporciona una interfaz de línea de comandos. La orden set grid dibuja las líneas de cuadrícula para el gráfico. El comando set xzeroaxis dibuja una línea en y = 0. set xrange [-5: 5] y set yrange [-60: 40] nos permiten establecer los rangos horizontal y vertical de la gráfica. plot y splot son los comandos principales en Gnuplot, por ejemplo, plot sin(x)/x, splot sin(x*y/20), o plot [-5:5] x**4 -6*x**3 +5*x**2 +24*x -36, donde x**4 es x4 y -6*x**3 is -6*x3.
WolframAlpha es una gran herramienta para encontrar las raíces de un polinomio, así como, para representar gráficamente y factorizar polinomios.
solve (x ^ 4-16); encuentra todas las raíces reales y complejas de x4 -16 = [x = 2%i, x = - 2, x = -2%i, x = 2] = ("% i" significa i) [x = 2i, x = -2, x = -2i, x = 2]
Raíces y factorización de un polinomio con Python
vim factor.py
>>>importsympy>>>x=sympy.Symbol('x')# Las variables SymPy son objetos de la clase Symbol.>>>polinomio=x**4-6*x**3+5*x**2+24*x-36# polinomio = x4 -6*x3 +5*x2 +24*x -36>>>print(sympy.solve(polinomio))# sympy.solve resuelve algebraicamente ecuaciones y polinomios. Las raíces del polinomio son [-2,2,3]>>>print(sympy.factor(polinomio))# sympy.factor toma un polinomio como argumento y lo factoriza en sus polinomios irreducibles(x-3)**2*(x-2)*(x+2)>>>polinomio2=2*x**4+x**3-8*x**2-x+6>>>print(sympy.solve(polinomio2))[-2,-1,1,3/2]>>>print(sympy.factor(polinomio2))(x-1)*(x+1)*(x+2)*(2*x-3)>>>polinomio3=x**4-16>>>print(sympy.solve(polinomio3))[-2,2,-2*I,2*I]>>>print(sympy.factor(polinomio3))(x-2)*(x+2)*(x**2+4)importnumpyasnp# NumPy es una biblioteca para trabajar con arrays (vectores y matrices)importmatplotlib.pyplotcomoplt# Matplotlib es una biblioteca para la generación de gráficos en PythonX=np.linspace(-5,5,50,endpoint=True)# Devuelve un array de números o datos espaciados uniformemente sobre el intervalo [-5, 5] que utilizaremos como nuestros valores en el eje x.defp(x):returnx**4-6*x**3+5*x**2+24*x-36# Este es el polinomio que vamos a representar gráficamente.F=p(X)# Calculamos los valores correspondientes al eje "y" y los almacenamos en F.plt.ylim([-60,40])# Establecemos los límites del eje y.plt.plot(X,F)# Los valores almacenados en X y F se dibujan usando la función plot() de Matplotlib.plt.show()# Finalmente, la representación gráfica del polinomio se muestra usando la función show().
Ecuaciones de primer grado
Una ecuación es una igualdad algebraica entre dos expresiones matemáticas, denominadas miembros, en las que aparecen una o más variables. Los dos miembros están separados por el signo igual “=” y, al menos, deben contener un número o cantidad desconocida, llamada variable o incognita y que se representa por una letra (x, y, ó z). Algunos ejemplos de ecuaciones son 7*x = 12, 2*x + 6 = 8, x2 + 4*x + 4 = 0, etc. Resolver una ecuación es encontrar los valores de las incógnitas que, al ser sustituidos en la ecuación y realizar las operaciones indicadas, se llegue a que la igualdad sea cierta. El grado de una ecuación es el exponente más elevado al que esté elevado la incognita o incógnitas de la ecuación.
Una ecuación de primer grado es una ecuación que, después de ser reducida o simplificada, solo posee monomios de grado uno. Por ejemplo, 2 * x + 6 = x + 4. Definimos la ecuación: eq: 2 * x + 6 = x + 4; y le pedimos a Maxima que la resuelva: solve (eq);. Devuelve [x = -2].
Resolvamos la ecuación: 1. Recolocamos los términos: Mueve los monomios que llevan la incognita (“x”) a la izquierda y los términos que no la llevan a la derecha: 2 * x -x = 4 -6. Observa que un término se puede mover de un miembro (lado) de una ecuación al otro siempre que se cambie el signo del término. 2. Ahora simplifica los términos similares: x = -2.
Gráficamente, “2*x + 6” y “x + 4” son dos rectas o líneas secantes que se cruzan en x = -2, es decir, en la solución de la ecuación.
Veamos otro ejemplo. eq: x +1 -3*x = 4 -3*x +6 +x; Pidamos a Maxima que lo resuelva: solve(eq); Maxima devuelve []; lo que obviamente significa que la ecuación no tiene solución.
A. Recolocamos o reescribimos los términos: x -3*x +3*x -x = 4 + 6 - 1. B Simplificamos: 0 = 9. La ecuación no tiene solución. Es una ecuación imposible. Gráficamente, 1 - 2*x, 10 -2*x son dos rectas o líneas paralelas (tienen la misma pendiente m = -2) y, en consecuencia, no hay soluciones o valores donde se crucen.
Finalmente, x + 4 -3*x = 1 -3*x +x +3; solve(eq); devuelve all, todo. A. Recolocamos o reescribimos los términos: x -3*x +3*x -x = 1 + 3 -4. B. Simplifica: 0 = 0. Por lo tanto, cualquier número es solución de esta ecuación. Aquí nos encontramos con una ecuación que admite infinidad de soluciones. La representación gráfica nos muestra que no hay realmente dos rectas, sino una sola y, por consiguiente, cualquier valor x satisface la ecuación.
Ecuaciones de segundo grado
Las ecuaciones cuadráticas o de segundo grado son aquellas en las que, una vez simplificadas, el mayor exponente al que se eleva la incógnita es 2.
Definamos la ecuación eq: x^2 -5*x +6 = 0; y le pedimos a Maxima que la resuelva solve(eq); y la represente gráficamente wxplot2d ([x^2 -5*x + 6], [x, -5, 5]) ; También la vamos a representar gráficamente utilizando gnuplot.
La solución es: x = -b ± √b2 -4*a*c⁄2*a = 5 ± √52 -4*1*6⁄2*1 = 5 ± √25 -24⁄2 = 5 ± 1⁄2. devuelve x2 -5*x + 6 y su gráfica es una parábola. Sus dos raíces (2, 3) son las intersecciones con el eje x de la gráfica (los valores de x donde el gráfico cruza el eje x).
Otro ejemplo es: eq: x^2 -8*x +16 = 0; A continuación, le pedimos a Maxima que lo resuelva (solve(eq);) y lo grafique: wxplot2d ([x^2 -8*x +16], [x, -1,6 ]); También, vamos a escribir la misma ecuación en WolframAlpha . Obviamente, obtenemos los mismos resultados con ambas aplicaciones.
La solución es: x = -b ± √b2 -4*a*c⁄2*a = 8 ± √82 -4*1*16⁄2*1 = 8 ± √64 -64⁄2 = 8 ± 0⁄2. Es una raíz doble: 4. expand ((x-4) * (x-4)); devuelve x^2 -8*x +16 y su gráfico también es una parábola, pero que no cruza el eje x, solo lo toca en x = 4.
Finalmente, vamos a resolver una tercera ecuación cuadrática: eq: x ^ 2 + 4; solve (eq); devuelve [x = -2i, x = 2i] y le pedimos a Maxima que nos lo represente gráficamente: wxplot2d ([x ^ 2 + 4], [x, -5, 5]));
La solución es: x = -b ± √b2 -4*a*c⁄2*a = 0 ± √02 -4*1*4⁄2*1 = ± √-16⁄2 = ± 4i⁄2 = ±2i. expand((x-2%i)*(x+2%i)); devuelve x^2 +4. No hay raíces reales y el gráfico no cruza ni toca el eje x. Su gráfica nos muestra que las raíces de la ecuación son números complejos.
>>>importsympy# Vamos a resolverlo en Python usando SymPy>>>x=sympy.Symbol('x')# Las variables SymPy son objetos de la clase Symbol.>>>equation=x**2+4# Define la ecuación x2 + 4>>>print(sympy.solve(equation))# sympy.solve resuelve algebraicamente ecuaciones y polinomios. Las raíces de la ecuación son:[-2*I,2*I]>>>print(sympy.factor(equation))# Le pedimos a Python que factorice nuestra ecuación (x-2i) (x+2i), pero falla.importnumpyasnp# NumPy es una biblioteca para trabajar con arrays (vectores y matrices)importmatplotlib.pyplotcomoplt# Matplotlib es una biblioteca para la generación de gráficos en PythonX=np.linspace(-5,5,50,endpoint=True)# Devuelve un array de números o datos espaciados uniformemente sobre el intervalo [-5, 5] que utilizaremos como nuestros valores en el eje x.defp(x):returnx**2+4# Este es el polinomio que vamos a representar gráficamente.F=p(X)# Calculamos los valores correspondientes al eje "y" y los almacenamos en F.plt.ylim([0,30])# Establecemos los límites del eje yplt.plot(X,F)# Los valores almacenados en X y F se dibujan usando la función plot() de Matplotlib.plt.show()# Finalmente, la representación gráfica de la ecuación o polinomio se muestra usando la función show().
Sistemas de ecuaciones con dos incógnitas
Un sistema de ecuaciones lineales consta de dos o más ecuaciones lineales (es decir, cada ecuación es de primer grado) compuestas por dos o más variables, de modo que todas las ecuaciones se consideran simultáneamente. La solución consiste en encontrar los valores desconocidos de las variables que satisfacen todas las ecuaciones. Un sistema de ecuaciones con dos incógnitas consta de dos ecuaciones lineales de la forma
a * x + b * y = c
d * x + e * y = f
La solución a un sistema de ecuaciones lineales con dos incógnitas es cualquier par ordenado (x, y) que satisfaga cada ecuación de forma independiente y, gráficamente, es el punto en el que las rectas que representan las ecuaciones lineales se cruzan.
Supongamos que hay una bonita granja con pollos y conejos. Tenemos 4 cabezas y 14 patas. ¿Cuántos pollos tenemos en la granja? ¿Cuántos conejos?
Podemos formular un par de ecuaciones con la información que tenemos. Sabemos que la afirmación “tenemos cuatro cabezas” significa que hay cuatro animales en total, entre pollos y conejos. También, recordamos que los conejos tienen cuatro patas y las gallinas, dos. Por consiguiente, supongamos que X es el número de pollos e Y es el número de conejos. El problema se puede reescribir o expresar como …
Entonces, hay un pollo y tres conejos. Pidamos a Maxima y WolfranAlpha que lo resuelvan. Definimos “system” como el sistema de ecuaciones con dos incógnitas o variables: system: [x + y = 4, 2 * x + 4 * y = 14]; y usamos la orden solve(system); para encontrar su solución. Finalmente, lo representamos gráficamente usando wximplicit_plot. Observa que es necesario cargar el paquete implicit_plot antes de poder usar esta orden: load (implicit_plot);
En un sistema de ecuaciones lineales, cada ecuación se corresponde con una recta. Se trata de un sistema de ecuaciones lineales compatible y determinado con una única solución (3, 1). Este es el punto donde las dos rectas secantes se cruzan.
A continuación, resolvamos otro sistema de ecuaciones: 3*x +2*y = 7, 8*x -6*y = -4. Es otro sistema de ecuaciones lineales compatible y determinado con una única solución (1, 2).
Resolvamos un tercer sistema de ecuaciones: 3*x+2*y=7, 9*x+6*y=21. Se trata, en esta ocasión, de un sistema de ecuaciones lineales compatible e indeterminado. Tiene infinitas soluciones y sus rectas son coincidentes.
Las dos rectas son, en realidad, una sola, por lo que cada par de coordenadas es una solución para ambas ecuaciones: (1, 2), (3, -1), etc. Las ecuaciones en un sistema de ecuaciones lineales dependientes se pueden obtener la una a partir de la otra pues describen la misma línea; por lo que 9*x + 6*y = 21 es básicamente la misma ecuación que 3*x + 2*y = 7. Es el resultado de multiplicar ambos miembros o lados de la ecuación por 3.
Finalmente, vamos a resolver este sistema de ecuaciones: 3*x + 2*y = 7, 6*x + 4*y = 15. Este es un sistema de ecuaciones lineales incompatible o inconsistente. No tiene solución. Las dos rectas son paralelas y no se cruzan.
Una desigualdad es una proposición que relaciona dos números o expresiones algebraicas cuando estos son distintos, por ejemplo, -3*x-7<2*x-5, 5*y-2>14, etc.
Resolvamos esta desigualdad: 3 * (x + 5) <= 4 * (x-3) + 6. A. Reescribimos los términos de la misma manera que lo hicimos con las ecuaciones: 3 * x + 3 * 5 <= 4 * x -4 * 3 +6. 3 * x-4 * x <= -12 + 6-15. B. Simplificamos los términos semejantes: -x <= -21. C. Sin embargo, hay una gran diferencia, cuando multiplicamos o dividimos ambos miembros o lados de la desigualdad por un número negativo (-1), cambiamos o variamos su dirección o sentido: x ≥ 21.
Para resolver desigualdades simples en Maxima usa la orden solve_rat_ineq: solve_rat_ineq (3 * (x + 5) <= 4 * (x-3) + 6);. Previamente, debes cargar el paquete solve_rat_ineq: load(“solve_rat_ineq”);
Una desigualdad de mayor dificultad es: x^2 <= 7*x -10. Usamos el comando: to_poly_solve ([S], [x]); tal como se muestra en la captura de pantalla donde S: x^2 <= 7*x -10; Para acceder a una función en un paquete, primero debe cargar dicho paquete: load(fourier_elim); Sin embargo, desgraciadamente, este paquete o librería es experimental, por lo que te recomendamos utilizar WolfranAlpha. También, hemos representado gráficamente las funciones x^2 y 7*x -10 y podemos observar que [2, 5] es la solución.
Siempre puedes resolver la ecuación x^2 -7*x -10 = (x-2)(x-5) y demostrar que x^2 -7*x -10 <= 0 entre sus raíces.
(-∞, 2): x^2 - 7*x -10> 0;
[2, 5]: x^2 -7*x -10 <= 0;
(5, -∞): x^2 - 7*x -10> 0
Esta web utiliza 'cookies' propias y de terceros para ofrecerte una mejor experiencia y servicio. Al navegar o utilizar nuestros servicios, estas aceptando nuestra Política de Cookies, así como, nuestros Términos y condiciones de uso.