上記のラベルが付いたこれらの行列を取得するのを手伝ってもらえますか:
ムウェ:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\underbrace{\!
\begin{pmatrix}
x_{11} & x_{12} & \dots & x_{1n} \\
x_{21} & x_{22} & \dots & x_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
x_{d1} & x_{d2} & \dots & x_{dn}
\end{pmatrix}\!
}_{\mathbf{R}_{\text{Movies}\times \text{Users}}}
\approx
\underbrace{\!
\begin{pmatrix}
y_{11} & y_{12} & \dots & y_{1n} \\
y_{21} & y_{22} & \dots & y_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
y_{d1} & y_{d2} & \dots & y_{dn}
\end{pmatrix}\!
}_{\mathbf{Q}_{\text{Movies}\times f\text{-factors}}}
\cdot
\underbrace{
\begin{pmatrix}\!
z_{11} & z_{12} & \dots & z_{1n} \\
z_{21} & z_{22} & \dots & z_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
z_{d1} & z_{d2} & \dots & z_{dn}
\end{pmatrix}\!
}_{\mathbf{P}^T_{f\text{-factors}\times\text{Users}}}
\]
\end{document}
答え1
パッケージを使用するとblkarray
:
\documentclass{article}
\usepackage{blkarray}
\begin{document}
\[\renewcommand\arraystretch{1.1}
\begin{blockarray}{cccc}
\BAmulticolumn{4}{c}{\mathbf{R}}\\
\begin{block}{(cccc)}
r_1^{(1)} & r_2^{(1)} & \dots & r_b^{(1)} \\
r_1^{(2)} & r_2^{(2)} & \dots & r_n^{(2)} \\
\vdots & \vdots & \ddots & \vdots \\
r_1^{(m)} & r_2^{(m)} & \dots & r_n^{(m)} \\
\end{block}
\end{blockarray}
\approx
\begin{blockarray}{cccc}
\BAmulticolumn{4}{c}{\mathbf{X}}\\
\begin{block}{(cccc)}
r_1^{(1)} & r_2^{(1)} & \dots & r_b^{(1)} \\
r_1^{(2)} & r_2^{(2)} & \dots & r_n^{(2)} \\
\vdots & \vdots & \ddots & \vdots \\
r_1^{(m)} & r_2^{(m)} & \dots & r_n^{(m)} \\
\end{block}
\end{blockarray}
\cdot
\begin{blockarray}{cccc}
\BAmulticolumn{4}{c}{\mathbf{\Theta}^T}\\
\begin{block}{(cccc)}
\theta_1^{(1)} & \theta_2^{(1)} & \dots & \theta_b^{(1)} \\
\theta_1^{(2)} & \theta_2^{(2)} & \dots & \theta_n^{(2)} \\
\vdots & \vdots & \ddots & \vdots \\
\theta_1^{(m)} & \theta_2^{(m)} & \dots & \theta_n^{(m)} \\
\end{block}
\end{blockarray}^{\raisebox{-1.5\baselineskip}{$T$}}
\]
\end{document}
編集(1):転置の記号を追加しました。解決策はあまりエレガントではありませんが、機能します。
編集(2):転置記号については、次のソリューションの方が適しているかもしれません (最後の行列のコードのみ):
\begin{blockarray}{ccccc}
\BAmulticolumn{4}{c}{\mathbf{\Theta}^T}\\
\begin{block}{(cccc) c}
\theta_1^{(1)} & \theta_2^{(1)} & \dots & \theta_b^{(1)} &\kern-0.5em T \\
\theta_1^{(2)} & \theta_2^{(2)} & \dots & \theta_n^{(2)} & \\
\vdots & \vdots & \ddots & \vdots & \\
\theta_1^{(m)} & \theta_2^{(m)} & \dots & \theta_n^{(m)} & \\
\end{block}
\end{blockarray}
これにより、次のようになります。
答え2
また、私の回答はエレガントではありませんが、 を使用すると機能します\bordermatrix
。私はあなたの MWE のコードを使用しましたが、それは画像のコードではありません。
\documentclass[a4paper,12pt]{article}
\usepackage{mathtools,amssymb}
\usepackage{newtxtext,newtxmath}
\begin{document}
\[\bordermatrix{
& & {\scriptstyle R} & & \cr
& x_{11} & x_{12} & \dots & x_{1n} \cr
& x_{21} & x_{22} & \dots & x_{2n} \cr
&\vdots & \vdots & \ddots & \vdots \cr
& x_{d1} & x_{d2} & \dots & x_{dn}
}
\simeq \bordermatrix{
& & {\scriptstyle T} & & \cr
& y_{11} & y_{12} & \dots & y_{1n} \cr
& y_{21} & y_{22} & \dots & y_{2n} \cr
& \vdots & \vdots & \ddots & \vdots \cr
& y_{d1} & y_{d2} & \dots & y_{dn}
} \bordermatrix{
& & {\scriptstyle \Theta^T} & & \cr
& y_{11} & y_{12} & \dots & y_{1n} \cr
& y_{21} & y_{22} & \dots & y_{2n} \cr
& \vdots & \vdots & \ddots & \vdots \cr
& y_{d1} & y_{d2} & \dots & y_{dn}
}
\begin{matrix}
\overset{T}{}\\
\\
\\
\\
\end{matrix}
\]
\end{document}