Raíces no lineales · Tema 14

Comparación de métodos para raíces

Cómo elegir entre bisección, falsa posición, Newton-Raphson y secante según las garantías disponibles, el costo de evaluar la función y la dificultad del problema.

01 · Decidir antes de iterar

No existe un método mejor para todos los problemas

Todos los métodos estudiados buscan un número r tal que f(r)=0, pero no utilizan la misma información ni ofrecen las mismas garantías. Bisección privilegia la seguridad; Newton, la velocidad local; secante evita calcular derivadas; y falsa posición combina un intervalo protector con interpolación lineal.

Elegir correctamente requiere responder cuatro preguntas:

  1. ¿Existe un intervalo continuo con cambio de signo?
  2. ¿Podemos evaluar una derivada confiable y a un costo razonable?
  3. ¿Cuánto cuesta cada evaluación de f?
  4. ¿Necesitamos una garantía o aceptamos un método que puede fallar?

02 · Clasificación

Métodos acotados y métodos abiertos

Métodos acotados

Bisección y falsa posición

Parten de [a,b] con f(a)f(b)<0 y conservan un cambio de signo. Si la función es continua, el intervalo contiene al menos una raíz.

Métodos abiertos

Newton y secante

Generan aproximaciones sin mantener necesariamente una raíz encerrada. Pueden avanzar muy rápido cerca de la solución, pero también alejarse o salir del dominio.

«Abierto» no significa incorrecto y «acotado» no significa siempre rápido. La clasificación expresa qué invariante mantiene el algoritmo durante el cálculo.

cambio de signo→método acotado·aproximación inicial→método abierto

03 · Panorama general

Comparación de los cuatro métodos

Propiedades típicas para una raíz simple y bajo hipótesis favorables.
CriterioBisecciónFalsa posiciónNewtonSecante
Datos inicialesIntervalo [a,b]Intervalo [a,b]Un valor x₀Dos valores x₀,x₁
Requiere cambio de signoSíSíNoNo
Requiere derivadaNoNoSíNo
Convergencia típicaLinealLinealCuadráticaSuperlineal
Evaluaciones nuevas por paso1 de f1 de f1 de f + 1 de f′1 de f
Garantía global básicaAltaAltaNoNo
Error acotable a prioriSíPor el intervalo, no por el puntoNo en generalNo en general
Fallo característicoLentitudExtremo estancadoDerivada pequeñaDenominador pequeño

04 · Trabajo computacional

Iteraciones no es lo mismo que costo

Un conteo justo separa evaluaciones de función, evaluaciones de derivada y operaciones auxiliares. Una estimación sencilla es:

costo total ≈ NfCf + Nf′Cf′ + costo auxiliar

Si f ejecuta una simulación de varios segundos, ahorrar evaluaciones es decisivo. Si f′ se obtiene casi gratis mediante una expresión analítica o diferenciación automática, Newton puede resultar muy competitivo.

Ejemplo hipotético: ocho pasos después de inicializar.
MétodoCosto de fCosto de f′Costo aproximado
Bisección20 ms—160 ms + extremos iniciales
Secante20 ms—160 ms + dos valores iniciales
Newton20 ms30 ms400 ms

Esta tabla no determina al ganador: cada método puede necesitar una cantidad distinta de pasos. Conviene medir tiempo, evaluaciones y precisión alcanzada.

05 · Convergencia

Qué significa lineal, superlineal y cuadrática

Sea eₙ=|xₙ−r| el error respecto de una raíz r. Un método tiene orden p si, asintóticamente,

en+1 ≈ C enp
Lineal: p=1
El error se reduce aproximadamente por un factor constante. Bisección divide por dos la longitud del intervalo.
Superlineal: p≈1.618
La secante acelera al acercarse a una raíz simple sin evaluar una derivada.
Cuadrática: p=2
Newton puede duplicar aproximadamente la cantidad de cifras correctas por paso cerca de una raíz simple.
Raíces múltiples
La multiplicidad puede degradar la velocidad de Newton y secante hasta una convergencia lineal.

Una fase inicial irregular puede preceder al régimen asintótico. Por eso no debemos estimar el orden usando únicamente las primeras iteraciones.

06 · Hipótesis

Qué garantiza realmente cada algoritmo

Bisección y falsa posición

Si f es continua en [a,b] y f(a)f(b)<0, el teorema del valor intermedio garantiza al menos una raíz dentro del intervalo. Al actualizar por signos se conserva ese encierro.

