#Cálculo $L_{D}$

##Modélo teórico en 1 dimensión

Consideremos una caminata aleatoria unidimensional, que en cada paso recorre una distancia , y
que tiene la misma probabilidad de caminar hacia la izquierda que hacia la derecha. La distancia
entre el origen y N pasos después es


\begin{equation}
\label{eq:sumatoria}
X = \sum_{i=1}^{N} x_{i}
\end{equation}

Donde $x_{i}$ puede ser $\epsilon$ con probabilidad $p$ o $–\epsilon$ con probabilidad $q$, siendo $p = q$. Si queremos ver cuánto vale $X$ promediando en muchas caminatas de este tipo debemos calcular el valor esperado
de $X$. Esto es

\begin{equation}
\label{eq:esperanza}
E(X) = \sum_{i=1}^{N} E(x_{i}) = \sum_{i=1}^{N} (p\epsilon - q\epsilon) = 0
\end{equation}

Ésto no arroja información respecto al Exciton Diffusion Length $(L_{D})$. La pregunta que nos hacemos
entonces es: ¿cuánto va a diferir típicamente $X$ del su valor esperado? Definimos $r$ como la
diferencia entre el valor $X$ de una caminata particular y el valor esperado de $X$

\begin{equation}
\label{eq:def_r}
r = X - E(X) = X
\end{equation}

Claramente no tiene sentido preguntarse por el valor esperado de $r$ ya que va a dar cero, de
acuerdo con \eqref{eq:esperanza} y \eqref{eq:def_r}. Esto es debido a que $r$ puede resultar positivo o negativo con la misma
probabilidad, y al sumar estos valores en promedio se compensan, resultando cero su valor
esperado. Por esto es útil preguntarse por el valor esperado del valor absoluto (siempre positivo)
de $r$. Para esto calculamos el valor esperado de $r$ al cuadrado como

\begin{equation}
\label{eq:varianza}
E(r^{2}) = E((X - E(X))^{2}) = E(X^{2}) = E \left[\left(\sum_{i=1}^{N} \right)^{2} \right] = Var(X)
\end{equation}
 
Esto es por definición la varianza de $X$. El cuadrado de la sumatoria en \eqref{eq:varianza} está compuesto de $N$ términos del tipo $x_{i}^{2}$, y $N(N - 1)$ términos cruzados del tipo $x_{i}x_{j}$ con $i \neq j$

\begin{equation}
\label{eq:cruzados}
E(r^{2}) = E \left(\sum_{i=1}^{N} x_{i}^{2} \right) + E \left(\sum_{i \neq j} x_{i}x_{j} \right)
\end{equation}

Notemos que 

\begin{equation}
\label{eq:cruzados2}
E \left(\sum_{i=1}^{N} x_{i}^{2} \right) = E \left(\sum_{i=1}^{N} \epsilon^{2} \right) = E \left(N\epsilon^{2} \right) = N\epsilon^{2}
\end{equation}

Y que

\begin{equation}
\label{eq:cruzados3}
E \left(\sum_{i \neq j}x_{i}x_{j} \right)= 0
\end{equation}

Debido a que los términos de la sumatoria pueden tener resultados $\epsilon^{2}$ o $-\epsilon^{2}$ con igual probabilidad. De  se obtiene que \eqref{eq:cruzados}, \eqref{eq:cruzados2} y \eqref{eq:cruzados3} se obtiene que 

\begin{equation}
\label{eq:r_cuadrado}
E(r^{2}) = N\epsilon^{2} = Var(X)
\end{equation}

Tomando la raíz cuadrada de \eqref{eq:r_cuadrado} podemos calcular la Desviación Standar \sigma de $X$

\begin{equation}
\label{eq:desviacion}
\sigma = \sqrt{N}\epsilon
\end{equation}

Ésta es una buena medida de la distancia entre el punto inicial y final de la caminata en $N$ pasos,
así que asignamos este valor al Exciton Difussion Length $L_{D}$

\begin{equation}
\label{eq:l_d}
L_{D} = \sqrt{N}\epsilon
\end{equation}

##Generalización a 3 dimensiones

En tres dimensiones la situación es matemáticamente más compleja pero arroja el mismo
resultado. Supongamos una caminata aleatoria tridimensional con la misma probabilidad de
caminar hacia todas las direcciones. Supongamos que el largo de cada paso es $\epsilon$, de modo que las
componentes cartesianas de cada paso $i$ deben cumplir

\begin{equation}
\label{eq:paso}
x_{i}^{2} + y_{i}^{2} + z_{i}^{2} = \epsilon^{2}
\end{equation}

El vector distancia entre el origen y $N$ pasos después de la caminata es entonces

\begin{equation}
\label{eq:vec}
\overrightarrow{R} = \sum_{i=1}^{N} \overrightarrow{r_{i}}
\end{equation}

