Inicio · Parte 02 — Álgebra y funciones
Δ = b² − 4ac
Δ > 0: dos raíces reales · Δ = 0: una doble · Δ < 0: dos complejas conjugadas
El discriminante es un ejemplo de una idea muy general: obtener información cualitativa sobre la solución sin resolver. Su signo determina la naturaleza de las raíces, y calcularlo cuesta tres operaciones frente a las siete de la fórmula completa. En una implementación, comprobar el discriminante antes de llamar a sqrt evita una excepción o un NaN.
Los tres casos tienen lectura geométrica: Δ > 0 significa que la parábola corta el eje x en dos puntos; Δ = 0, que lo toca en uno (el vértice está sobre el eje); Δ < 0, que no lo corta. Las raíces complejas no son un artefacto: describen oscilaciones, y en la parte 13 aparecerán como las frecuencias de una señal.
El caso Δ = 0 es delicado numéricamente. Comprobar Δ == 0 con floats casi nunca es correcto: el discriminante calculado rara vez da exactamente cero aunque la raíz sea doble. Hay que usar una tolerancia relativa a la escala de los coeficientes, decisión que debe documentarse.
La misma idea —un indicador que clasifica antes de resolver— reaparece en el determinante para sistemas (clase 045), en el signo de los autovalores del Hessiano para puntos críticos (clase 169) y en el signo del producto f(a)·f(b) para la bisección (clase 222).
Los tres casos con sus coeficientes.
Caso (a, b, c) Δ = b²−4ac naturaleza
dos reales (1, −5, 6) 25 − 24 = 1 2 raíces: 3 y 2
una doble (1, −4, 4) 16 − 16 = 0 1 raíz doble: 2
complejas (1, 1, 1) 1 − 4 = −3 2 conjugadas
Complejas explícitas: (−1 ± i√3)/2
Precaución numérica:
comprobar Δ == 0 con floats es casi siempre incorrecto;
usar |Δ| < tol · max(|b²|, |4ac|)
El discriminante clasifica las raíces antes de calcularlas.
python classes/part-02-algebra-y-funciones/049-formula-cuadratica-y-discriminante/lab.py
compmath run 049
dos_realesuna_doblecomplejas{
"dos_reales": {
"coeficientes": [
1.0,
-5.0,
6.0
],
"discriminante": 1.0,
"naturaleza": "2 reales"
},
"una_doble": {
"coeficientes": [
1.0,
-4.0,
4.0
],
"discriminante": 0.0,
"naturaleza": "1 doble"
},
"complejas": {
"coeficientes": [
1.0,
1.0,
1.0
],
"discriminante": -3.0,
"naturaleza": "2 complejas conjugadas"
}
}
Estabilidad de sistemas dinámicos (raíces del polinomio característico), clasificación de cónicas y decisión previa en cualquier solver de raíces.
Una red neuronal es una composición de funciones parametrizadas. La sigmoide, la softmax y la log-verosimilitud son álgebra de exponenciales y logaritmos.
9780898718027, pendiente de resolver.