Newton y secante

Sus resultados de convergencia suponen proximidad a una raíz simple, regularidad de la función y pendientes adecuadas. Lejos de la raíz pueden oscilar, divergir o llegar a otro cero.

07 · Diagnóstico común

Comparar con el mismo criterio de parada

Para evitar una competencia sesgada, todos los métodos deben usar tolerancias equivalentes y el mismo presupuesto máximo. Es recomendable combinar:

|f(x)| ≤ εf    y/o    |Δx| ≤ εx(1+|x|)
  • Residuo: mide qué tan bien satisface la aproximación la ecuación.
  • Cambio relativo: detecta que las aproximaciones dejaron de variar significativamente.
  • Ancho del intervalo: proporciona una cota geométrica en métodos acotados.
  • Presupuesto: impide ciclos o ejecuciones indefinidas.

Un cambio pequeño sin residuo pequeño puede indicar estancamiento. Un residuo pequeño tampoco implica siempre un error pequeño si la función es muy plana.

08 · Escenarios difíciles

Mapa de fallos frecuentes

Problema, síntoma y respuesta posible.
SituaciónMétodo afectadoSíntomaRespuesta
No hay cambio de signoBisección, falsa posiciónIntervalo inicial inválidoBuscar otro intervalo o usar información adicional
Un extremo dominaFalsa posiciónEl otro extremo apenas cambiaIllinois, Pegasus o método híbrido
f′(x)≈0NewtonPaso enorme o división inestableAmortiguar, rechazar el paso o bisecar
f(xₙ)≈f(xₙ₋₁)SecanteDenominador pequeñoCambiar puntos o usar bisección
Salida del dominioNewton, secanteNaN, infinito o excepciónImponer límites y validar cada propuesta
Raíz múltipleTodosConvergencia lenta o sin cambio de signoUsar multiplicidad conocida o transformar el problema

09 · Selección práctica

Árbol de decisión

  1. 1
    ¿Hay un intervalo con cambio de signo?

    Si lo hay y la garantía importa, comenzar con bisección o un híbrido acotado.

  2. 2
    ¿La derivada es confiable y económica?

    Usar Newton cerca de la raíz, preferentemente protegido por el intervalo.

  3. 3
    ¿Solo podemos evaluar f?

    Secante es atractiva si contamos con dos aproximaciones razonables; falsa posición conserva la protección del intervalo.

  4. 4
    ¿La función es una caja negra costosa?

    Registrar y reutilizar evaluaciones. Comparar por llamadas a la función, no solo por iteraciones.

  5. 5
    ¿El problema es crítico?

    Validar dominio, finitud, residuo, intervalo, estancamiento y presupuesto; devolver un estado explícito.

10 · Lo mejor de dos familias

Newton protegido por bisección

Un método híbrido mantiene [a,b] con signos opuestos y propone un paso rápido desde el punto actual. Si la propuesta de Newton no es finita, usa una derivada pequeña o cae fuera del intervalo, se reemplaza por el punto medio.

function newtonProtegido(f, df, a, b, tolerancia = 1e-10, maxIter = 100) {
  let fa = f(a);
  let fb = f(b);
  if (!Number.isFinite(fa) || !Number.isFinite(fb) || fa * fb >= 0) {
    throw new Error("Se requiere un intervalo finito con cambio de signo");
  }

  let x = (a + b) / 2;
  let fx = f(x);
  let evaluaciones = 3;

  for (let iteracion = 1; iteracion <= maxIter; iteracion++) {
    if (Math.abs(fx) <= tolerancia || (b - a) / 2 <= tolerancia) {
      return { raiz: x, iteraciones: iteracion - 1, evaluaciones,
        convergio: true, motivo: "tolerancia" };
    }

    const pendiente = df(x);
    let propuesta = x - fx / pendiente;
    const newtonValido = Number.isFinite(pendiente)
      && Math.abs(pendiente) > 1e-14
      && Number.isFinite(propuesta)
      && propuesta > a && propuesta < b;

    if (!newtonValido) propuesta = (a + b) / 2;
    const fPropuesta = f(propuesta);
    evaluaciones++;

    if (fa * fPropuesta <= 0) {
      b = propuesta;
      fb = fPropuesta;
    } else {
      a = propuesta;
      fa = fPropuesta;
    }
    x = propuesta;
    fx = fPropuesta;
  }
  return { raiz: x, iteraciones: maxIter, evaluaciones,
    convergio: false, motivo: "max_iter" };
}

