Procesamiento de información cuántica mediante la utilización de variables continuas de la luz
Luz Láser
Introduccion
Un problema muy continua que tiene una persona al leer un articulo o en este caso una tesis magistral poder comprender e interpretar los resultados alcanzados por este son los siguientes:
- No se cuenta con el equipo para poder replicar el problema
- No se cuentra con los datos que se trabajo
- Falta de herramientas (software para poder desarrollar la simulacion)
- Presupuesto y tiempo.
En este caso me encontre con la tesis Magistral presentada por Johnny Alberto Tenorio Albañil a la Universidad Nacional de Colombia, la cual titula
Analisis y simulacion de datos
Comenzaremos el analisis empezando a definir el concepto de Láser
En 1960 Theodore Maiman construyo el primer l´aser cuya palabra LASER es un acrónimo que significa Light Amplification of Stimulated Emission of Radiation (Luz amplificada por emisión estimulada de radiación) y describe su principio de funcionamiento. Un láser está compuesto de 3 partes principales, un bombeo, un medio de ganancia y una cavidad óptica. El bombeo puede ser óptico o eléctrico y excita una transición atómica contenida en el medio de ganancia, la cual decae mediante un proceso denominado emisión espontánea de la luz al estado base. Cuando el medio de ganancia se encuentra dentro una cavidad ´optica, la luz que fluoresce es atrapada en la cavidad y cada vez que pasa por el medio de ganancia se produce un proceso de emisi´on estimulada. En este proceso los fotones son emitidos en la misma direcci´on y en fase con el fotón incidente generando así una fuente de luz coherente.
El autor del trabajo plantea que se utilizo el siguiente experimento que en este caso se muestra el esquema
que con el esquema del siguiente laser He-Ne se obtuvo los siguientes resultados en el que se observa la Distribución del número promedio de fotones para un láser He-Ne en 8 diferentes intervalos de tiempo. La linea solida en cada curva corresponde a la distribución de Poisson para el número promedio de fotones correspondiente
Es este caso con la ayuda de ChatGPT se solicito:
"Podrías ayudarme a analizar el punto de vista del conteo de fotones individuales, el numero promedio de fotones detectados de una fuente de luz laser que presenta fluctuaciones aleatorias, para ello consideraremos la siguiente ecuacion", donde ademas se proporciono la ecuacion de distribucion de Poison:
Posteriormente se solicito realizar el siguiente analisis: "Podrias realizar la grafica la distribución estadística de los fotones, P(n), como función del número n de fotones detectados. Además usa el número promedio de fotones ˉn para cada intervalo de tiempo. Realiza una analisis A, que corresponda a las distribuciones para un ∆t = 1 µs y un ˉn=0.6596, un analisis B para ∆t = 5 µs y un ˉn=1.8878, un analisis C para ∆t = 10 µs y un ˉn=3.3819, un analisis D para ∆t = 50 µs y un ˉn=16.2769, un analisis E para ∆t = 100 µs y un ˉn=32.1084, un analisis F para ∆t = 500 µs y un ˉn=161.1961, un analisis G para ∆t = 1 ms y un ˉn=322.7496, y un analisis H para ∆t = 10ms y un ˉn=3200.15607", en la que se obtuvo el siguiente resultado:
En el grafico que se muestra se observa la distribucion estadistica para todos los fotones P(n) para diferentes intervalos de tiempo, todos ellos en un solo grafico, pero para poder realizar una mejor analisis es necesarion poder mostrar cada analisis con sus respectivas caracteristicas.
En el grafico se muestra el analis de la distribucion de datos de forma teorica, vale decir estos resultados se deberia de esperar considerando solo valores teoricos.
Sin embargo en el trabajo original se realizo un analisis de los datos teoricos y ademas experimentales, motivo por el cual se solicito a ChatGPT que con la ayuda del esquema del equipo experimental se simule los valores que se podira obtene si uno cuenta con el trabajo. y se obtuvieron los siguientes resultados
Posteriormente se solicito que se pueda realizar una comparacion de los datos simulados y los valores teoricos obteniendo el siguiente resultado:
Coclusion
En el presente blog se realizaron el siguiente analisis:
- Se reviso una revision teorica del lazer de forma teorica en el que ademas se considero el edquema del equipo
- Se simularon los datos teoricos de la distribucion estadistica de los fotones para diferentes intervalos de tiempo
- Se realizo una simulacion con el esquema mostrado y se obtuvieron datos experimentales, los cuales tambien fueron graficados.
- Se realizo una comparacion de los datos simulados y teoricos.
- Finalmente se realizo una comparacion de los datos obtenidos por el autor del presente trabajo y aquellos obtenidos por el analisis de ChatGPT. Para el analisis de los datos se utilizo Python y se verifico que estos funcionaran en JupiterLab.
Introduccion
Un problema muy continua que tiene una persona al leer un articulo o en este caso una tesis magistral poder comprender e interpretar los resultados alcanzados por este son los siguientes:
- No se cuenta con el equipo para poder replicar el problema
- No se cuentra con los datos que se trabajo
- Falta de herramientas (software para poder desarrollar la simulacion)
- Presupuesto y tiempo.
En este caso me encontre con la tesis Magistral presentada por Johnny Alberto Tenorio Albañil a la Universidad Nacional de Colombia, la cual titula
Procesamiento de información cuántica mediante la utilización de variables continuas de la luz. Me parece un tema interesante en mi campo, lastimosamente me encontre con muchas dificultades para poder seguir el trabajo, sin embargo con la ayuda de ChatGPT lo pude lograr, para ello considere la seccion 2.3.1. Luz Láser
Analisis y simulacion de datos
Comenzaremos el analisis empezando a definir el concepto de Láser
En 1960 Theodore Maiman construyo el primer l´aser cuya palabra LASER es un acrónimo que significa Light Amplification of Stimulated Emission of Radiation (Luz amplificada por emisión estimulada de radiación) y describe su principio de funcionamiento. Un láser está compuesto de 3 partes principales, un bombeo, un medio de ganancia y una cavidad óptica. El bombeo puede ser óptico o eléctrico y excita una transición atómica contenida en el medio de ganancia, la cual decae mediante un proceso denominado emisión espontánea de la luz al estado base. Cuando el medio de ganancia se encuentra dentro una cavidad ´optica, la luz que fluoresce es atrapada en la cavidad y cada vez que pasa por el medio de ganancia se produce un proceso de emisi´on estimulada. En este proceso los fotones son emitidos en la misma direcci´on y en fase con el fotón incidente generando así una fuente de luz coherente.
El autor del trabajo plantea que se utilizo el siguiente experimento que en este caso se muestra el esquema
que con el esquema del siguiente laser He-Ne se obtuvo los siguientes resultados en el que se observa la Distribución del número promedio de fotones para un láser He-Ne en 8 diferentes intervalos de tiempo. La linea solida en cada curva corresponde a la distribución de Poisson para el número promedio de fotones correspondiente
Es este caso con la ayuda de ChatGPT se solicito:
"Podrías ayudarme a analizar el punto de vista del conteo de fotones individuales, el numero promedio de fotones detectados de una fuente de luz laser que presenta fluctuaciones aleatorias, para ello consideraremos la siguiente ecuacion", donde ademas se proporciono la ecuacion de distribucion de Poison:
Posteriormente se solicito realizar el siguiente analisis: "Podrias realizar la grafica la distribución estadística de los fotones, P(n), como función del número n de fotones detectados. Además usa el número promedio de fotones ˉn para cada intervalo de tiempo. Realiza una analisis A, que corresponda a las distribuciones para un ∆t = 1 µs y un ˉn=0.6596, un analisis B para ∆t = 5 µs y un ˉn=1.8878, un analisis C para ∆t = 10 µs y un ˉn=3.3819, un analisis D para ∆t = 50 µs y un ˉn=16.2769, un analisis E para ∆t = 100 µs y un ˉn=32.1084, un analisis F para ∆t = 500 µs y un ˉn=161.1961, un analisis G para ∆t = 1 ms y un ˉn=322.7496, y un analisis H para ∆t = 10ms y un ˉn=3200.15607", en la que se obtuvo el siguiente resultado:
En el grafico que se muestra se observa la distribucion estadistica para todos los fotones P(n) para diferentes intervalos de tiempo, todos ellos en un solo grafico, pero para poder realizar una mejor analisis es necesarion poder mostrar cada analisis con sus respectivas caracteristicas.
En el grafico se muestra el analis de la distribucion de datos de forma teorica, vale decir estos resultados se deberia de esperar considerando solo valores teoricos.
Sin embargo en el trabajo original se realizo un analisis de los datos teoricos y ademas experimentales, motivo por el cual se solicito a ChatGPT que con la ayuda del esquema del equipo experimental se simule los valores que se podira obtene si uno cuenta con el trabajo. y se obtuvieron los siguientes resultados
Posteriormente se solicito que se pueda realizar una comparacion de los datos simulados y los valores teoricos obteniendo el siguiente resultado:
Coclusion
En el presente blog se realizaron el siguiente analisis:
- Se reviso una revision teorica del lazer de forma teorica en el que ademas se considero el edquema del equipo
- Se simularon los datos teoricos de la distribucion estadistica de los fotones para diferentes intervalos de tiempo
- Se realizo una simulacion con el esquema mostrado y se obtuvieron datos experimentales, los cuales tambien fueron graficados.
- Se realizo una comparacion de los datos simulados y teoricos.
- Finalmente se realizo una comparacion de los datos obtenidos por el autor del presente trabajo y aquellos obtenidos por el analisis de ChatGPT. Para el analisis de los datos se utilizo Python y se verifico que estos funcionaran en JupiterLab.
Anexos
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson
# Definimos los números promedio de fotones para cada intervalo de tiempo.
average_photons = [0.6596, 1.8878, 3.3819, 16.2769, 32.1084, 161.1961, 322.7496, 3200.15607]
# Etiquetas para cada gráfico
labels = ['A (Δt = 1 µs)', 'B (Δt = 5 µs)', 'C (Δt = 10 µs)',
'D (Δt = 50 µs)', 'E (Δt = 100 µs)', 'F (Δt = 500 µs)',
'G (Δt = 1 ms)', 'H (Δt = 10 ms)']
# Creamos una figura para todos los gráficos
plt.figure(figsize=(14, 8))
# Generamos las distribuciones y las graficamos
for i, n_bar in enumerate(average_photons):
# Calculamos la probabilidad para un rango de n que tenga sentido para cada n_bar
n_values = np.arange(poisson.ppf(0.0001, n_bar), poisson.ppf(0.9999, n_bar))
probabilities = poisson.pmf(n_values, n_bar)
# Dibujamos la distribución de Poisson para cada n_bar
plt.plot(n_values, probabilities, label=labels[i])
# Añadimos detalles a la gráfica
plt.title('Distribución de Poisson para diferentes valores de $\\bar{n}$')
plt.xlabel('Número de fotones detectados ($n$)')
plt.ylabel('Probabilidad ($P(n)$)')
plt.legend()
plt.grid(True)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson
# Definimos los números promedio de fotones para cada intervalo de tiempo.
average_photons = [0.6596, 1.8878, 3.3819, 16.2769, 32.1084, 161.1961, 322.7496, 3200.15607]
# Etiquetas para cada gráfico
labels = ['A (Δt = 1 µs)', 'B (Δt = 5 µs)', 'C (Δt = 10 µs)',
'D (Δt = 50 µs)', 'E (Δt = 100 µs)', 'F (Δt = 500 µs)',
'G (Δt = 1 ms)', 'H (Δt = 10 ms)']
# Creamos una figura para todos los gráficos
plt.figure(figsize=(14, 8))
# Generamos las distribuciones y las graficamos
for i, n_bar in enumerate(average_photons):
# Calculamos la probabilidad para un rango de n que tenga sentido para cada n_bar
n_values = np.arange(poisson.ppf(0.0001, n_bar), poisson.ppf(0.9999, n_bar))
probabilities = poisson.pmf(n_values, n_bar)
# Dibujamos la distribución de Poisson para cada n_bar
plt.plot(n_values, probabilities, label=labels[i])
# Añadimos detalles a la gráfica
plt.title('Distribución de Poisson para diferentes valores de $\\bar{n}$')
plt.xlabel('Número de fotones detectados ($n$)')
plt.ylabel('Probabilidad ($P(n)$)')
plt.legend()
plt.grid(True)
plt.show()
# Crearemos un gráfico para cada caso por separado para verlos con más detalle.
# Crear una figura con subplots para cada análisis
fig, axes = plt.subplots(4, 2, figsize=(15, 20))
# Aplanamos el array de ejes para facilitar su manejo
axes = axes.flatten()
# Generamos las distribuciones y las graficamos individualmente
for i, (n_bar, ax) in enumerate(zip(average_photons, axes)):
# Calculamos la probabilidad para un rango de n que tenga sentido para cada n_bar
n_values = np.arange(poisson.ppf(0.0001, n_bar), poisson.ppf(0.9999, n_bar))
probabilities = poisson.pmf(n_values, n_bar)
# Dibujamos la distribución de Poisson para cada n_bar
ax.plot(n_values, probabilities, 'b', lw=2)
ax.fill_between(n_values, probabilities, color='blue', alpha=0.5)
# Añadimos detalles al subgráfico
ax.set_title(f'Distribución para {labels[i]}')
ax.set_xlabel('Número de fotones detectados ($n$)')
ax.set_ylabel('Probabilidad ($P(n)$)')
ax.grid(True)
# Ajustar el layout para evitar solapamientos
plt.tight_layout()
plt.show()
import pandas as pd
# Definimos los intervalos de tiempo en microsegundos y los números promedio de fotones para cada simulación.
time_intervals_us = [1, 5, 10, 50, 100, 500, 1000, 10000]
average_photons = [0.6596, 1.8878, 3.3819, 16.2769, 32.1084, 161.1961, 322.7496, 3200.15607]
# Generamos los datos simulados usando la distribución de Poisson.
# Supondremos que realizamos 1000 mediciones para cada intervalo de tiempo.
num_measurements = 1000
simulated_data = {}
for delta_t, n_bar in zip(time_intervals_us, average_photons):
# La función poisson.rvs genera números aleatorios basados en la distribución de Poisson.
data = poisson.rvs(mu=n_bar, size=num_measurements)
simulated_data[f"Simulación (∆t = {delta_t} µs)"] = data
# Convertimos el diccionario a un DataFrame para una mejor visualización.
df_simulated_data = pd.DataFrame(simulated_data)
# Ahora, generamos las distribuciones estadísticas para cada conjunto de datos simulados y las graficamos.
plt.figure(figsize=(14, 8))
# Para cada simulación, calculamos la distribución estadística y la graficamos.
for label, data in df_simulated_data.iteritems():
# Calculamos la distribución de frecuencias para los datos simulados.
counts = np.bincount(data)
n_values = np.arange(len(counts))
probabilities = counts / num_measurements
# Graficamos la distribución estadística.
plt.plot(n_values, probabilities, label=label)
# Añadimos los detalles finales de la gráfica.
plt.title('Distribución Estadística de Fotones para Diferentes Intervalos de Tiempo')
plt.xlabel('Número de fotones detectados ($n$)')
plt.ylabel('Probabilidad ($P(n)$)')
plt.legend()
plt.grid(True)
plt.show()
# Ahora generaremos un gráfico para cada simulación individualmente.
# Creamos una figura con subplots para cada simulación
fig, axes = plt.subplots(4, 2, figsize=(15, 20))
# Aplanamos el array de ejes para un manejo más sencillo
axes = axes.flatten()
# Para cada simulación, calculamos la distribución estadística y la graficamos
for i, (label, data) in enumerate(df_simulated_data.iteritems()):
# Calculamos la distribución de frecuencias para los datos simulados
counts = np.bincount(data)
n_values = np.arange(len(counts))
probabilities = counts / num_measurements
# Graficamos la distribución estadística
axes[i].bar(n_values, probabilities, color='blue', alpha=0.7)
axes[i].set_title(f'{label}')
axes[i].set_xlabel('Número de fotones detectados ($n$)')
axes[i].set_ylabel('Probabilidad ($P(n)$)')
axes[i].grid(True)
# Ajustar el layout para evitar solapamientos
plt.tight_layout()
plt.show()
# Crearemos nuevamente los gráficos con los colores solicitados: rojo para los datos teóricos y azul para los experimentales simulados.
# Gráfico general con todos los casos
plt.figure(figsize=(14, 8))
# Comparar distribuciones teóricas y experimentales simuladas en un solo gráfico
for i, (n_bar, data) in enumerate(zip(average_photons, df_simulated_data.columns)):
# Datos experimentales simulados
counts = np.bincount(df_simulated_data[data])
n_values_exp = np.arange(len(counts))
probabilities_exp = counts / num_measurements
# Distribución teórica
n_values_theo = np.arange(poisson.ppf(0.0001, n_bar), poisson.ppf(0.9999, n_bar))
probabilities_theo = poisson.pmf(n_values_theo, n_bar)
plt.plot(n_values_theo, probabilities_theo, 'o', color='red', label=f'Teórico (∆t = {time_intervals_us[i]} µs)', markersize=5)
plt.plot(n_values_exp, probabilities_exp, '-', color='blue', label=f'Simulado (∆t = {time_intervals_us[i]} µs)', linewidth=1)
# Añadir detalles al gráfico
plt.title('Comparación de Distribuciones Teóricas y Experimentales Simuladas')
plt.xlabel('Número de fotones detectados ($n$)')
plt.ylabel('Probabilidad ($P(n)$)')
plt.legend()
plt.grid(True)
plt.show()
# Gráficos individuales para cada caso
fig, axes = plt.subplots(4, 2, figsize=(15, 20))
axes = axes.flatten()
# Comparar distribuciones para cada caso
for i, (n_bar, data) in enumerate(zip(average_photons, df_simulated_data.columns)):
# Datos experimentales simulados
counts = np.bincount(df_simulated_data[data])
n_values_exp = np.arange(len(counts))
probabilities_exp = counts / num_measurements
# Distribución teórica
n_values_theo = np.arange(poisson.ppf(0.0001, n_bar), poisson.ppf(0.9999, n_bar))
probabilities_theo = poisson.pmf(n_values_theo, n_bar)
# Graficar ambos, teórico y simulado
axes[i].plot(n_values_theo, probabilities_theo, 'o', color='red', label='Teórico', markersize=5)
axes[i].plot(n_values_exp, probabilities_exp, '-', color='blue', label='Simulado', linewidth=1)
axes[i].set_title(f'Simulación (∆t = {time_intervals_us[i]} µs)')
axes[i].set_xlabel('Número de fotones detectados ($n$)')
axes[i].set_ylabel('Probabilidad ($P(n)$)')
axes[i].legend()
axes[i].grid(True)
plt.tight_layout()
plt.show()








Comentarios
Publicar un comentario