对齐不同的矩阵

对齐不同的矩阵

我想写出递归关系的伴随矩阵及其用途(这种符号有点不寻常,因为它是“用于密码学”,我们总是以不同的方式做事)。

\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}

在此处输入图片描述

相关内容