Votre problème équivaut à tester, étant donné , que .MPER(M)>0
Preuve : Supposons que l'on vous donne et que vous souhaitez décider si . Nous construisons comme suit:
C'est facile à voir que . Maintenant, définissez comme étant où nous remplaçons l' entrée de par . Par multilinéarité, il s'ensuit que . Ainsi si et seulement siMPER(M)>0M′⎡⎣⎢⎢⎢10…00…M0⎤⎦⎥⎥⎥
PER(M)=PER(M′)M′^M′(0,0)M′−1PER(M)=PER(M′)=−PER(M′^)PER(M)>0PER(M′)>PER(M′^)
Supposons maintenant qu'on vous donne , et et définissons comme dans votre question, c'est-à-dire en changeant en . Nous avons
M(i,j)aM M [ i , j ] un P E R ( M ) > P E R ( M ) ssi Σ σ n Π k = 1 M [ k , σ ( k ) ] >M^M[i,j]aPER(M)>∑σ∏k=1nM[k,σ(k)]>∑σ,σ(i)=jM[i,j]∏k≠inM[k,σ(k)]>(M[i,j]−a)⋅∑σ,σ(i)=j∏k≠inM[k,σ(k)]>(M[i,j]−a)⋅PER(M′)>0PER(M^) iff∑σ∏k=1nM^[k,σ(k)] iff∑σ,σ(i)=ja∏k≠inM[k,σ(k)] iff0 iff
où est la matrice obtenue à partir de en supprimant la ligne et la colonne . M′(n−1)×(n−1)Mij□