How can I modify the code below to get the text centered over the matrix columns with `1`s instead of aligned to the left edge of the columns. 

Below is the MWE code and output.

```
\documentclass{article}

\usepackage{amsmath}

% command for overbrace in matrix
\newcommand\bovermat[2]{%
  \makebox[0pt][l]{$\smash{\overbrace{\phantom{%
    \begin{matrix}#2\end{matrix}}}^{#1}}$}#2}

\begin{document}

\begin{equation}
   \left[ {\begin{array}{ccccccccc}
   0 & \cdots & 0
   & \bovermat{\text{columns }q_1,\ldots,q_\ell}{1 & \cdots & 1} 
   & 0 & \cdots & 0\\
   0 & \cdots & 0 & 1 & \cdots & 1 & 0 & \cdots & 0\\
   \vdots & & \vdots & \vdots & & \vdots & & & \vdots \\
   0 & \cdots & 0 & 1 & \cdots & 1 & 0 & \cdots & 0\\
  \end{array} } \right]
\end{equation}

\end{document}

```

[![MWE output](https://i.stack.imgur.com/d1uF1.png)](https://i.stack.imgur.com/d1uF1.png)