Alinhamento da fórmula em uma matriz de transição

Dec 29 2020

Usei o problema levantado no link abaixo para construir 2 maneiras alternativas de gerar uma matriz de transição para uma Cadeia de Markov. Porém, como você pode ver, na primeira versão, minha fórmula está perdendo o alinhamento esperado. E no segundo, os rótulos das colunas e linhas perdem seus alinhamentos.

O link: Criando uma matriz de probabilidade de transição

Você poderia me ajudar a identificar o que está errado? Eu tentei editar muito isso sem sucesso.

Opção 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}
\]

Opção 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}
\]

Muito obrigado pela ajuda!

Isso é muito apreciado.

Respostas

1 egreg Dec 29 2020 at 06:49

É muito mais fácil com 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}

As entradas de uma matriz, seja XNiceMatrix, Xmatrix, arrayou blockarrayjá estão em modo matemático, por isso não $deve ser usado. (O Xrepresenta qualquer um dos caracteres permitidos para obter os vários delimitadores de matriz.)