const resultado = newtonProtegido(x => x * x - 2, x => 2 * x, 0, 2);
console.log(resultado);

Brent lleva esta idea más lejos: combina bisección, secante e interpolación cuadrática inversa con reglas cuidadosas de aceptación. Es una elección general muy utilizada cuando hay un intervalo válido y no se dispone de derivadas.

11 · Diseño de software

Una interfaz común para comparar resultados

En un programa real, todos los solucionadores deberían devolver la misma clase de diagnóstico. Así el código cliente no depende de mensajes informales ni confunde una aproximación con una solución confirmada.

// Contrato recomendado para cualquier solucionador de raíces.
function crearResultado({ metodo, raiz, residuo, iteraciones,
  evaluacionesF, evaluacionesDF = 0, convergio, motivo, historial = [] }) {
  return {
    metodo,
    raiz,
    residuo,
    iteraciones,
    evaluaciones: { funcion: evaluacionesF, derivada: evaluacionesDF },
    convergio,
    motivo,       // "residuo", "intervalo", "max_iter", "paso_invalido"...
    historial
  };
}

function costoEstimado(resultado, costoF, costoDF = 0) {
  return resultado.evaluaciones.funcion * costoF
    + resultado.evaluaciones.derivada * costoDF;
}

const ejemplo = crearResultado({
  metodo: "biseccion", raiz: 1.4142135624, residuo: 1.1e-10,
  iteraciones: 34, evaluacionesF: 36, convergio: true,
  motivo: "intervalo"
});
console.log(costoEstimado(ejemplo, 20), "ms estimados");

El historial es opcional, pero resulta útil para gráficos, auditoría, pruebas y análisis de convergencia.

12 · Experimentos reproducibles

Cómo realizar una comparación justa

  1. Utilizar el mismo problema, precisión objetivo y límite de iteraciones.
  2. Declarar los puntos o intervalos iniciales; forman parte del experimento.
  3. Contar por separado evaluaciones de f y f′.
  4. Registrar residuo, cambio, ancho del intervalo y motivo de terminación.
  5. Repetir con funciones suaves, planas, mal escaladas y con varias raíces.
  6. No excluir los fallos: la tasa de éxito también es una métrica.
function medir(ejecutar, repeticiones = 100) {
  const tiempos = [];
  let ultimoResultado;

  for (let i = 0; i < repeticiones; i++) {
    const inicio = performance.now();
    ultimoResultado = ejecutar();
    tiempos.push(performance.now() - inicio);
  }
  tiempos.sort((a, b) => a - b);
  return {
    medianaMs: tiempos[Math.floor(tiempos.length / 2)],
    resultado: ultimoResultado
  };
}

// En cálculos muy rápidos, repetir reduce el efecto del ruido del reloj.
console.log(medir(() => Math.sqrt(2), 1000));

Para funciones costosas o con efectos externos, puede no ser correcto repetir. En ese caso conviene instrumentar una única ejecución controlada.

13 · Exploración interactiva

Laboratorio: cuatro métodos, una misma tolerancia

Elegí una función y modificá la tolerancia o el presupuesto. El gráfico representa log₁₀|f(xₙ)|: una curva que baja más rápido reduce antes el residuo. Las evaluaciones iniciales también se cuentan.

EXPERIMENTO 14

Velocidad, evaluaciones y diagnóstico

f(x) = x² − 2

Los resultados numéricos aparecen debajo.
Bisección30 it. · 32 eval.
Falsa posición—
Newton—
Secante—

Resultados calculados con el mismo criterio de residuo.

Preguntas para explorar

  1. Reducí la tolerancia. ¿Qué método aumenta más su cantidad de iteraciones?
  2. Probá la raíz múltiple. ¿Newton conserva su velocidad cuadrática?
  3. Limitá el cálculo a cinco pasos. ¿Qué diagnósticos cambian?
  4. Compará iteraciones con evaluaciones: Newton utiliza una derivada por paso.

14 · Caso de aplicación

Calibrar un parámetro de una simulación

Supongamos que una simulación devuelve una temperatura final T(k) y buscamos k tal que T(k)=80. Definimos f(k)=T(k)−80.

  • Si sabemos que f(0.1)<0 y f(2)>0, existe un intervalo útil.
  • Si cada simulación tarda varios segundos, debemos reutilizar todas las evaluaciones.
  • Una derivada por diferencias finitas puede exigir simulaciones adicionales y contener ruido.
  • Un método acotado o Brent es una opción robusta; secante puede ser útil con un buen par inicial.

