code: public function minus(...$args)
      {
          if (count($args) > 0) {
              $match = implode(',', array_map('gettype', $args));
  
              switch ($match) {
                  case 'object':
                      if ($args[0] instanceof self) {
                          $M = $args[0];
                      } else {
                          throw new CalculationException(self::ARGUMENT_TYPE_EXCEPTION);
                      }
  
                      break;
                  case 'array':
                      $M = new self($args[0]);
  
                      break;
                  default:
                      throw new CalculationException(self::POLYMORPHIC_ARGUMENT_EXCEPTION);
  
                      break;
              }
              $this->checkMatrixDimensions($M);
              for ($i = 0; $i < $this->m; ++$i) {
                  for ($j = 0; $j < $this->n; ++$j) {
                      $M->set($i, $j, $M->get($i, $j) - $this->A[$i][$j]);
                  }
              }
  
              return $M;
          }
  
          throw new CalculationException(self::POLYMORPHIC_ARGUMENT_EXCEPTION);
      }
docs: minus.
  
  A - B
  
  @param mixed $B Matrix/Array
  
  @return Matrix Sum