homepage/en/numerics/FJMT.2024/index.md

83 lines
3.1 KiB
Markdown

---
layout: default
lang: en
subtitle: FJMT.2024 / 23 April 2024
math: true
---
# Lancichinetti-Fortunato-Radicchi (N_mfl = 301)
{% assign sigma_array = "0.001, 0.002, 0.004, 0.012" | split: ", " %}
{% assign mu_array = "0.001, 0.005, 0.01, 0.05, 0.20833333333333334, 0.36666666666666664, 0.525, 0.6833333333333333, 0.8416666666666667, 1.0" | split: ", " %}
{% assign prefix = "/s/numerics/FJMT.2024/plots_23_04_2024/results/LFR_separated/N_micro=1000,N_mfl=301" %}
{% assign prefix = "https://gaspard.janko.fr/s/numerics/FJMT.2024/plots_23_04_2024/results/LFR_separated/N_micro=1000,N_mfl=301" %}
{% for sigma in sigma_array %}
<style>
.manual_center_1500 { margin-left: -367px; margin-top: 1em; width: 1500px; height: 750px; }
h3 { margin-top: 1em; margin-bottom: 0.5em; font-size: 110%; }
p { margin-top: 1em; }
</style>
<h2>$β$ distribution with $σ² = {{sigma}}$</h2>
<h3 id="LFR301_var=0.001_movies">Movies (ensemble averages)</h3>
|----------|
| R1 {% for mu in mu_array -%}
| [μ={{ mu | round: 4 }}]({{ prefix }}/σ²={{ sigma }}/μ={{ mu }}/movie_without_g.mp4){% if forloop.last -%} | {% endif -%}
{% endfor %}
<h3 id="LFR301_var=0.001_graphs">Graphs</h3>
|----------|
{% for run in (1..5) -%}
| R{{ run }} {% for mu in mu_array -%}
| [μ={{ mu | round: 4 }}]({{ prefix }}/σ²={{ sigma }}/μ={{ mu }}/micro-{{ run }}/graph_LFR.png){% if forloop.last -%} | {% endif -%}
{% endfor %}
{% endfor %}
<h3>Dynamics</h3>
Convergence rates are computed over the time span marked in blue in the first plot.
**Parameters:**
- $\mu$: LFR mixing parameter
- $T^*$: time to consensus = $-1/\log(\vert\lambda_2\vert) \cdot \delta t$, where $\lambda_2$ is the second largest eigenvalue of the transition matrix for the associated time discrete model. See [here](https://doi.org/10.1016/j.ins.2019.02.028).
- [assortativity](https://en.wikipedia.org/wiki/Assortativity)
- [clustering coeff.](https://en.wikipedia.org/wiki/Clustering_coefficient)
![convergence]({{ prefix }}/σ²={{ sigma }}/comparison.svg){:.manual_center_1500}
<h3>Graph properties</h3>
![graph metrics]({{ prefix }}/σ²={{ sigma }}/graph_analysis.svg){:.manual_center_1500}
<h3>g(t=0), 1 row per run, p increasing →</h3>
<div class="form">
<label>Brightness: </label><input id="slider_LFR301_var={{ sigma }}" type="range" min="1"
max="10" value="1" step="1" /><span id="brightness_LFR301_var={{ sigma }}">1</span>
</div>
<img src="{{ prefix }}/σ²={{ sigma }}/g_init_montage.png" id="g_init_LFR301_var={{ sigma }}"/>{:.manual_center_1500}
{% endfor %}
<script>
const tags = [
{% for sigma in sigma_array %}
"LFR301_var={{ sigma }}",
{% endfor %}
];
tags.forEach((tag) => {
console.log(tag);
console.log("slider_" + tag);
const slider = document.getElementById("slider_" + tag);
console.log(slider);
const img = document.getElementById("g_init_" + tag);
const disp = document.getElementById("brightness_" + tag);
slider.addEventListener("input", (event) => {
new_value = event.target.value;
disp.textContent = new_value;
img.style.filter = `brightness(${new_value})`
});
})
</script>