Saltar al contenido

Raíz enésima en código

Escapes Unicode, LaTeX y la fórmula real x^(1/n) en JavaScript, Python, Excel y media docena de lenguajes más — incluyendo por qué los índices pares e impares se comportan de forma completamente distinta con números negativos.

O genera tu símbolo exacto ahora →

Escapes Unicode y entidades HTML

La raíz cuarta, ∜, es el punto de código Unicode U+221C y se inserta en un literal de cadena como cualquier otro escape. Cualquier otro índice tiene que construirse a partir de dos escapes: un dígito superíndice seguido de U+221A, el radical base.

JavaScript / TypeScript (raíz cuarta)
"\u221C" // ∜
Python (raíz cuarta)
"\u221c"  # ∜
JavaScript / TypeScript (raíz quinta, compuesta)
"\u2075\u221A" // ⁵√
HTML (raíz cuarta)
∜ (sin entidad con nombre)
CSS (raíz cuarta)
content: "\221C";

LaTeX

\sqrt renderiza un radical correcto con una barra sobre su argumento en LaTeX, MathJax y KaTeX — el valor entre corchetes es lo que fija el índice, ya sea un número concreto o la letra n.

LaTeX — raíz enésima (índice variable)
\sqrt[n]{x}
LaTeX — raíz quinta
\sqrt[5]{x}
LaTeX — raíz cúbica, para comparar
\sqrt[3]{x}

Calcular una raíz enésima en código

A diferencia de la raíz cuadrada o cúbica, ningún lenguaje habitual incluye una función dedicada de «raíz enésima» — cada uno de estos la calcula como x elevado a la potencia 1/n. Aquí tienes la sintaxis de cada lenguaje para la raíz quinta de 32.

JavaScript
Math.pow(32, 1 / 5);
// 2
Math.pow(-243, 1 / 5);
// NaN — aunque la respuesta real es -3, ver trampas
Python
32 ** (1/5)
# 2.0
(-243) ** (1/5)
# ¡complejo! ver trampas más abajo
Excel / Google Sheets
=A1^(1/B1)
=SIGN(A1)*ABS(A1)^(1/B1)  // seguro para A1 negativo, B1 impar
Java
Math.pow(32, 1.0 / 5);
// 2.0
C / C++
#include <math.h>
pow(32, 1.0 / 5);
// 2
PHP
pow(32, 1 / 5);
// 2
PostgreSQL
SELECT POWER(32, 1.0/5);
-- 2
Swift
import Foundation
pow(32.0, 1.0 / 5.0)
// 2.0
R
32 ^ (1/5)
# 2

Trampas a tener en cuenta

El índice par o impar cambia si un número negativo tiene siquiera una respuesta real

La raíz quinta de -243 es un número real, -3, del mismo modo que funcionan las raíces cúbicas de números negativos — cualquier índice impar se comporta así. La raíz cuarta de -16 no es un número real en absoluto, igual que las raíces cuadradas de números negativos no lo son — cualquier índice par se comporta así. Que x^(1/n) tenga siquiera sentido para una x negativa depende por completo de si n es impar o par, antes incluso de llegar a cómo lo implementa un lenguaje concreto.

Las funciones de potencia genéricas fallan con bases negativas aunque exista una respuesta real

Math.pow(-243, 1/5) devuelve NaN en JavaScript, aunque la respuesta matemáticamente correcta es -3 — Math.pow() calcula los exponentes fraccionarios usando logaritmos, que no están definidos para bases negativas, así que no puede distinguir un índice impar de uno par. El (-243) ** (1/5) de Python devuelve un número complejo en lugar de -3, por el mismo motivo subyacente. Ningún lenguaje tiene una función dedicada de «raíz enésima» como JavaScript tiene Math.cbrt() específicamente para la raíz cúbica — o escribes una función auxiliar que compruebe si n es impar, o te limitas a entradas no negativas.

Una función auxiliar segura de raíz enésima necesita ramificarse según el signo y la paridad

Una versión fiable se ve así: si x es negativo, solo calcula un resultado real cuando n es impar, y en ese caso toma la raíz enésima del valor absoluto y vuelve a aplicar el signo negativo — Math.sign(x) * Math.abs(x) ** (1/n) en JavaScript, o math.copysign(abs(x) ** (1/n), x) en Python. Para una x negativa con un n par, no hay ningún resultado real que devolver — decide de antemano si tu código debe lanzar un error, devolver NaN o devolver un valor complejo.

