public function cofactor(int $mᵢ, int $nⱼ)
{
if (!$this->isSquare()) {
throw new Exception\MatrixException('Matrix is not square; cannot get cofactor of a non-square matrix');
}
if ($mᵢ >= $this->m || $mᵢ < 0) {
throw new Exception\MatrixException('Row to exclude for cofactor does not exist');
}
if ($nⱼ >= $this->n || $nⱼ < 0) {
throw new Exception\MatrixException('Column to exclude for cofactor does not exist');
}
$Mᵢⱼ = $this->minor($mᵢ, $nⱼ);
$⟮−1⟯ⁱ⁺ʲ = (-1) ** ($mᵢ + $nⱼ);
return $⟮−1⟯ⁱ⁺ʲ * $Mᵢⱼ;
}