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);
    }
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);
    }
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 ) ; }
Compute the inverse of the matrix.

@return self
Compute the inverse of the matrix .