¿Cómo hacer una figura como esta en LaTeX usando tikz?

¿Cómo hacer una figura como esta en LaTeX usando tikz?

Me gustaría hacer esta figura en LaTeX usando tikz (la figura es de un libro):

ingrese la descripción de la imagen aquí

Realmente no tengo idea de por dónde empezar y cómo hacerlo. Gracias por su ayuda.

Respuesta1

Como siempre ocurre con TikZ, hay muchas, muchas formas de construir un diagrama de este tipo. Aquí hay dos con funcionalidades básicas de TikZ.

Ambos usan dos bucles PGFFor, pero el primero usa un sistema de coordenadas de rotación donde abajo a la derecha está elnorteLa fila y abajo a la izquierda es lakª columna (ver at (\k, -\n)especificación). Sin embargo, esto significa que el primer valor del índice debe evaluarse comok+norte+ 1 que se puede hacer con \intevalo la countclave de PGFFor (ver count = \knp from \npque significa\knp cuenta ascendente desdenorte+ 1 por cadak).

El segundo diagrama construye el diagrama con un sistema de coordenadas no transformado donde las filas están horizontales pero elkLas columnas permanecen en la dirección hacia abajo a la izquierda, lo que requirió un cálculo para elXvalor de la ubicación del nodo: 2knorte.

La condición sobre cuándo dibujar una flecha de la fila/columna anterior ahora es un poco más complicada que antes.

Las condiciones se evalúan con la primitiva secuencia de control TeX, \ifnum…\fique no me gusta, pero son la herramienta más sencilla en este caso, especialmente en combinación con, \intevalya que permite el cálculo de números enteros sobre la marcha.

Código

\documentclass[tikz]{standalone}
\usetikzlibrary{arrows.meta, quotes}
\begin{document}
\tikzset{% settings common to both solutions
  anchor=base,        % nodes are aligned at their base
  auto=right,         % nodes along lines are placed to the right
                      % (all arrows are drawn reversed)
  >={Stealth[round]}, % shorthand arrow tip
  outer sep=+.1em,    % lines connecting nodes are further away
  every edge quotes/.append style={% quotes nodes are closer to the line
    inner sep=+.15em, outer sep=auto}}

\tikz[x=(-45:1.5cm), y=(45:1.5cm)] % rotate and scale the coordinate system
\foreach[count/.list={\np from 1, \nm from -1}] \n in {0, ..., 5}
  \foreach[count/.list={\kp from 1, \km from -1, \knp from \np}]
                                                  \k in {0, ..., \inteval{5-\n}}
    \node (\k-\n) at (\k, -\n) {$A_{\knp, \k}$} % \knp = \inteval{\k+\n+1}
    \ifnum\n=0
      node[gray] at (\k, 1) {$k=\k$}
    \fi
    \ifnum\k=0
      node[gray] at (-1, -\n-1) {$n=\np$}
    \fi
    \ifnum\inteval{\k*\n}>0
      edge[<-, "$\cdot\kp$"] (\k -\nm)
      edge[<-, "$\cdot\np$"] (\km-\n )
    \fi;

\tikz[scale=1.5/sqrt 2] % same scale as in the previous diagram
\foreach[count/.list={\np from 2, \nm from 0}] \n in {1, ..., 6}
  \foreach[count/.list={\kp from 1, \km from -1}] \k in {0, ..., \inteval{\n-1}}
    \node (\k-\n) at (2*\k-\n,-\n) {$A_{\n, \k}$}
      \ifnum\k=0
        node[gray] at (-\n-2, -\n) {$n=\n$}
      \fi
      \ifnum\n=\inteval{\k+1}
        node[gray] at (2*\k-\n+1, -\n+1) {$k=\k$}
      \fi
      \ifnum\n>2 \ifnum\k>0 \ifnum\k<\inteval{\n-1}
        edge[<-, "$\cdot\kp$"]             (\k -\nm)
        edge[<-, "$\cdot\inteval{\n-\k}$"] (\km-\nm)
      \fi\fi\fi;
\end{document}

Producción

ingrese la descripción de la imagen aquí

información relacionada