
Hector F
Pregunta¿Tiene numpy alguna función para saber si una matriz es ortogonal?

Ricardo Quintana Soler
No sé si exista, no la he visto, pero verificarla es fácil así no haya una función. Una forma es verificar si tiene inversa, calcularla y compararla con la transpuesta. En este caso con una resta y con el valor de la norma. Si el valor de la norma es cero, entonces la transpuesta es igual a la inversa y cumpliría con la definición de ortogonal. Hay que agregarle un valor de error aceptable porque los cálculos no son perfectos. El código sería algo así:
Var=np.linalg.norm(np.linalg.inv(Matrix)-Matrix.transpose()) e=0.00001 #valor aceptable if Var<e: print('Es ortogonal') else: print('No es ortogonal')