\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[english,spanish]{babel}
\decimalpoint
\unaccentedoperators
\usepackage[bookmarks=false,colorlinks = true,linkcolor = blue,urlcolor  = blue,citecolor = blue,anchorcolor = blue]{hyperref}

\usepackage[intlimits]{amsmath}
\usepackage{amsfonts,amssymb,amsthm,extarrows}
\usepackage[width=16cm,height=21cm]{geometry}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{ifthen}
\usepackage{enumerate}
\usepackage{colortbl}

\theoremstyle{definition}
\newtheorem{example}{Ejemplo}
\newtheorem{defn}[example]{Definición}
\newtheorem{algorithm}[example]{Algoritmo}

\newcommand{\medstrut}{\ensuremath{\vphantom{\int_{0_0}^{1^1}}}}
\newcommand{\bigstrut}{\ensuremath{\vphantom{\displaystyle\int}}}

\newcommand{\IntegerNumbers}{{\mathbb{Z}}}
\newcommand{\RationalNumbers}{{\mathbb{Q}}}
\newcommand{\RealNumbers}{{\mathbb{R}}}
\newcommand{\ComplexNumbers}{{\mathbb{C}}}

\newcommand{\nullvector}{\boldsymbol{0}}
\renewcommand{\Re}{\mathop{\mathrm{Re}}\nolimits}
\renewcommand{\Im}{\mathop{\mathrm{Im}}\nolimits}
\renewcommand{\phi}{\varphi}
\newcommand{\eps}{\varepsilon}

\DeclareMathOperator{\diag}{diag}
\DeclareMathOperator{\tr}{tr}
\DeclareMathOperator{\rank}{r}
\DeclareMathOperator{\imagunit}{i}
\DeclareMathOperator{\enumber}{e}
\newcommand{\matr}[2]{\left[\begin{array}{#1}#2\end{array}\right]}
\newcommand{\Matrices}[3]{\mathcal{M}_{#2\times #3}(#1)}
\newcommand{\SquareRealMatrices}[1]{\mathcal{M}_{#1}(\RealNumbers)}
\newcommand{\markedcell}{\cellcolor[rgb]{0.7,1.0,0.7}}

\begin{document}
\begin{center}
\bfseries\large Matrices asociadas al problema de Dirichlet\\sobre una clase de gráficas
\end{center}

Estos apuntes están escritos por ???, ???, ???, con ayuda de Rogelio Rocha Hernández y Egor Maximenko.

Dada una lista $p=[p_1,\ldots,p_m]$ de números enteros no negativos,
consideremos la gráfica formada de los caminos de longitudes $p_1+1,\ldots,p_m+1$,
unidos en un vértice adicional.
Consideremos la ecuación de calor estacionaria sobre esta gráfica
suponiendo que la temperatura está dada en los extremos de los caminos
(excepto el punto de la unión).

\begin{example}
Para $p=[2,4,1]$ la gráfica es
\begin{center}
\begin{tikzpicture}[scale=2]
\draw[black] (0,0)--(1,1)--(3,1);
\draw[black] (0,0)--(1,0)--(5,0);
\draw[black] (0,0)--(1,-1)--(2,-1);
\filldraw (0,0) circle(0.3mm);
\foreach \j in {1,2} \filldraw (\j,1) circle(0.3mm);
\filldraw[blue] (3,1) circle(0.3mm);
\foreach \j in {1,2,3,4} \filldraw (\j,0) circle(0.3mm);
\filldraw[blue] (5,0) circle(0.3mm);
\foreach \j in {1} \filldraw (\j,-1) circle(0.3mm);
\filldraw[blue] (2,-1) circle(0.3mm);
\node[left] at (0,0) {$1$};
\node[above] at (1,1) {$2$};
\node[above] at (2,1) {$3$};
\node[above] at (1,0) {$4$};
\node[above] at (2,0) {$5$};
\node[above] at (3,0) {$6$};
\node[above] at (4,0) {$7$};
\node[above] at (1,-1) {$8$};
\node[above] at (3,1) {$9$};
\node[above] at (5,0) {$10$};
\node[above] at (2,-1) {$11$};
\end{tikzpicture}
\end{center}
Los vértices extremos de los caminos ($9,10,11$) hacen un papel especial,
por eso los numeramos al final.

\medskip\noindent
Para cada vértice $j$ denotemos por $\Gamma(j)$ al conjunto de sus vecinos.
Por ejemplo,
\[
\Gamma(1)=\{2,4,8\},\qquad \Gamma(2)=\{1,3\},\qquad \Gamma(3)=\{2,9\}.
\]
Estamos buscando una función $x$ definida en el conjunto de los vértices
(en otras palabras, un vector $x$ de longitud $11$)
que satisfaga la ecuación de calor estacionaria:
\begin{equation}\label{eq:heat_equation}
\sum_{k\in\Gamma(j)} (x(j)-x(k))=0.
\end{equation}
Por ejemplo, para $j=1,2,3$ la ecuación de calor se escribe como
\begin{align}
&(x_1-x_2)+(x_1-x_4)+(x_1-x_8)=0; \label{eq1} \\
&(x_2-x_1)+(x_2-x_3)=0; \label{eq2} \\
&(x_3-x_2)+(x_3-x_9)=0. \label{eq3}
\end{align}
La ecuación \eqref{eq:heat_equation} se pone para $j=1,\ldots,8$.
Se supone que en los extremos derechos de los caminos,
es decir, en los vértices $j=9,10,11$, los valores de $x_j$ están dados:
\[
x_9=\alpha_1,\qquad x_{10}=\alpha_2,\qquad x_{11}=\alpha_3.
\]
Entonces las ecuaciones \eqref{eq1}--\eqref{eq3} se convierten en:
\begin{align*}
3x_1-x_2-x_4-x_8 &= 0; \\
-x_1+2x_2-x_3 &=0; \\
-x_2+2x_3&=\alpha_1.
\end{align*}
De manera similar se forman ecuaciones \eqref{eq:heat_equation} para $j=4,\ldots,8$.
Escribimos el sistema de ecuaciones en la forma matricial:
\[
\matr{rrrrrrrr}{
3 & -1 & 0 & -1 & 0 & 0 & 0 & -1 \\
-1 & 2 & -1 & 0 & 0 & 0 & 0 & 0\\
0 & -1 & 2 & 0 & 0 & 0 & 0 & 0 \\
??? & ??? & ??? & ??? & ??? & ??? & ??? & ??? \\
??? & ??? & ??? & ??? & ??? & ??? & ??? & ??? \\
??? & ??? & ??? & ??? & ??? & ??? & ??? & ??? \\
??? & ??? & ??? & ??? & ??? & ??? & ??? & ??? \\
??? & ??? & ??? & ??? & ??? & ??? & ??? & ???
}
\matr{c}{ x_1 \\ x_2 \\ x_3 \\ x_4 \\ x_5 \\ x_6 \\ x_7 \\ x_8 }
=
\matr{c}{ 0 \\ 0 \\ \alpha_1 \\ ??? \\ ??? \\ ??? \\ ??? \\ ??? }.
\]
\end{example}

\begin{example}
Dibujamos la gráfica para $p=[4,2,3]$ y construimos la matriz correspondiente.
\end{example}

\begin{algorithm}
El siguiente programa construye la matriz correspondiente al vector de longitudes dado.
\begin{verbatim}
function A = heatmatrix(p),
   m = length(p);
   n = ???;
   A = zeros(n, n);
   ???
end
\end{verbatim}
\end{algorithm}



\end{document}
