В приведенном ниже коде я использую обновленную версию eqparbox
's \eqmakebox
(определяется как \eqmathbox[<tag>]
) для захвата / измерения ширины ящиков с определенным <tag>
в математике режим.
\documentclass{article}
\usepackage{eqparbox,xparse,bm,amsmath}
% https://tex.stackexchange.com/a/34412/5764
\makeatletter
\NewDocumentCommand{\eqmathbox}{o O{c} m}{%
\IfValueTF{#1}
{\def\eqmathbox@##1##2{\eqmakebox[#1][#2]{$##1##2$}}}
{\def\eqmathbox@##1##2{\eqmakebox{$##1##2$}}}
\mathpalette\eqmathbox@{#3}
}
\makeatother
\begin{document}
\begin{align*}
\eqmathbox[y-mat]{
\begin{bmatrix}
y(\bm{x}_1) \\
\vdots \\
y(\bm{x}_n)
\end{bmatrix}
}
&\sim
\mathcal{N}
\eqmathbox[brackets]{\left(
\eqmathbox[0-mat]{
\begin{bmatrix}
0 \\
\vdots \\
0
\end{bmatrix}
},
\eqmathbox[K-mat]{
\begin{bmatrix}
k(\bm{x}_1, \bm{x}_1) & \dots & k(\bm{x}_1, \bm{x}_N) \\
\vdots & \ddots & \vdots \\
k(\bm{x}_N, \bm{x}_1) & \dots & k(\bm{x}_N, \bm{x}_N)
\end{bmatrix}
}
+
\sigma^2
\eqmathbox[I-mat]{
\begin{bmatrix}
1 & \dots & 0 \\
\vdots & \ddots & \vdots \\
0 & \dots & 1
\end{bmatrix}
}
\right)} \\
\eqmathbox[y-mat]{
\bm{y}
}
&\phantom{{}\sim{}}
\phantom{\mathcal{N}}
\eqmathbox[brackets]{
\eqmathbox[0-mat]{
\bm{0}
}
\phantom{{},{}}
\eqmathbox[K-mat]{
\bm{K}
}
\phantom{{}+{}}
\sigma^2
\eqmathbox[I-mat]{
\bm{I}
}
}
\end{align*}
\end{document}