我想创建一个以矩阵为对象并在这些矩阵之间有箭头的图表。具体来说,我想有四个矩阵,两个矩阵在上行,两个矩阵在下行,它们之间有四个箭头。
我画了类似的图xymatrix
,但是当对象本身就是矩阵时,我不知道该如何做到这一点。
非常感谢您的帮助。
我尝试在\xymatrix
环境中工作,然后使用如下代码:
\[ \left( \begin{array}{cc}
1 & b^{-1} \\
0 & 1 \\
\end{array} \right) \]
对于矩阵,但是这不起作用。
答案1
使用tikz-cd
:
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amsmath}
\begin{document}
\begin{tikzcd}
\begin{pmatrix} 1 & a^{-1} \\ 0 & 1 \end{pmatrix}\arrow{r}{\phi}\arrow{d}{\eta} &
\begin{pmatrix} 1 & b^{-1} \\ 0 & 1 \end{pmatrix}\arrow{d}{\theta} \\
\begin{pmatrix} 1 & c^{-1} \\ 0 & 1 \end{pmatrix}\arrow{r}{\psi} &
\begin{pmatrix} 1 & d^{-1} \\ 0 & 1 \end{pmatrix} \\
\end{tikzcd}
\end{document}
在我的例子中,我使用bmatrix
(来自amsmath
)来构建矩阵;如果您想坚持array
,则需要在管理&符号方面采取一些额外的预防措施:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[ampersand replacement=\&]
\left(\begin{array}{cc} 1 & a^{-1} \\ 0 & 1 \end{array}\right)\arrow{r}{\phi}\arrow{d}{\eta} \&
\left(\begin{array}{cc} 1 & b^{-1} \\ 0 & 1 \end{array}\right)\arrow{d}{\theta} \\
\left(\begin{array}{cc} 1 & c^{-1} \\ 0 & 1 \end{array}\right)\arrow{r}{\psi} \&
\left(\begin{array}{cc} 1 & d^{-1} \\ 0 & 1 \end{array}\right) \\
\end{tikzcd}
\end{document}
答案2
顺便说一句:矩阵工作得很好,\xymatrix
只需记住从解析器中隐藏矩阵xy
:
\documentclass[a4paper]{memoir}
\usepackage{amsmath}
\usepackage[all]{xy}
\begin{document}
\begin{equation*}
\xymatrix{
{\begin{pmatrix}
a & b \\ c & d
\end{pmatrix}}
\ar[r] \ar[d]
&
{\begin{pmatrix}
a & b \\ c & d
\end{pmatrix}}
\ar[d]
\\
{\begin{pmatrix}
a & b \\ c & d
\end{pmatrix}}
\ar[r]
&
{\begin{pmatrix}
a & b \\ c & d
\end{pmatrix}}
}
\end{equation*}
\end{document}