如何创建具有中心元素的块矩阵

如何创建具有中心元素的块矩阵

各位。我试图编译一个块矩阵,它的第一行有一个部分应该位于该行的该部分的中心。

我最接近的尝试是代码:

\begin{align}
\mathbf{\hat{F}}_{11}^{(1)-1}
= 
\left[
\begin{array}{c|cc}
0 & \mathbf{1}_{10}& \\
\hline
\mathbf{1}_{10} 
 & 
\mathbf{M}_{11}^{(1)} & 
\mathbf{M}_{11}^{(1)\ast}\mathbf{\bar{I}}_{5} \\
&
\mathbf{\bar{I}}_{5}\mathbf{M}_{11}^{(1)H} &
\mathbf{\bar{I}}_{5}\mathbf{M}_{11}^{(1)}\mathbf{\bar{I}}_{5}\\
\end{array}
\right]
\end{align}

其结果为:

在此处输入图片描述

理想情况下,元素 $1_{10}$ 应该位于第 1 行和第 1 列的中心。有什么技巧吗?

谢谢你!! :)

答案1

我建议您使用\multicolumn{2}{c}{...}使\mathbf{1}_{10}第一行跨越第 2 列和第 3 列。您可能还想加载包multirow并使用诸如此类的指令,\multirow{2}{*}{$\mathbf{1}_{10}$}以便第二行\mathbf{1}_{10}跨越第 2 行和第 3 行。(顺便问一下,第二项是否应该\mathbf{1}_{10}附加一个转置符号?)

在此处输入图片描述

\documentclass{article}
\usepackage{multirow}  % for `\multirow` macro
\begin{document}
\begin{equation}
\hat{\mathbf{F}}_{11}^{(1)-1}
= 
\left[
\begin{array}{c|cc}
0 & \multicolumn{2}{c}{\mathbf{1}_{10}} \\
\hline
\multirow{2}{*}{$\mathbf{1}_{10}$}
 & 
\mathbf{M}_{11}^{(1)} & 
\mathbf{M}_{11}^{(1)\ast}\bar{\mathbf{I}}_{5} \\
&
\bar{\mathbf{I}}_{5}\mathbf{M}_{11}^{(1)H} &
\bar{\mathbf{I}}_{5}\mathbf{M}_{11}^{(1)}\bar{\mathbf{I}}_{5}\\
\end{array}
\right]
\end{equation}
\end{document}

答案2

与。{pNiceArray}nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}
\begin{equation}
\hat{\mathbf{F}}_{11}^{(1)-1}
= 
\begin{bNiceArray}{c|cc}[margin]
0 & \Block{1-2}{\mathbf{1}_{10}} \\
\hline
\Block{2-1}{\mathbf{1}_{10}}
 & 
\mathbf{M}_{11}^{(1)} & 
\mathbf{M}_{11}^{(1)\ast}\bar{\mathbf{I}}_{5} \\
&
\bar{\mathbf{I}}_{5}\mathbf{M}_{11}^{(1)H} &
\bar{\mathbf{I}}_{5}\mathbf{M}_{11}^{(1)}\bar{\mathbf{I}}_{5}\\
\end{bNiceArray}
\end{equation}

\end{document}

您需要进行多次编译(因为nicematrix在后台使用了 PGF/TikZ 节点)。

上述代码的输出

相关内容