Numpy matrice singulière

Résolu
guillaumevvn -  
mamiemando Messages postés 33768 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonsoir,
je voulais savoir comment fait on pour savoir si une matrice est singulière ou pas ?
merci d'avance :)

1 réponse

mamiemando Messages postés 33768 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Bonjour,

Quelques rappels de maths :
  • Une matrice est dite singulière si elle n'est pas inversible (voir https://fr.wikipedia.org/wiki/Singularit%C3%A9_(math%C3%A9matiques)#Matrice_singuli%C3%A8re).
  • Une matrice est inversible si son déterminant est non nul (voir ce lien).


Il te suffit donc de calculer le déterminant de ta matrice, et en fonction du résultat, tu sauras si la matrice est singulière ou pas : si le déterminant est nul, alors la matrice est singulière.

Pour cela, tu peux utiliser la fonction
numpy.linalg.det
.

import numpy as np

def is_singular(a):
    return np.linalg.det(a) == 0

a = np.array([[1, 0], [0, 0]])
print(is_singular(a))


Bonne chance
0