code: public function det()
      {
          if (!$this->isSquare()) {
              throw new \RuntimeException('Cannot compute determinant of non square matrix!');
          }
  
          if ($this->size->rows == 2) {
              return $this->get(0,0) * $this->get(1,1) - $this->get(0,1) * $this->get(1,0);
          } else {
              $int_out = 0;
  
              $arr_row = $this->arr[0];
  
              foreach ($arr_row as $n => $v) {
                  $int_out += pow(-1, $n + 2) * $v * $this->subMatrix(0, $n)->det();
              }
  
              return $int_out;
          }
      }
docs: Computes the determinant.
  
  @todo What about complex number?
  @throw \RuntimeException If matrix is not square.
  @access public
  @return float