bmatrix を使用して 6x6 行列を作成する

bmatrix を使用して 6x6 行列を作成する

次のテキストを含む 6x6 マトリックスを作成しようとしています。

\begin{gather}
\dfrac{d}{dt}
\begin{bmatrix}
    y \\ \dot{y} \\ a_{M} \\ \lambda_{T} \\ \lambda_{D} \\ a_{T}
\end{bmatrix}
=
\begin{bmatrix}
    0 && 1 && 0 && 0 && 0 && 0 \\
    0 && 1 && 0 && 0 && 0 && 0 \\
    0 && 1 && 0 && 0 && 0 && 0 \\
    0 && 1 && 0 && 0 && 0 && 0 \\
    0 && 1 && 0 && 0 && 0 && 0 \\
    0 && 1 && 0 && 0 && 0 && 0 \\
\end{bmatrix}
\end{gather}

そして、次のエラーが発生します。

追加の配置タブが \cr. \endtemplace \end{gather} に変更されました。

奇妙なのは、同じコードを 5x5 で確認すると、動作したことです。

ありがとう。

答え1

問題は、matrix-like構文ではデフォルトで10列までしかサポートされていないが、その数は

\setcounter{MaxMatrixCols}{20}

(20 列あれば十分でしょう)。

ただし、列間の間隔を広げたい場合は、ダミー列を追加するのではなく、適切に設定してください。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{equation}
\frac{d}{dt}
\begin{bmatrix}
    y \\ \dot{y} \\ a_{M} \\ \lambda_{T} \\ \lambda_{D} \\ a_{T}
\end{bmatrix}
=
\setlength{\arraycolsep}{2\arraycolsep}% this change is local
\begin{bmatrix}
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
\end{bmatrix}
\end{equation}

\begin{equation}
\frac{d}{dt}
\begin{bmatrix}
    y \\ \dot{y} \\ a_{M} \\ \lambda_{T} \\ \lambda_{D} \\ a_{T}
\end{bmatrix}
=
\begin{bmatrix}
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
\end{bmatrix}
\end{equation}

\end{document}

私は後者のほうがずっと好きです。

ここに画像の説明を入力してください

答え2

ここでの入力は実際には6x6行列ではなく、6x11行列(数og &+1)です。基本的に、&&

デフォルトではbmatrix、同様の envs には最大 10 列があります (カウンターによって制御されますMaxMatrixCols)。そのため、マトリックス env で定義されている列数よりも多くの列があるため、エラーが発生します。

簡単な解決策は&&に置き換えます&

ここで記述した 5x5 マトリックスは 10x5 と同じなので、10 列の制限内になります。

David がコメントで述べているように、equation(*)ワンライナーに使用すると、他の環境にはないスペース節約機能が組み込まれます。

関連情報