Donde $\overrightarrow{r_{i}} = x_{i}\hat{i} + y_{i}\hat{j} + z_{i}\hat{k}$. Al igual que en el caso unidimensional $E(\overrightarrow{R}) = 0$, por lo que calculamos 

\begin{equation}
\label{eq:esperanza_R}
E(\overrightarrow{R^{2}}) = E \left[\left(\sum_{i=1}^{N} \overrightarrow{r_{i}} \right)_{2} \right] = E \left(\sum_{i=1}^{N} \overrightarrow{r_{i}^{2}} \right) + E \left(\sum_{i \neq j} \overrightarrow{r_{i}} \overrightarrow{r_{j}} \right)
\end{equation}

El segundo término de la ecuación \eqref{eq:esperanza_R} es 

\begin{equation}
\label{eq:}
E \left(\sum_{i \neq j}\overrightarrow{r_{i}} \overrightarrow{r_{j}} \right) = E \left(\sum_{i \neq j} (x_{i}x_{j} + y_{i}y_{j} + z_{i}z_{j}) \right) = 0
\end{equation}

Este término es cero debido a que los valores de $x_{i},y_{i}\; y\; z_{i}$ pueden ser tanto negativos como positivos, y tienen la misma probabilidad de ser negativos que positivos. Cuando se computa la esperanza teniendo en cuenta todos los valores posibles de estas variables y su probabilidad, ésta da cero.

Otra forma de visualizar esto es imaginarse una esfera de radio $\epsilon$ y fijar arbitrariamente el vector $\overrightarrow{r_{i}}$ apuntando hacia arriba (ver figura). Luego se observa que el producto punto entre $\overrightarrow{r_{i}}$ y cualquier $\overrightarrow{r_{j}}$ del hemisferio superior de la esfera da un número positivo (debido a la definición de producto punto y que el ángulo entre ellos es menor a 90º) y el producto entre $\overrightarrow{r_{i}}$ y cualquier $\overrightarrow{r_{j}}$ del hemisferio inferior da negativo (debido a que el ángulo es mayor a 90°). Es posible sumar todos los productos punto correspondientes al hemisferio superior y obtener un valor positivo, y por otro lado sumar todos los productos punto correspondientes al hemisferio inferior y obtener un valor negativo. Debido a la simetría esférica de la situación, la magnitud del valor positivo y negativo deben ser iguales, por lo que cuando se sumen se obtendrá cero. Luego se repite este proceso para todo $\overrightarrow{r_{i}}$ (nuevamente dará cero) y finalmente se suman, dando el resultado final cero debido a que todos los términos son cero.



Entonces

\begin{equation}
E(\overrightarrow{R^{2}}) = E \left(\sum_{i=1}^{N} \overrightarrow{r_{i}^{2}} \right) = E \left(\sum_{i=1}^{N} \epsilon^{2} \right) = N\epsilon^{2}
\end{equation}

Y el exciton diffusion length es igual que para el caso unidimensional

\begin{equation}
\label{eq:l_d2}
L_{D} = \sqrt{N}\epsilon
\end{equation}

##Modelo numérico

Fisicamnete $L_{D}$ es la distancia, promedio, entre donde nace y muere el exiton. De las simulaciones, obtemos estas distacias con las cuales podemos hacer un pomedio RMS que tiene que coincidir con \eqref{eq:l_d2}. De esta forma, vamos a validar que nuestro caminante aleatorio funciona correctamente.


```
import sys
sys.path.append('../')

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('font', **{'family':'sans-serif', 'sans-serif':['Helvetica']})
rc('text', usetex=True)

%matplotlib inline

import ten
```


```
# Propiedades de la NP
r = 50000
R_Forster = 2.29
L_D = 100
tau_D = 0.333
epsilon = 1
num_exc = 5000
num_acceptors = 0

nano_particle = ten.NanoParticle(r,
                             0, 
                            num_acceptors,
                            tau_D,
                            R_Forster,
                            L_D,
                            epsilon,
                            'vol')

x = np.array([i for i in range(5000, 20001, 1000)])
l_d = np.zeros_like(x, dtype='float')

for num, num_exc in enumerate(x):
    # Inicialización del exiton
    simu = ten.Exciton(nano_particle,
                    num_exc,
                    'laser')

    out = simu.l_d()
    l_d[num] = simu.rms
    
    sys.stdout.write('\r Termino la simulación con {0} exitaciones'.format(num_exc) )
```

     Termino la simulación con 20000 exitaciones


```
promedio = sum(l_d)/len(l_d)

plt.figure(figsize=(12,5))
plt.plot(x, l_d, '-o', label='simulaciones')
plt.plot([x[0], x[-1]], [promedio, promedio], label='promedio')
plt.xlabel(r'$Numero\; de\; exitaciones $', fontsize=20)
plt.ylabel(r'$L_{D}$', fontsize=20)
plt.title(r'$L_{D}\; teorico = %f\;\;\; L_{D}\; promedio = %f$' %(np.sqrt(L_D)*np.sqrt(epsilon), promedio), 
          fontsize=20)
plt.legend()
plt.grid(True)
```


