Alignement de formule dans une matrice de transition
J'ai utilisé le problème soulevé dans le lien ci-dessous pour construire 2 façons alternatives de générer une matrice de transition pour une chaîne de Markov. Cependant, comme vous pouvez le voir, dans la première version, ma formule perd son alignement attendu. Et dans la seconde, m étiquettes de colonne et de ligne perdent leur alignement.
Le lien: Créer une matrice de probabilité de transition
Pourriez-vous s'il vous plaît m'aider à identifier ce qui ne va pas? J'ai essayé d'éditer beaucoup de cela sans succès.
Option 1:
\usepackage{amsmath, blkarray}
\[
\mathbf{P} =
\begin{blockarray}{c@{\hspace{1pt}}rrrrr@{\hspace{3pt}}}
& 0 & 1 & 2 & 3 & 4 \\
\begin{block}{r@{\hspace{1pt}}|@{\hspace{1pt}}|@{\hspace{1pt}}
rrrrr@{\hspace{1pt}}|@{\hspace{1pt}}|}
0 & 0 & $\frac{1}{3}(\frac{2}{3}$)^{1-1}$ & $\frac{1}{3}(\frac{2}{3}$)^{2-1}$ & $\frac{1}{3}(\frac{2}{3}$)^{3-1}$ & {$\frac{1}{3}(\frac{2}{3}$)^{4-1}$}\\
1 & 1.0 & 0 & 0 & 0 & 0\\
2 & 0 & 1.0 & 0 & 00 & 0 \\
3 & 0 & 0 & 1.0 & 0 & 0 \\
4 & 0 & 0 & 0 & 1.0 & 0 \\
\end{block}
\end{blockarray}
\]

Option 2:
\usepackage{scalerel,tabstackengine,xpatch}
\setstacktabbedgap{1em}
\xpatchcmd\Centerstack{\strutlongstacks{T}}{}{}{}
\[
\def\stackalignment{c}
\mathbf{P} =
\Centerstack{
0 \\
1 \\
2 \\
3 \\
4 \\
}\!
\stackon{
\stretchleftright{|\!|}{\tabbedCenterstack{
0.0 & {$\frac{1}{3}(\frac{2}{3}$)^{1-1}$} & {$\frac{1}{3}(\frac{2}{3}$)^{2-1}$} & {$\frac{1}{3}(\frac{2}{3}$)^{3-1}$} & {$\frac{1}{3}(\frac{2}{3}$)^{4-1}$}\\
1.0 & 0.0 & 0.0 & 0.0 & 0.0 \\
0.0 & 1.0 & 0 & 0.0 & 0.0 \\
0.0 & 0.0 & 1.0 & 0.0 & 0.0 \\
0.0 & 0.0 & 0.0 & 1.0 & 0.0
}}{|\!|}}{\tabbedCenterstack{
\protect\phantom{0.5}0 & \protect\phantom{0.5}1 & \protect\phantom{0.5}2 & \protect\phantom{0.5}3 & \protect\phantom{0.5}4}
\kern1pt}
\]

Merci beaucoup pour l'aide!
C'est très apprécié.
Réponses
C'est beaucoup plus facile avec nicematrix
:
\documentclass{article}
\usepackage{amsmath, nicematrix}
\begin{document}
\[
\mathbf{P} =
\begin{VNiceMatrix}[first-col,first-row]
& 0 & 1 & 2 & 3 & 4 \\
0 & 0 & \frac{1}{3}(\frac{2}{3})^{1-1}
& \frac{1}{3}(\frac{2}{3})^{2-1}
& \frac{1}{3}(\frac{2}{3})^{3-1}
& \frac{1}{3}(\frac{2}{3})^{4-1} \\
1 & 1.0 & 0 & 0 & 0 & 0\\
2 & 0 & 1.0 & 0 & 00 & 0 \\
3 & 0 & 0 & 1.0 & 0 & 0 \\
4 & 0 & 0 & 0 & 1.0 & 0 \\
\end{VNiceMatrix}
\]
\end{document}

Les entrées d'une matrice, que ce soit XNiceMatrix
, Xmatrix
, array
ou blockarray
sont déjà en mode mathématique, donc pas $
à utiliser. (Le X
symbole représente l'un des caractères autorisés pour obtenir les différents délimiteurs de matrice.)