<?phpnamespaceMatrix\Operators;use\Matrix\Matrix;use\Matrix\Functions;useMatrix\Exception;classDivisionextendsMultiplication{/** * Execute the division * * @param mixed $value The matrix or numeric value to divide the current base value by * @throws Exception If the provided argument is not appropriate for the operation * @return $this The operation object, allowing multiple divisions to be chained **/publicfunctionexecute($value){if(is_array($value)){$value=newMatrix($value);}if(is_object($value)&&($valueinstanceofMatrix)){try{$value=Functions::inverse($value);}catch(Exception$e){thrownewException('Division can only be calculated using a matrix with a non-zero determinant');}return$this->multiplyMatrix($value);}elseif(is_numeric($value)){return$this->multiplyScalar(1/$value);}thrownewException('Invalid argument for division');}}