Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

318
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda