# How to write an m⨉n matrix in LaTeX?

I tried using the below code but it works only for 2⨉2 matrix.

 $M= \left[ {\begin{array}{cc} 1 & 2 \\ 3 & 4 \\ \end{array} } \right]$


Now the following doesn't work for me:

$M= \left[ {\begin{array}{cc} 1 & 2 & 3 & 4 & 5\\ 3 & 4 & 5 & 6 & 7\\ \end{array} } \right]$

• It should work with any size. Can you be more specific about what happens when it "doesn't work"? And give an example of input that doesn't give the output you want?
– hobbs
Sep 1 '12 at 0:00

In the example you have, you need the opening line to be

\left[ {\begin{array}{ccccc}


rather than

\left[ {\begin{array}{cc}


When you start with just two cs, you're telling it the matrix only has two columns (and that you want them centered). Then it breaks when you give it data for 5 columns.

• @strpeter that's no reason to downvote, it's a valid answer Oct 29 '18 at 0:15

A better way to do it, as the TheHe meantioned, is with the amsmath package:

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

$M= \begin{bmatrix} 1 & 2 & 3 & 4 & 5 \\ 3 & 4 & 5 & 6 & 7 \end{bmatrix}$

\end{document}


The bmatrix environment will give you [] braces. () braces are also very common. They are created with the pmatrix environment. To include a matrix inline, you can write:

$M = \left$\begin{smallmatrix} 1 & 2 \\ 3 & 4 \end{smallmatrix} \right$$

• In mathtools we also have bsmallmatrix environment. Sep 16 '14 at 14:01
• I don't like it, it only has one line! !matrix Feb 22 '15 at 13:22
• He wrote '\' instead of '\\'. I'll edit that. Apr 17 '15 at 10:15
• @Astrinus: Thank you. Actually this was not my mistake: meta.tex.stackexchange.com/questions/5978/…. I hope this is fixed.
– bodo
Apr 17 '15 at 11:26

if you use the amsmath package, you can chose out of a lot of matrices like pmatrix or bmatrix.

Check out this list at Wikibooks.

• Thanks you so much Jan 17 '20 at 10:10

Using the pmatrix (p for parentheses) or bmatrix (b for brackets) environments as suggested above, also yields much better spacing than does array with \left( and \right) (for parentheses) or \left[ and \right] (for brackets). With array, the space between the parenthesis or bracket and the numbers is too large. You can see it for yourself comparing the results of this code:

$$R^2 = \left({\begin{array}{cc} c & s \end{array}}\right) \left(\begin{array}{cc} 1 & 0\\ 0 & 1 \end{array}\right) \left(\begin{array}{c} c \\ s \end{array}\right) = c^2 + s^2$$

$$R^2 = \begin{pmatrix} c & s \end{pmatrix} \begin{pmatrix} 1 & 0\\ 0 & 1 \end{pmatrix} \begin{pmatrix} c \\ s \end{pmatrix} = c^2 + s^2$$


That outputs the following:

It will not work because you have declared 2 columns (cc). Number of columns in your case should be 4, i.e., cccc. Then it will work.

• Please. add MWE, that OP will be able simple test your (correct) solution. Apr 3 '20 at 11:17