9

How can I write a matrix, with brackets that cover only rows/columns in a certain range, but still has the right indentation? What I would like:

enter image description here

My current solution:

\[
\overset{
\begin{array}{lrccccc}
    \hspace{-8mm}x_1 & \hspace{6mm} x_2 & \hspace{3mm} \cdot & \hspace{0mm} \cdot & \hspace{0mm} \cdot & \hspace{2mm} x_n &
\end{array}}
{\left[\hspace{-2mm}
\begin{array}{ccccccc}
    a_{11}    & a_{12}    & \cdot & \cdot & \cdot & a_{1n}    &  b_1 \\
    a_{21}    & a_{22}    & \cdot & \cdot & \cdot & a_{2n}    &  b_2 \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    a_{r1}    & a_{r2}    & \cdot & \cdot & \cdot & a_{rn}    &  b_r \\
    a_{r+1,1} & a_{r+1,2} & \cdot & \cdot & \cdot & a_{r+1,n} &  b_{r+1} \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    a_{m1}    & a_{m2}    & \cdot & \cdot & \cdot & a_{mn}    &  b_m
\end{array}\hspace{-2mm}\right]}
\;\overset{\mbox{\large $\mathcal E$}}{\mbox{\Large $\sim $}}\;
\overset{
\begin{array}{lccccccccccc}
    \hspace{-8mm}x'_1 & x'_2 & \hspace{1.5mm} x'_3 & \hspace{1mm} x'_4 & \hspace{2mm}\cdot & \hspace{0.5mm}\cdot & \hspace{4.7mm}\cdot & \hspace{4.mm} \cdot & \cdot & \cdot & \hspace{1.2mm} x'_n &
\end{array}}
{\left[\hspace{-1.5mm}
\begin{array}{lccccccccccc}
     1    & a'_{12} & a'_{13} & a'_{14} & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & a'_{1n} & b'_1 \\
     0    &    1    & a'_{23} & a'_{24} & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & a'_{2n} & b'_2 \\
    \cdot &\cdot    & \cdot   & \cdot   & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & \cdot   & \cdot \\
    \cdot &\cdot    & \cdot   & \cdot   & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & \cdot   & \cdot \\
    \cdot &\cdot    & \cdot   & \cdot   & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & \cdot   & \cdot \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 1     & a'_{r,r+1}& \cdot & \cdot & \cdot & a'_{r,n}& b'_r \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & b'_{r+1} \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & \cdot \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & \cdot \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & \cdot \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & b'_m
\end{array}\hspace{-2mm}\right]}
\]

I'm looking for less clumsy, more automatic solutions, that don't require the user to manually adjust the indentation (centering).

7

Here's one option using the blkarray package:

\documentclass{article}
\usepackage[margin=1cm]{geometry}% just for the example
\usepackage{amsmath}
\usepackage{blkarray}

\begin{document}

\[
\renewcommand\BAextrarowheight{2pt}
\begin{blockarray}{*{7}{c}}
x_1 &  x_2 & \cdot & \cdot & \cdot & x_n \\ 
\begin{block}{[*{7}{c}]}
    a_{11}    & a_{12}    & \cdot & \cdot & \cdot & a_{1n}    &  b_1 \\
    a_{21}    & a_{22}    & \cdot & \cdot & \cdot & a_{2n}    &  b_2 \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    a_{r1}    & a_{r2}    & \cdot & \cdot & \cdot & a_{rn}    &  b_r \\
    a_{r+1,1} & a_{r+1,2} & \cdot & \cdot & \cdot & a_{r+1,n} &  b_{r+1} \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    a_{m1}    & a_{m2}    & \cdot & \cdot & \cdot & a_{mn}    &  b_m \\
\end{block}
\end{blockarray}
\,\overset{\mbox{\large$\mathcal E$}}{\mbox{\Large$\sim $}}\,
\begin{blockarray}{l*{11}{c}}
x'_1 & x'_2 & x'_3 & x'_4 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & x'_n & \\
\begin{block}{[l*{11}{c}]}
     1    & a'_{12} & a'_{13} & a'_{14} & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & a'_{1n} & b'_1 \\
     0    &    1    & a'_{23} & a'_{24} & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & a'_{2n} & b'_2 \\
    \cdot &\cdot    & \cdot   & \cdot   & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & \cdot   & \cdot \\
    \cdot &\cdot    & \cdot   & \cdot   & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & \cdot   & \cdot \\
    \cdot &\cdot    & \cdot   & \cdot   & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & \cdot   & \cdot \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 1     & a'_{r,r+1}& \cdot & \cdot & \cdot & a'_{r,n}& b'_r \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & b'_{r+1} \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & \cdot \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & \cdot \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & \cdot \\
    0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & b'_m \\
\end{block}
\end{blockarray}
\]

\end{document}

enter image description here

Notice that I changed the format declarations, from ccccccc to *{7}{c} and from lccccccccccc to l*{11}{c}, since the latter is less error-prone.

For completeness's sake, here's now an example using the kbordermatrix package (not on CTAN, but available from the link provided):

\documentclass{article}
\usepackage[margin=1cm]{geometry}% just for the example
\usepackage{amsmath}
\usepackage{kbordermatrix}

\begin{document}

\[
\renewcommand{\arraystretch}{1.2}
\kbordermatrix{
    & x_1 &  x_2 & \cdot & \cdot & \cdot & x_n \\ 
    & a_{11}    & a_{12}    & \cdot & \cdot & \cdot & a_{1n}    &  b_1 \\
    & a_{21}    & a_{22}    & \cdot & \cdot & \cdot & a_{2n}    &  b_2 \\
    & \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    & \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    & \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    & a_{r1}    & a_{r2}    & \cdot & \cdot & \cdot & a_{rn}    &  b_r \\
    & a_{r+1,1} & a_{r+1,2} & \cdot & \cdot & \cdot & a_{r+1,n} &  b_{r+1} \\
    & \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    & \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    & \cdot     & \cdot     & \cdot & \cdot & \cdot & \cdot     & \cdot \\
    & a_{m1}    & a_{m2}    & \cdot & \cdot & \cdot & a_{mn}    &  b_m \\
}
\ \overset{\mbox{\large$\mathcal E$}}{\mbox{\Large$\sim $}}
\kbordermatrix{
    & x'_1 & x'_2 & x'_3 & x'_4 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & x'_n & \\
    & 1    & a'_{12} & a'_{13} & a'_{14} & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & a'_{1n} & b'_1 \\
    & 0    &    1    & a'_{23} & a'_{24} & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & a'_{2n} & b'_2 \\
    & \cdot &\cdot    & \cdot   & \cdot   & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & \cdot   & \cdot \\
    & \cdot &\cdot    & \cdot   & \cdot   & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & \cdot   & \cdot \\
    & \cdot &\cdot    & \cdot   & \cdot   & \cdot & \cdot & \cdot     & \cdot & \cdot & \cdot & \cdot   & \cdot \\
    & 0     &\cdot    & \cdot   & \cdot   & 0     & 1     & a'_{r,r+1}& \cdot & \cdot & \cdot & a'_{r,n}& b'_r \\
    & 0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & b'_{r+1} \\
    & 0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & \cdot \\
    & 0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & \cdot \\
    & 0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & \cdot \\
    & 0     &\cdot    & \cdot   & \cdot   & 0     & 0     & 0         & \cdot & \cdot & \cdot & 0       & b'_m
}
\]

\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.