<?php
$matrice = array(array());
$matrice[0][0] = '1';
$matrice[0][1] = '3';
$matrice[1][0] = '2';
$matrice[1][1] = '7';
//Matrice identitaire
$matrice[0][2] = '1';
$matrice[0][3] = '0';
$matrice[1][2] = '0';
$matrice[1][3] = '1';
echo "Matrice de départ (+ ajout d'une matrice identitaire):\r\n";
echo implode(" ", $matrice[0]);
echo "\r\n";
echo implode(" ", $matrice[1]);
echo "\r\n\r\nPremière itération:\r\n";
$matrice2 = array(array());
for ($i = 0; $i < 4; $i++) {
$matrice2[0][$i] = $matrice[0][$i];
$matrice2[1][$i] = $matrice[1][$i] - ($matrice[1][0] * $matrice[0][$i]);
}
echo implode(" ", $matrice2[0]);
echo "\r\n";
echo implode(" ", $matrice2[1]);
echo "\r\n\r\nDeuxième itération:\r\n";
$matrice3 = array(array());
for ($i = 0; $i < 4; $i++) {
$matrice3[0][$i] = $matrice2[0][$i] - ($matrice2[0][1] * $matrice2[1][$i]);
$matrice3[1][$i] = $matrice2[1][$i];
}
echo implode(" ", $matrice3[0]);
echo "\r\n";
echo implode(" ", $matrice3[1]);
echo "\r\n\r\nRésultat final de la matrice inverse:\r\n";
for ($i = 0; $i < 2; $i++) echo $matrice3[$i][2]." ".$matrice3[$i][3]."\r\n";
echo "\r\nProduit des 2 matrices (matrice inverse * matrice de départ):\r\n";
echo $matrice3[0][2]." ".$matrice3[0][3]."\t*\t".$matrice[0][0]." ".$matrice[0][1];
echo "\r\n";
echo $matrice3[1][2]." ".$matrice3[1][3]."\t*\t".$matrice[1][0]." ".$matrice[1][1];
echo "\r\n";
$produit = array(array());
$produit[0][0] = ($matrice3[0][2] * $matrice[0][0]) + ($matrice3[0][3] * $matrice[1][0]);
$produit[0][1] = ($matrice3[0][2] * $matrice[0][1]) + ($matrice3[0][3] * $matrice[1][1]);
$produit[1][0] = ($matrice3[1][2] * $matrice[0][0]) + ($matrice3[1][3] * $matrice[1][0]);
$produit[1][1] = ($matrice3[1][2] * $matrice[0][1]) + ($matrice3[1][3] * $matrice[1][1]);
echo "\r\nRésultat:\r\n";
for ($i = 0; $i < 2; $i++) echo $produit[$i][0]." ".$produit[$i][1]."\r\n";
?>