```
#Este css esta basado en el de @LorenaABarba y su grupo
from IPython.core.display import HTML
css_file = 'css/personal.css'
HTML(open(css_file, "r").read())
```




<link href='http://fonts.googleapis.com/css?family=Alegreya+Sans:100,300,400,500,700,800,900,100italic,300italic,400italic,500italic,700italic,800italic,900italic' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Arvo:400,700,400italic' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=PT+Mono' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Shadows+Into+Light' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Nixie+One' rel='stylesheet' type='text/css'>
<style>
@font-face {
    font-family: "Computer Modern";
    src: url('http://mirrors.ctan.org/fonts/cm-unicode/fonts/otf/cmunss.otf');
}
#notebook_panel { /* main background */
    background: rgb(245,245,245);
} 
div.cell { /* set cell width */
    width: 80%;
}
div #notebook { /* centre the content */
    background: #fff; /* white background for content */
    width: 100%;
    margin-right: 0px;
    margin-left: 0px;
    padding-left: 0em;
}
#notebook li { /* More space between bullet points */
    margin-top:0.8em;
}
/* draw border around running cells */
div.cell.border-box-sizing.code_cell.running {
    border: 1px solid #111;
}
/* Put a solid color box around each cell and its output, visually linking them*/
div.cell.code_cell {
    background-color: rgb(256,256,256);
    border-radius: 0px;
    padding: 0.5em;
    margin-left:1em;
    margin-top: 1em;
}
div.text_cell_render{
    font-family: 'Alegreya Sans' sans-serif;
    line-height: 140%;
    font-size: 125%;
    font-weight: 400;
    margin-left:0px;
    margin-right:0px;
}
/* Formatting for header cells */
.text_cell_render h1 {
    font-family: 'Nixie One', serif;
    font-style:regular;
    font-weight: 400;
    font-size: 45pt;
    line-height: 100%;
    color: rgb(0,51,102);
    margin-bottom: 0.5em;
    margin-top: 0.5em;
    display: block;
}  
.text_cell_render h2 {
    font-family: 'Nixie One', serif;
    font-weight: 400;
    font-size: 30pt;
    line-height: 100%;
    color: rgb(0,51,102);
    margin-bottom: 0.1em;
    margin-top: 0.3em;
    display: block;
}	
.text_cell_render h3 {
    font-family: 'Nixie One', serif;
    margin-top:16px;
    font-size: 22pt;
    font-weight: 600;
    margin-bottom: 3px;
    font-style: regular;
    color: rgb(102,102,0);
}
.text_cell_render h4 { /*Use this for captions*/
    font-family: 'Nixie One', serif;
    font-size: 14pt;
    text-align: center;
    margin-top: 0em;
    margin-bottom: 2em;
    font-style: regular;
}
.text_cell_render h5 { /*Use this for small titles*/
    font-family: 'Nixie One', sans-serif;
    font-weight: 400;
    font-size: 16pt;
    color: rgb(163,0,0);
    font-style: italic;
    margin-bottom: .1em;
    margin-top: 0.8em;
    display: block;
}
.text_cell_render h6 { /*use this for copyright note*/
    font-family: 'PT Mono', sans-serif;
    font-weight: 300;
    font-size: 9pt;
    line-height: 100%;
    color: grey;
    margin-bottom: 1px;
    margin-top: 1px;
}
.CodeMirror{
    font-family: "PT Mono";
    font-size: 90%;
}
</style>




#####Licencia
El código esta licenciado bajo MIT.

La documentación bajo:
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">TEN</span> by <span xmlns:cc="http://creativecommons.org/ns#" property="cc:attributionName">Laboratorio de Microscopia Óptica Avanzada - UNRC</span> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://github.com/pewen/ten" rel="dct:source">https://github.com/pewen/ten</a>

2da31f2cab376b7436c08fe30d5cfd6df71c42ab
ipynb
Jupyter Notebook
IPython_notebook/06_Calculo_L_D.ipynb
pewen/ten
9416d4ab6fe2de39e37c001aa9c6dc4de228f0ec
MIT
2015-05-09T21:42:24.000Z
2015-05-09T21:42:24.000Z
IPython_notebook/06_Calculo_L_D.ipynb
pewen/ten
9416d4ab6fe2de39e37c001aa9c6dc4de228f0ec
MIT
IPython_notebook/06_Calculo_L_D.ipynb
pewen/ten
9416d4ab6fe2de39e37c001aa9c6dc4de228f0ec
MIT
Qwen/Qwen-72B
1. YES
2. YES