public function inverse() : self
    {
        $b = self::identity($this->m)
            ->augmentLeft($this)
            ->rref();

        $c = [];

        foreach ($b as $row) {
            $c[] = array_slice($row, $this->n);
        }

        return self::quick($c);
    }