Este método tiene su fundamento teórico en la factorización algebraica avanzada.
Se utiliza para resolver ecuaciones polinómicas de cuarto grado de la forma:
Fue desarrollado por Ludovico Ferrari en el siglo XVI, alumno de Gerolamo Cardano, y es el primer método conocido para obtener una fórmula general que resuelve ecuaciones cuárticas, el procedimiento de Ferrari convierte la ecuación original en una forma que puede ser reducida a una ecuación cuadrática mediante el uso de una variable auxiliar y un cambio de variable inicial.
El algoritmo para resolver una ecuación cuártica por el método de Ferrari se basa en los siguientes puntos:
- Eliminar el término cúbico mediante un cambio de variable (normalmente
x = y - b/(4a)
). - Reescribir la ecuación resultante como un cuadrado de binomio.
- Introducir una variable auxiliar
z
que permite completar un trinomio cuadrado perfecto. - Resolver la ecuación cúbica auxiliar para determinar el valor adecuado de
z
. - Usar este valor para factorizar la ecuación cuártica en dos ecuaciones cuadráticas.
- Resolver ambas ecuaciones cuadráticas para obtener las raíces finales.
Este método permite obtener todas las raíces reales y complejas de una ecuación de cuarto grado.
EJEMPLO 1
f(x) = x⁴ − 2x³ − 5x² + 10x − 3
- Raíz 1: 2.3094 (real)
- Raíz 2: 0.4473 (real)
- Raíz 3: -0.3784 + 1.2347i (compleja)
- Raíz 4: -0.3784 − 1.2347i (compleja)
El intervalo [-2, 4]
EJEMPLO 2
\(f\left(x\right)=x^{4}-4x^{2}+3\)
-
Raíz 1:
-
Raíz 2:
-
Raíz 3:
-
Raíz 4:
El intervalo:
EJEMPLO 3
-
Raíz 1:
-
Raíz 2:
-
Raíz 3:
(compleja)
-
Raíz 4:
(compleja)
Raíz 1:
Raíz 2:
Raíz 3: (compleja)
Raíz 4: (compleja)
El intervalo
import numpy as np
import matplotlib.pyplot as plt
#EJEMPLO 1
# Coeficientes de la ecuación: x^4 - 2x^3 - 5x^2 + 10x - 3
coef = [1, -2, -5, 10, -3]
# Obtener raíces
raices = np.roots(coef)
# Mostrar raíces
print("Raíces de la ecuación x⁴ - 2x³ - 5x² + 10x - 3 = 0:")
for i, r in enumerate(raices, 1):
print(f"Raíz {i}: {r}")
# Graficar la función
x_vals = np.linspace(-2, 4, 400)
y_vals = np.polyval(coef, x_vals)
plt.figure(figsize=(10, 5))
plt.plot(x_vals, y_vals, label="f(x)", color="blue")
plt.axhline(0, color="black", linestyle="--")
plt.title("Ecuación cuártica: $x^4 - 2x^3 - 5x^2 + 10x - 3$")
plt.xlabel("x")
plt.ylabel("f(x)")
plt.grid(True)
plt.legend()
plt.show()