Numpy matrice singulière

Résolu/Fermé
guillaumevvn - 9 mai 2022 à 22:27
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 - 10 mai 2022 à 13:23
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 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
Modifié le 10 mai 2022 à 14:38
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