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

316
Vistas
Comprobando si una matriz es simétrica en Numpy

Estoy tratando de hacer una función con los argumentos (a,tol=1e-8) que devuelve un valor booleano que le dice al usuario si la matriz es simétrica o no (la matriz simétrica es igual a su transposición). Hasta ahora tengo:

 def check_symmetric(a, tol=1e-8): if np.transpose(a, axes=axes) == np.transpose(a, axes=axes): return True def sqr(s): rows = len(s) for row in sq: if len(row) != rows: return False return True if a != sqr(s): raise ValueError

aunque sigo recibiendo un mensaje de que los axes isn't defined , así que estoy bastante seguro de que no funciona en absoluto ... las pruebas que me gustaría pasar son:

 e = np.eye(4) f = np.diag([1], k=3) g = e[1:, :] print(check_symmetric(e)) print(not check_symmetric(e + f)) print(check_symmetric(e + f * 1e-9)) print(not check_symmetric(e + f * 1e-9, 1e-10)) try: check_symmetric(g) print(False) except ValueError: print(True)

Cualquier ayuda es apreciada, gracias!

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

0

Simplemente puede compararlo con su transposición usando allclose

 def check_symmetric(a, rtol=1e-05, atol=1e-08): return numpy.allclose(a, aT, rtol=rtol, atol=atol)
over 4 years ago · Santiago Trujillo Denunciar

0

La siguiente función también resuelve el problema:

 def check_symmetric(a, tol=1e-8): return np.all(np.abs(aa.T) < tol)
over 4 years ago · Santiago Trujillo Denunciar

0

Si no te preocupa el umbral tot

 (a==aT).all()

es la solución más sencilla. Esto también funciona para arreglos N-dimensionales (N>2).

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