23

I want to display the structure of a matrix as shown in the image below:

enter image description here

Can this be done using pmatrix and \underbrace?

My attempt at combining pmatrix and \underbrace results in a compile error.

\documentclass{standalone}

\usepackage{amsmath}

\begin{document}
$
\begin{pmatrix}
%1 & \underbrace{1 & \cdots & 1}_{k} \\ % compile error!
1 & 1 & \cdots & 1 \\
1 & 1 & 1 & 1
\end{pmatrix}
$
\end{document}
  • 1
    The answers in the following questions may help: http://tex.stackexchange.com/q/109054/18228, http://tex.stackexchange.com/q/102460/18228. In general, tikzmark would be very useful – Herr K. Nov 19 '13 at 00:41

3 Answers3

25

A combination of \smash[b] should work:

\documentclass{standalone}
\usepackage{amsmath}

\newcommand{\block}[1]{
  \underbrace{\begin{matrix}1 & \cdots & 1\end{matrix}}_{#1}
}

\begin{document}
$
\underbrace{
  \begin{pmatrix}
  1 & \smash[b]{\block{k}} \\
  && 1 & \smash[b]{\block{k}} \\
  &&&& \ddots \\
  &&&&& 1 & \block{k}
  \end{pmatrix}
}_{T}
$
\end{document}

enter image description here

If you don't want to space the dots in the underbraced blocks, then change the definition:

\documentclass{standalone}
\usepackage{amsmath}

\newcommand{\block}[1]{
  \underbrace{1 \cdots 1}_{#1}
}

\begin{document}
$
\underbrace{
  \begin{pmatrix}
  1 & \smash[b]{\block{k}} \\
  && 1 & \smash[b]{\block{k}} \\
  &&&& \ddots \\
  &&&&& 1 & \block{k}
  \end{pmatrix}
}_{T}
$
\end{document}

enter image description here

For getting the underbrace only inside the delimiters, it's more complicated, because we don't want that the underbrace is considered when sizing the delimiters, yet we want to consider the vertical space taken by it.

\documentclass{standalone}
\usepackage{amsmath}

\newcommand{\block}[1]{
  \underbrace{1 \cdots 1}_{#1}
}

\newcommand{\underbracedmatrix}[2]{%
  \left(\;
  \smash[b]{\underbrace{
    \begin{matrix}#1\end{matrix}
  }_{#2}}
  \;\right)
  \vphantom{\underbrace{\begin{matrix}#1\end{matrix}}_{#2}}
}

\begin{document}
$
\underbracedmatrix{
  1 & \smash[b]{\block{k}} \\
  && 1 & \smash[b]{\block{k}} \\
  &&&& \ddots \\
  &&&&& 1 & \block{k}
}{T}
$
\end{document}

enter image description here

egreg
  • 1,121,712
3

Just another flavor even though @egreg solutions seems to be robust enough:

\documentclass{standalone}

\usepackage{amsmath,mathtools}
\newcommand{\sunderb}[2]{
  \mathclap{\underbrace{\makebox[#1]{$\cdots$}}_{#2}}
}
\begin{document}
$
\begin{pmatrix}
1 & 1 & 1 & 1\\
1 & 1 & \sunderb{3.5em}{k} & 1 \\ 
1 & 1 & 1 & 1
\end{pmatrix}
$
\end{document}

enter image description here

David Carlisle
  • 757,742
azetina
  • 28,884
3

Yet another attempt:

\documentclass{article}

\begin{document}

\def\onegroup{1\hskip\arraycolsep\underbrace{1 \hskip\arraycolsep\dots \hskip\arraycolsep 1}_{k}}

\[
\underbrace{
\left(
\begin{array}{cccc}
\onegroup&&&\\
&\onegroup&&\\
&&\ddots&\\
&&&\onegroup
\end{array}
\right)
}_{T}
\]

\end{document} 

enter image description here