$max) { $j = $i; $max = $tmp; } } $this->swapRows($A, $b, $col, $j); for ($i = $col + 1; $i < $limit; $i++) { $tmp = $A[$i][$col] / $A[$col][$col]; for ($j = $col + 1; $j < $limit; $j++) { $A[$i][$j] -= $tmp * $A[$col][$j]; } $A[$i][$col] = 0; $b[$i] -= $tmp * $b[$col]; } } $x = []; for ($col = $limit - 1; $col >= 0; $col--) { $tmp = $b[$col]; for ($j = $limit - 1; $j > $col; $j--) { $tmp -= $x[$j] * $A[$col][$j]; } $x[$col] = $tmp / $A[$col][$col]; } return $x; } }