Wyrównanie formuł w macierzy przejścia

Dec 29 2020

Wykorzystałem problem poruszony w linku poniżej, aby zbudować 2 alternatywne sposoby generowania macierzy przejść dla łańcucha Markowa. Jednak, jak widać, w pierwszej wersji moja formuła traci swoje oczekiwane wyrównanie. W drugim m etykiety kolumn i wierszy tracą swoje wyrównanie.

Link: Tworzenie macierzy prawdopodobieństwa przejścia

Czy mógłbyś mi pomóc zidentyfikować, co się dzieje? Próbowałem edytować wiele z tego bez powodzenia.

Opcja 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}
\]

Opcja 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}
\]

Bardzo dziękuję za pomoc!

To jest bardzo cenione.

Odpowiedzi

1 egreg Dec 29 2020 at 06:49

Dużo łatwiej jest z 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}

Wpisy matrycy, czy to XNiceMatrix, Xmatrix, arraylub blockarraysą już w trybie matematyki, więc nie $powinny być stosowane. ( XOznacza dowolny dozwolony znak w celu uzyskania różnych ograniczników macierzy).