以 Jordan 标准形式划分子矩阵

以 Jordan 标准形式划分子矩阵

我想使用 LaTeX 绘制这个矩阵。我见过使用该array环境的解决方案,但是,正如您从图片中看到的,线条并没有完全贯穿,因此其中一些不是有效的答案。

也许使用 TikZ?

谢谢你们。

乔丹标准形式

答案1

明智地使用\multicolumn

\documentclass{article}
\usepackage{amsmath}
\usepackage{array}

\begin{document}

\[
\newcommand{\?}[1]{\multicolumn{1}{c|}{#1}}
\left(\begin{array}{ccccccc}
2 & 1 & \?0 & 0 &   0 & 0 & 0 \\
0 & 2 & \?1 & 0 &   0 & 0 & 0 \\
0 & 0 & \?2 & 0 &   0 & 0 & 0 \\
\cline{1-5}
0 & 0 & \?0 & 2 & \?1 & 0 & 0 \\
0 & 0 & \?0 & 0 & \?2 & 0 & 0 \\
\cline{4-6}
0 & 0 &   0 & 0 & \?0 & \?3 & 0 \\
\cline{6-7}
0 & 0 &   0 & 0 &   0 & \?0 & 3
\end{array}\right)
\]

\end{document}

\?命令是本地定义的只是为了方便输入(和阅读)。

在此处输入图片描述

具有完整边框(\|局部重新定义,同样为了便于输入)。

\documentclass{article}
\usepackage{amsmath}
\usepackage{array}

\begin{document}

\[
\newcommand{\?}[1]{\multicolumn{1}{c|}{#1}}
\renewcommand{\|}[1]{\multicolumn{1}{|c}{#1}}
\left(\,\begin{array}{ccccccc}
\cline{1-3}
\|2 & 1 & \?0 & 0 & 0 & 0 & 0 \\
\|0 & 2 & \?1 & 0 & 0 & 0 & 0 \\
\|0 & 0 & \?2 & 0 & 0 & 0 & 0 \\
\cline{1-5}
0 & 0 & \?0 & 2 & \?1 & 0 & 0 \\
0 & 0 & \?0 & 0 & \?2 & 0 & 0 \\
\cline{4-6}
0 & 0 &   0 & 0 & \?0 & \?3 & 0 \\
\cline{6-7}
0 & 0 &   0 & 0 &   0 & \?0 & \?3 \\
\cline{7-7}
\end{array}\,\right)
\]

\end{document}

在此处输入图片描述

可能更具吸引力:

\documentclass{article}
\usepackage{amsmath}
\usepackage{array}

\begin{document}

\[
\settowidth{\dimen0}{$0$}
\settoheight{\dimen2}{$0$}
\setlength{\arraycolsep}{4pt}
\newcolumntype{C}{%
  >{\vrule width 0pt height \dimexpr\dimen2+\arraycolsep\relax depth \arraycolsep}
  w{c}{\dimen0}
}
\renewcommand{\arraystretch}{0}
\newcommand{\?}[1]{\multicolumn{1}{c|}{#1}}
\renewcommand{\|}[1]{\multicolumn{1}{|c}{#1}}
\left(\,\begin{array}{CCCCCCC}
\cline{1-3}
\|2 & 1 & \?0 & 0 & 0 & 0 & 0 \\
\|0 & 2 & \?1 & 0 & 0 & 0 & 0 \\
\|0 & 0 & \?2 & 0 & 0 & 0 & 0 \\
\cline{1-5}
0 & 0 & \?0 & 2 & \?1 & 0 & 0 \\
0 & 0 & \?0 & 0 & \?2 & 0 & 0 \\
\cline{4-6}
0 & 0 &   0 & 0 & \?0 & \?3 & 0 \\
\cline{6-7}
0 & 0 &   0 & 0 &   0 & \?0 & \?3 \\
\cline{7-7}
\end{array}\,\right)
\]

\end{document}

在此处输入图片描述

答案2

这是一个使用选项nicematrix

在此处输入图片描述

如果你想改变线条的样式,你可以添加\usepackage{tikz},然后你可以将任何 TikZ 选项添加到borders选项中,例如,tikz={dashed,red}

\documentclass{article}

\usepackage{nicematrix}

\begin{document}
\[
\begin{pNiceMatrix}
\Block[borders={bottom,right}]{3-3}{}
2 & 1 & 0 & 0 & 0 & 0 & 0\\
0 & 2 & 1 & 0 & 0 & 0 & 0\\
0 & 0 & 2 & 0 & 0 & 0 & 0\\
0 & 0 & 0 & \Block[borders={bottom,right,top,left}]{2-2}{} 2 & 1 & 0 & 0\\
0 & 0 & 0 & 0 & 2 & 0 & 0\\
0 & 0 & 0 & 0 & 0 & \Block[borders={bottom,right,top,left}]{1-1}{} 3 & 0\\
0 & 0 & 0 & 0 & 0 & 0 & \Block[borders={top,left}]{1-1}{}3\\
\end{pNiceMatrix}
\]
\end{document}

相关内容