我想写出递归关系的伴随矩阵及其用途(这种符号有点不寻常,因为它是“用于密码学”,我们总是以不同的方式做事)。
\documentclass[11pt]{article}
\usepackage{amsmath}
\begin{document}
\[
C :=
\begin{pmatrix}
0 & 1 & 0 & \cdots & 0 \\
0 & 0 & 1 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \ddots & 1 \\
c_0 & c_1 & c_2 & \cdots & c_{n-1} \\
\end{pmatrix}
%%%
\quad\textrm{and}\quad
%%%
C \cdot
\begin{pmatrix}
y_{k} \\ y_{k+1} \\ \vdots \\ y_{n+k-2} \\ y_{n+k-1} \\
\end{pmatrix}
=
\begin{pmatrix}
y_{k+1} \\ y_{k+2} \\ \vdots \\ y_{n+k-1} \\ y_{n+k} \\
\end{pmatrix}
\enspace.
\]
\end{document}
但是方阵比列向量高。如何才能让所有内容完美对齐?
罗伯托
编辑:谢谢大家,就我而言,这是错误的 \ddots(咳咳)。
编辑2:
因此,将@percusse 的建议与矩阵上的括号我想出了这个
\def\matriximg{%
\begin{array}{c|ccc}
\\
\vphantom{\vdots} 0 &\multicolumn{3}{c}{I_{n-1}} \\
\\ \hline
\vphantom{y_k} c_0 & c_1 & \ldots &c_{n-1}
\end{array}
}%
\begin{equation}
\label{eq:companion}
\left(\vphantom{\matriximg}\right.%
\kern-2\nulldelimiterspace%
\underbrace{\matriximg}_{\displaystyle C}%
\kern-\nulldelimiterspace%
\left.\vphantom{\matriximg}\right)%
%
\cdot
%
\left(\!\begin{array}{c}
y_{k} \\ \hline y_{k+1} \\ \vdots \\ y_{n+k-1} \\
\end{array}\!\right)
=
\left(\!\begin{array}{c}
y_{k+1} \\ \vdots \\ y_{n+k-1} \\ \hline y_{n+k} \\
\end{array}\!\right)
\enspace.
\end{equation}
答案1
好奇。结果显示\ddots
比其他字符略高。我建议\smash
在第一个矩阵中将它们加入:
\documentclass[11pt]{article}
\usepackage{mathtools}
\begin{document}
\begin{equation*}
C \coloneqq
\begin{pmatrix}
0 & 1 & 0 & \cdots & 0 \\
0 & 0 & 1 & \cdots & 0 \\
\vdots & \vdots & \vdots & \smash{\ddots} & \vdots \\
0 & 0 & 0 & \smash{\ddots} & 1 \\
c_0 & c_1 & c_2 & \cdots & c_{n-1}
\end{pmatrix}
%%%
\quad\textrm{and}\quad
%%%
C \cdot
\begin{pmatrix}
y_{k} \\ y_{k+1} \\ \vdots \\
y_{n+k-2} \\ y_{n+k-1}
\end{pmatrix}
=
\begin{pmatrix}
y_{k+1} \\ y_{k+2} \\ \vdots \\ y_{n+k-1} \\ y_{n+k} \\
\end{pmatrix}
.
\end{equation*}
\end{document}
我已经用过了,mathtools
只是获取\coloneqq
符号。
答案2
最简单的方法是将\ddots
第 4 行中的 替换为\cdots
。我认为这更有意义,但也许您需要这种方式。
问题是,\ddots
高于第二项和第三项第 4 行中的表达式。如果您增加这些表达式的高度(如下面的我的 MWE 所示),对齐将再次修复。如果您想更均匀地分布行,也可以将这样的添加\vphantom{\ddots}
到其他行。
% arara: pdflatex
\documentclass[11pt]{article}
\usepackage{amsmath}
\begin{document}
\[
C :=
\begin{pmatrix}
0 & 1 & 0 & \cdots & 0 \\
0 & 0 & 1 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \ddots & 1 \\
c_0 & c_1 & c_2 & \cdots & c_{n-1} \\
\end{pmatrix}
%%%
\quad\textrm{and}\quad
%%%
C \cdot
\begin{pmatrix}
y_{k} \\ y_{k+1} \\ \vdots \\ y_{n+k-2}\vphantom{\ddots} \\ y_{n+k-1} \\
\end{pmatrix}
=
\begin{pmatrix}
y_{k+1} \\ y_{k+2} \\ \vdots \\ y_{n+k-1}\vphantom{\ddots} \\ y_{n+k} \\
\end{pmatrix}
\enspace.
\]
\end{document}
编辑
\ddots
\vdots
顶部和底部均放大约 50%。这将使典型的点阵间距更美观。也许周围有裁剪的点符号,但我还没有检查过。
答案3
像往常一样,在我看来,这些点很丑陋,即使状态矩阵中有最基本的伴随结构,也会使矩阵难以阅读。这里有更符合我口味的东西,强调了移位操作;
\documentclass{article}
\begin{document}
\[
\underbrace{\left(
\begin{array}{c|ccc}
\\0 &\multicolumn{3}{c}I\\
\\ \hline c_0 &c_1 &\ldots &c_{n-1}
\end{array}
\right)}_C\cdot
\left(\begin{array}{c}
y_{k} \\ \hline y_{k+1} \\ \vdots \\ y_{n+k-1} \\
\end{array}\right)
=
\left(\begin{array}{c}
y_{k+1} \\ \vdots \\ y_{n+k-1} \\\hline y_{n+k} \\
\end{array}\right)
\]
\end{document}