Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

330
Vistas
¿Cómo calculo la raíz cuadrada en Python?

Necesito calcular la raíz cuadrada de algunos números, por ejemplo √9 = 3 y √2 = 1.4142 . ¿Cómo puedo hacerlo en Python?

Las entradas probablemente serán todos números enteros positivos y relativamente pequeños (digamos menos de mil millones), pero en caso de que no lo sean, ¿hay algo que pueda romperse?


Relacionados

  • Raíz cuadrada entera en python
    • ¿Cómo encontrar raíces enésimas enteras?
  • ¿Existe una abreviatura para la raíz enésima de x en Python?
  • ¿Diferencia entre **(1/2), math.sqrt y cmath.sqrt?
  • ¿Por qué math.sqrt() es incorrecto para números grandes?
  • ¿Límite de Python sqrt para números muy grandes?
  • ¿Qué es más rápido en Python: x**.5 o math.sqrt(x)?
  • ¿Por qué Python da la respuesta "incorrecta" para la raíz cuadrada? (específico de Python 2)
  • calcular raíces enésimas usando el módulo decimal de Python 3
  • ¿Cómo puedo sacar la raíz cuadrada de -1 usando python? (centrado en NumPy)
  • Precisión arbitraria de raíces cuadradas

Nota : Este es un intento de una pregunta canónica después de una discusión en Meta sobre una pregunta existente con el mismo título .

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

SymPy

Dependiendo de tu objetivo, podría ser una buena idea retrasar el cálculo de las raíces cuadradas tanto como sea posible. SymPy podría ayudar.

SymPy es una biblioteca de Python para matemáticas simbólicas.

 import sympy sympy.sqrt(2) # => sqrt(2)

Esto no parece muy útil al principio.

Pero sympy puede dar más información que flotantes o decimales:

 sympy.sqrt(8) / sympy.sqrt(27) # => 2*sqrt(6)/9

Además, no se pierde precisión. (√2)² sigue siendo un número entero:

 s = sympy.sqrt(2) s**2 # => 2 type(s**2) #=> <class 'sympy.core.numbers.Integer'>

En comparación, los flotantes y los decimales devolverían un número muy cercano a 2 pero no igual a 2:

 (2**0.5)**2 # => 2.0000000000000004 from decimal import Decimal (Decimal('2')**Decimal('0.5'))**Decimal('2') # => Decimal('1.999999999999999999999999999')

Sympy también comprende ejemplos más complejos como la integral de Gauss :

 from sympy import Symbol, integrate, pi, sqrt, exp, oo x = Symbol('x') integrate(exp(-x**2), (x, -oo, oo)) # => sqrt(pi) integrate(exp(-x**2), (x, -oo, oo)) == sqrt(pi) # => True

Finalmente, si se desea una representación decimal, es posible solicitar más dígitos de los que se necesitarán:

 sympy.N(sympy.sqrt(2), 1_000_000) # => 1.4142135623730950488016...........2044193016904841204
over 4 years ago · Santiago Trujillo Denunciar

0

NumPy

 >>> import numpy as np >>> np.sqrt(25) 5.0 >>> np.sqrt([2, 3, 4]) array([1.41421356, 1.73205081, 2. ])

documentos

Negativo

Para reales negativos, devolverá nan , por lo que np.lib.scimath.sqrt() está disponible para ese caso.

 >>> a = np.array([4, -1, np.inf]) >>> np.sqrt(a) <stdin>:1: RuntimeWarning: invalid value encountered in sqrt array([ 2., nan, inf]) >>> np.lib.scimath.sqrt(a) array([ 2.+0.j, 0.+1.j, inf+0.j])

Otra opción, por supuesto, es convertir primero a complejo:

 >>> a = a.astype(complex) >>> np.sqrt(a) array([ 2.+0.j, 0.+1.j, inf+0.j])
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda