Phpml\Math\Matrix::calculateDeterminant PHP Method

calculateDeterminant() private method

private calculateDeterminant ( ) : float | integer
return float | integer
    private function calculateDeterminant()
    {
        $determinant = 0;
        if ($this->rows == 1 && $this->columns == 1) {
            $determinant = $this->matrix[0][0];
        } elseif ($this->rows == 2 && $this->columns == 2) {
            $determinant = $this->matrix[0][0] * $this->matrix[1][1] - $this->matrix[0][1] * $this->matrix[1][0];
        } else {
            for ($j = 0; $j < $this->columns; ++$j) {
                $subMatrix = $this->crossOut(0, $j);
                $minor = $this->matrix[0][$j] * $subMatrix->getDeterminant();
                $determinant += fmod((double) $j, 2.0) == 0 ? $minor : -$minor;
            }
        }
        return $determinant;
    }