# How to create a matrix with 20 columns in latex

The code below works, but when I add 10 more columns, it does not. So, how can I add ten more columns to the matrix below?

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{equation}
\begin{bmatrix}
1 & 0 & 0 & 0  & 0 & 1 & 0 & 0 & 1 & 0
\end{bmatrix}
\end{equation}

\end{document}


One simple way is to use the array environment together the expansible brackets \left[ and \right] (note the use of {*{20}c} as suggested by @cmhughes):

\left[
\begin{array}{*{20}c}
1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0
\end{array}
\right]


The problem is the difference on the spacing for the brackets.

From the texdoc amsmath documentation:

The maximum number of columns in a matrix is determined by the counter MaxMatrixCols (normal value = 10), which you can change if necessary using \setcounter or \addtocounter commands.

So, you can just use

\setcounter{MaxMatrixCols}{20}
\begin{equation}
\begin{bmatrix}
1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0
\end{bmatrix}
\end{equation}

• @Günal, there is a global solution. Before to replace all your matrices, consider reading the updated answer. – Sigur Jan 24 '13 at 11:29
• +1 you shouldn't need to write {ccccccccccccc} and can use {*{20}c}  – cmhughes Jan 24 '13 at 16:43
• “The problem is the difference on the spacing for the brackets.” → Use \begin{array}{@{}<columns>@{}} instead, i.e. \begin{array}{@{}*{20}c@{}}. – Qrrbrbirlbel Jan 28 '13 at 2:14