仅覆盖矩阵的一部分的括号

仅覆盖矩阵的一部分的括号

如何编写一个矩阵,其中的括号仅覆盖特定范围内的行/列,但仍具有正确的缩进?我想要的是:

在此处输入图片描述

我当前的解决方案:

\[
\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]}
\]

我正在寻找不那么笨拙、更自动化的解决方案,不需要用户手动调整缩进(居中)。

答案1

这是一个使用blkarray包裹:

\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}

在此处输入图片描述

请注意,我将格式声明从 更改为 ,ccccccc*{7}{c}lccccccccccc更改为l*{11}{c},因为后者不太容易出错。

为了完整起见,下面是使用kbordermatrix包(不在 CTAN 上,但可从提供的链接获取):

\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}

在此处输入图片描述

相关内容