Re
Chaque expression entre () délivre, du fait du =, une matrice de vrai et de faux(en fonction) de la véracité de l'équation.
Dans ce cas, si on multiplie ces matrices entre elle, on obtient une matrice de taille égale aux précédentes et dont chaque terme est la multiplication des termes correspondants dans chaque matrice.
Donc cette matrice présente des vrais et des faux qui correspondent à un et() entre les 3 conditions demandées. Les -- au début permettent de changer cette matrice de vrai/faux en 1/0 qui servira pour la partie somme de sommeprod().
C'était pour la partie prod de sommepro().
Pour la partie la partie somme de sommeprod(), on fait la somme de tous les éléments de la matrice. S'ils sont tous a 0, la somme renvoie 0; autrement, c'est la somme des 1. Comme ici il n'y a qu'une occurrence pour chaque cas, on a 1
Crdlmt