Excel y Google Sheets no tienen función NTHROOT

No hay una fórmula dedicada en ninguna de las dos aplicaciones. =A1^(1/B1) funciona siempre que el resultado deba ser real y la entrada no sea negativa, pero devuelve un error #¡NUM! para un A1 negativo combinado con ciertos valores de B1. =SIGN(A1)*ABS(A1)^(1/B1) soluciona el caso en el que B1 es impar; sigue sin producir un resultado real cuando B1 es par y A1 es negativo, porque ninguno existe.

La precisión de coma flotante se agrava con índices más altos

32 ** (1/5) puede dar 1.9999999999999998 en lugar de exactamente 2 en algunos lenguajes, y la diferencia tiende a crecer con índices más altos, ya que 1/n en sí suele ser una fracción binaria imprecisa. Redondea antes de comparar un resultado de raíz enésima por igualdad exacta, la misma precaución que se aplica a las raíces cuadradas pero algo más pronunciada.

¿Solo necesitas el símbolo en sí?

La página de formatos para copiar tiene todas las versiones listas para pegar — el carácter dedicado de la raíz cuarta, símbolos compuestos de índice superior y la fórmula de hoja de cálculo — sin necesidad de editor de código.

Abrir formatos para copiar

Preguntas frecuentes

¿Cuál es el escape Unicode de un símbolo de raíz enésima en código?

Para la raíz cuarta en concreto, usa \u221C (JavaScript, Java, C#) o \u221c (Python) — ambos dan como resultado ∜. Para cualquier otro índice, concatena un escape de dígito superíndice con \u221A (el radical base): \u2075\u221A produce ⁵√ en JavaScript, por ejemplo.

¿Cómo calculo una raíz enésima en JavaScript?

Usa Math.pow(x, 1 / n) — por ejemplo, Math.pow(32, 1/5) devuelve 2. Esto funciona bien con x no negativas. Para una x negativa con un n impar, Math.pow() devuelve NaN de forma incorrecta aunque exista una respuesta real; necesitas una función auxiliar que compruebe primero el signo y la paridad de n (ver las trampas más abajo).

¿Cómo calculo una raíz enésima en Python?

Para números no negativos, x ** (1/n) o math.pow(x, 1/n) funcionan ambos, por ejemplo 32 ** (1/5) devuelve 2.0. Para una x negativa, x ** (1/n) devuelve un número complejo en lugar de uno real, incluso cuando n es impar y existe una respuesta real — usa math.copysign(abs(x) ** (1/n), x) para obtener un resultado real en ese caso.

¿Cuál es la fórmula de Excel o Google Sheets para una raíz enésima?

Ninguna de las dos aplicaciones tiene una función NTHROOT integrada. Usa =A1^(1/B1), con el índice en B1. Si A1 puede ser negativo y B1 es impar, usa en su lugar =SIGN(A1)*ABS(A1)^(1/B1), ya que una fórmula de potencia simple da error con una base negativa en caso contrario.

¿Cuál es el comando LaTeX para una raíz enésima?

\sqrt[n]{x} para un índice variable, o sustituye n por un número concreto — \sqrt[5]{x} para una raíz quinta, \sqrt[12]{x} para una duodécima. Quitando el argumento entre corchetes por completo, \sqrt{x}, se renderiza una raíz cuadrada simple. Funciona en LaTeX, MathJax y KaTeX.

¿Por qué Math.pow(-243, 1/5) devuelve NaN en lugar de -3?

Math.pow() (y su equivalente en la mayoría de los lenguajes de la familia C) calcula los exponentes fraccionarios usando logaritmos, que no están definidos para una base negativa sin importar si el índice es impar o par — así que devuelve NaN en todos los casos en lugar de reconocer que una raíz de índice impar de un número negativo es un valor real bien definido. Las funciones dedicadas de raíz cúbica como Math.cbrt() lo manejan correctamente porque están implementadas por separado para ese índice específico y común; no existe un equivalente integrado para una raíz enésima arbitraria.