La decisión nace de la estructura del problema, no de una tabla abstracta de velocidades. El método más rápido por iteración puede no ser el más rápido ni el más confiable en tiempo real.

15 · Comprensión

Confusiones frecuentes

«Newton siempre es el método más rápido»

Su convergencia local puede ser cuadrática, pero la derivada tiene costo y un valor inicial desfavorable puede producir divergencia o pasos inválidos.

«Bisección es inferior porque necesita más iteraciones»

Ofrece una garantía fuerte, una cota explícita del intervalo y un comportamiento predecible. Es además una excelente protección para métodos rápidos.

«Falsa posición y secante son el mismo algoritmo»

Pueden usar la misma fórmula para proponer un punto, pero falsa posición conserva el cambio de signo y secante conserva los dos puntos más recientes.

«Un residuo de 10⁻¹² implica un error de 10⁻¹²»

La relación depende de la pendiente alrededor de la raíz. En una función muy plana, un residuo pequeño puede corresponder a un error mayor.

«Si agotó las iteraciones, la última aproximación es una raíz»

Es solo el mejor valor disponible. El resultado debe indicar convergio: false y conservar el residuo para que el programa decida qué hacer.

16 · Práctica guiada

Ejercicios

Ejercicio 1: selección con garantía

Se conoce un intervalo continuo con cambio de signo y el resultado debe estar certificado. ¿Qué método básico elegirías?

Ver solución

Bisección. Mantiene el encierro, converge bajo esas hipótesis y permite acotar el error mediante el ancho del intervalo. Falsa posición también conserva el encierro, pero puede estancarse.

Ejercicio 2: costo de evaluaciones

Newton usa 6 evaluaciones de f y 6 de f′; secante usa 9 de f. Si Cf=10 ms y Cf′=8 ms, ¿cuál tiene menor costo estimado?

Ver solución

Newton cuesta 6×10+6×8=108 ms. Secante cuesta 9×10=90 ms. Bajo este modelo, secante resulta más económica.

Ejercicio 3: cota de bisección

¿Cuántas bisecciones garantizan que un intervalo inicial de longitud 4 tenga longitud no mayor que 10⁻⁶?

Ver solución razonada

Se requiere 4/2ⁿ≤10⁻⁶, por lo que n≥log₂(4×10⁶)≈21.93. Son necesarias 22 bisecciones.

Ejercicio 4: raíz sin cambio de signo

¿Por qué bisección no detecta directamente la raíz de f(x)=(x−2)² usando [1,3]?

Ver solución

Los dos extremos producen valores positivos, de modo que no existe cambio de signo. La raíz tiene multiplicidad par y la gráfica toca el eje sin atravesarlo.

Ejercicio 5: política híbrida

Escribí una función que acepte una propuesta rápida solo si es finita y pertenece al intervalo abierto (a,b); en caso contrario debe devolver el punto medio.

Ver una posible solución
function protegerPropuesta(propuesta, a, b) {
  if (Number.isFinite(propuesta) && propuesta > a && propuesta < b) {
    return { x: propuesta, origen: "paso_rapido" };
  }
  return { x: a + (b - a) / 2, origen: "biseccion" };
}

console.log(protegerPropuesta(10, 1, 2));

17 · Síntesis

Ideas para recordar

  • Bisección prioriza garantía, previsibilidad y una cota clara del intervalo.
  • Falsa posición conserva el cambio de signo, pero puede inmovilizar un extremo.
  • Newton ofrece gran velocidad local cuando la derivada es confiable y el inicio es favorable.
  • Secante evita la derivada y alcanza convergencia superlineal en condiciones adecuadas.
  • Una comparación justa mide precisión, evaluaciones, tiempo, tasa de éxito y motivo de parada.
  • Los métodos abiertos necesitan controles de dominio, finitud, pendiente, ciclos y presupuesto.
  • Los métodos híbridos alternan pasos rápidos con bisección para combinar eficiencia y seguridad.
  • La elección depende de la información y del costo específico del problema.

Con este tema cerramos la búsqueda de raíces escalares. En el próximo tema comenzaremos a resolver sistemas de ecuaciones lineales mediante eliminación de Gauss y sustitución regresiva.