如何轻松写出矩阵的转置?

如何轻松写出矩阵的转置?

我有一个矩阵 A,用环境来描述矩阵如下文的 MWE 所示。

\documentclass{article}

\begin{document}
Consider the matrix 
$A=\begin{bmatrix} 
1 & 0 & -1 \\ 
2 & 3 & 1  \\  
\end{bmatrix}$

Then its transpose is 
$A^T=\begin{bmatrix} 
1 & 2 \\
0 & 3\\ 
-1 & 1  \\  
\end{bmatrix}$

\end{document}

如何在不输入所有条目的情况下获取 A 的转置?换句话说,是否存在 \ 表示“列结束”而不是“行结束”的环境?

我希望我可以粘贴并复制 A 的定义,然后将 bmatrix 更改为矩阵管他呢。

答案1

一种解决方案是以某个唯一的名称保存矩阵,然后在旋转矩阵的同时重复使用该矩阵。

请注意(看看为什么这里)当使用命令用 tikz 排版矩阵时,不能使用简单的“与”符号作为分隔符。

还要注意,最后一个 \\ 是必填的(否则您将收到缺少 } 的错误)。

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{matrix}

\newcommand{\mycustommatrix}[2]{
  \global\expandafter\def\csname mycustommatrixnamed#1\endcsname{#2}
  \left [ \begin{tikzpicture}[baseline=-0.5ex]
    \matrix[matrix of math nodes, ampersand replacement=\&] { \csname mycustommatrixnamed#1\endcsname };
  \end{tikzpicture} \right ]
}

\newcommand{\mycustomtranspose}[1]{
  \left [ \rotatebox[origin=c]{90}{\reflectbox{ \begin{tikzpicture}[baseline=-0.5ex]
    \matrix[matrix of math nodes, ampersand replacement=\&, nodes={rotate=90,xscale=-1}] { \csname mycustommatrixnamed#1\endcsname };
  \end{tikzpicture} }} \right ]
}

\begin{document}

$A = \mycustommatrix{A}{
  1 \& 0 \& -1 \\
  2 \& 3 \& 1 \\
}$

$A^T = \mycustomtranspose{A}$

\end{document}

结果

相关内容