feat: debut koi

This commit is contained in:
Guillotin Damien 2021-12-15 12:44:43 +01:00
parent 4e193db593
commit a30c57398b
4 changed files with 471 additions and 83 deletions

View file

@ -64,9 +64,27 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 582,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m environment at `~/2A/Graphe/Project.toml`\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `~/2A/Graphe/Project.toml`\n",
"\u001b[90m [no changes]\u001b[39m\n",
"\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `~/2A/Graphe/Manifest.toml`\n",
"\u001b[90m [no changes]\u001b[39m\n"
]
}
],
"source": [
"# TO RUN ONCE\n",
"using Pkg\n",
@ -76,11 +94,19 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 583,
"metadata": {
"scrolled": true
},
"outputs": [],
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m environment at `~/2A/Graphe/Project.toml`\n"
]
}
],
"source": [
"# Import packages\n",
"using Pkg\n",
@ -92,7 +118,8 @@
"using StatsBase\n",
"using Plots\n",
"using JLD2\n",
"using Compose"
"using Compose\n",
"using Random"
]
},
{
@ -145,7 +172,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 584,
"metadata": {},
"outputs": [],
"source": [
@ -160,7 +187,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 585,
"metadata": {},
"outputs": [],
"source": [
@ -176,7 +203,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 586,
"metadata": {},
"outputs": [],
"source": [
@ -217,29 +244,68 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 587,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bool[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0]\n"
]
}
],
"source": [
"# Infect Karat7"
"# Infect Karat7\n",
"karat7_n_infect = 5\n",
"karat7_n = length(vertices(karat7))\n",
"karat7_state = vcat(zeros(Bool, karat7_n - karat7_n_infect), ones(Bool, karat7_n_infect))\n",
"karat7_state = shuffle(karat7_state)\n",
"println(karat7_state)"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 588,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bool[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n"
]
}
],
"source": [
"# Infect N7_2A"
"# Infect N7_2A\n",
"n7_2A_n_infect = 5\n",
"n7_2A_n = length(vertices(n7_2A))\n",
"n7_2A_state = vcat(zeros(Bool, n7_2A_n - n7_2A_n_infect), ones(Bool, n7_2A_n_infect))\n",
"n7_2A_state = shuffle(n7_2A_state)\n",
"println(n7_2A_state)"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 589,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bool[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n"
]
}
],
"source": [
"# Infect Toulouse_neigh"
"# Infect Toulouse_neigh\n",
"toulouse_neigh_n_infect = 5\n",
"toulouse_neigh_n = length(vertices(toulouse_neigh))\n",
"toulouse_neigh_state = vcat(zeros(Bool, toulouse_neigh_n - toulouse_neigh_n_infect), ones(Bool, toulouse_neigh_n_infect))\n",
"toulouse_neigh_state = shuffle(toulouse_neigh_state)\n",
"println(toulouse_neigh_state)"
]
},
{
@ -248,11 +314,9 @@
"source": [
"<div style=\"width:75%;margin:0 auto;\">\n",
"\n",
"<strong style=\"color:cadetblue\">Question 2 (written):</strong> What do you think/predict about the influence of the initial number of infected people and their locations on the evolution of an SIS model epidemic ?\n",
"**<strong style=\"color:cadetblue\">Question 2 (written):</strong> What do you think/predict about the influence of the initial number of infected people and their locations on the evolution of an SIS model epidemic ?\n",
"\n",
"<br>\n",
" \n",
"<div style=\"background-color:#E7F1D1\"><strong>Answer:</strong></div>"
"Plus le nombre initial d'infectés sera élevé, et plus l'épidémie va se propager rapidement. De plus, plus la répartition initial des infectés dans la population est uniforme, plus la propagation de l'épidemie sera rapide."
]
},
{
@ -277,40 +341,93 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 590,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"SIS"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"function SIS(net,state,beta,alpha,t)\n",
" \"\"\"Take a contact network at a certain state and apply t time steps\n",
" of an SIS model.\n",
" \n",
" PARAMS\n",
" net (LightGraph): graph representing the contact network\n",
" state (Array{Int32,1}): disease status of each vertex\n",
" beta (Float64): infection rate\n",
" alpha (Float64): curing rate\n",
" t (Int32): number of time step\n",
" \n",
" RETURNS\n",
" (Array{Int32,1}): The new state of the contact network after t time steps.\n",
" \"\"\" \n",
" # TODO\n",
"\"\"\"Take a contact network at a certain state and apply t time steps\n",
"of an SIS model.\n",
"\n",
"PARAMS\n",
" net (LightGraph): graph representing the contact network\n",
" state (Array{Int32,1}): disease status of each vertex\n",
" beta (Float64): infection rate\n",
" alpha (Float64): curing rate\n",
" t (Int32): number of time step\n",
"\n",
"RETURNS\n",
" (Array{Int32,1}): The new state of the contact network after t time steps.\n",
"\"\"\" \n",
"function SIS(net, state, beta, alpha, time)\n",
" X = []\n",
" net_adjacency_matrix = adjacency_matrix(net)\n",
" net_n = length(vertices(net))\n",
" for t = 1:time\n",
" # println(\"------------------ \", t)\n",
" # println(state)\n",
" number_infected_adjacent = net_adjacency_matrix * state\n",
" # println(number_infected_adjacent)\n",
" proba_infection = 1 .- (((1 - beta) * ones(Bool, net_n)) .^ number_infected_adjacent)\n",
" # println(proba_infection)\n",
" state = state .| (rand(net_n) .<= proba_infection)\n",
" # println(state)\n",
" state = state .& (rand(net_n) .>= alpha)\n",
" # println(state)\n",
" nb_infecte = sum(state)\n",
" push!(X, nb_infecte)\n",
" end\n",
" return state, X\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 591,
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "UndefVarError",
"evalue": "UndefVarError: plot not defined",
"output_type": "error",
"traceback": [
"UndefVarError: plot not defined\n",
"\n",
"Stacktrace:\n",
" [1] top-level scope at /home/dguillot/2A/Graphe/graph21-22.ipynb:3\n",
" [2] include_string(::Module, ::String, ::String) at ./loading.jl:1080\n",
" [3] #invokelatest#1 at ./essentials.jl:712 [inlined]\n",
" [4] invokelatest at ./essentials.jl:711 [inlined]\n",
" [5] (::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String})() at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:18\n",
" [6] withpath(::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String}, ::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/repl.jl:185\n",
" [7] notebook_runcell_request(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.NotebookRunCellArguments) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:14\n",
" [8] dispatch_msg(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/JSONRPC/src/typed.jl:67\n",
" [9] serve_notebook(::String; crashreporting_pipename::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:94\n",
" [10] top-level scope at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/notebook/notebook.jl:12\n",
" [11] include(::Module, ::String) at ./Base.jl:377\n",
" [12] exec_options(::Base.JLOptions) at ./client.jl:288\n",
" [13] _start() at ./client.jl:484"
]
}
],
"source": [
"# Test on Karat7"
"# Test on karat7\n",
"state, X = SIS(karat7, karat7_state, 0.5, 0.1, 10)\n",
"plot(1:10, X)"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 592,
"metadata": {},
"outputs": [],
"source": [
@ -319,7 +436,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 593,
"metadata": {},
"outputs": [],
"source": [
@ -369,9 +486,19 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 594,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"Simulation_SIS (generic function with 1 method)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"function Simulation_SIS(net,nbinf,betas,alphas,t,nbsimu)\n",
" \"\"\"Take a contact network, different diseases (defined by \n",
@ -417,9 +544,38 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 595,
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "MethodError",
"evalue": "MethodError: no method matching adjoint(::Char)\nClosest candidates are:\n adjoint(!Matched::Missing) at missing.jl:100\n adjoint(!Matched::LightGraphs.DefaultDistance) at /home/dguillot/.julia/packages/LightGraphs/siFgP/src/distance.jl:22\n adjoint(!Matched::Number) at number.jl:169\n ...",
"output_type": "error",
"traceback": [
"MethodError: no method matching adjoint(::Char)\n",
"Closest candidates are:\n",
" adjoint(!Matched::Missing) at missing.jl:100\n",
" adjoint(!Matched::LightGraphs.DefaultDistance) at /home/dguillot/.julia/packages/LightGraphs/siFgP/src/distance.jl:22\n",
" adjoint(!Matched::Number) at number.jl:169\n",
" ...\n",
"\n",
"Stacktrace:\n",
" [1] top-level scope at /home/dguillot/2A/Graphe/graph21-22.ipynb:8\n",
" [2] include_string(::Module, ::String, ::String) at ./loading.jl:1080\n",
" [3] #invokelatest#1 at ./essentials.jl:712 [inlined]\n",
" [4] invokelatest at ./essentials.jl:711 [inlined]\n",
" [5] (::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String})() at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:18\n",
" [6] withpath(::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String}, ::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/repl.jl:185\n",
" [7] notebook_runcell_request(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.NotebookRunCellArguments) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:14\n",
" [8] dispatch_msg(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/JSONRPC/src/typed.jl:67\n",
" [9] serve_notebook(::String; crashreporting_pipename::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:94\n",
" [10] top-level scope at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/notebook/notebook.jl:12\n",
" [11] include(::Module, ::String) at ./Base.jl:377\n",
" [12] exec_options(::Base.JLOptions) at ./client.jl:288\n",
" [13] _start() at ./client.jl:484"
]
}
],
"source": [
"# Script launching predictions on different diseases on karat7 and printing \n",
"# the precentage of infected at each time step.\n",
@ -433,9 +589,38 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 596,
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "MethodError",
"evalue": "MethodError: no method matching adjoint(::Char)\nClosest candidates are:\n adjoint(!Matched::Missing) at missing.jl:100\n adjoint(!Matched::LightGraphs.DefaultDistance) at /home/dguillot/.julia/packages/LightGraphs/siFgP/src/distance.jl:22\n adjoint(!Matched::Number) at number.jl:169\n ...",
"output_type": "error",
"traceback": [
"MethodError: no method matching adjoint(::Char)\n",
"Closest candidates are:\n",
" adjoint(!Matched::Missing) at missing.jl:100\n",
" adjoint(!Matched::LightGraphs.DefaultDistance) at /home/dguillot/.julia/packages/LightGraphs/siFgP/src/distance.jl:22\n",
" adjoint(!Matched::Number) at number.jl:169\n",
" ...\n",
"\n",
"Stacktrace:\n",
" [1] top-level scope at /home/dguillot/2A/Graphe/graph21-22.ipynb:7\n",
" [2] include_string(::Module, ::String, ::String) at ./loading.jl:1080\n",
" [3] #invokelatest#1 at ./essentials.jl:712 [inlined]\n",
" [4] invokelatest at ./essentials.jl:711 [inlined]\n",
" [5] (::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String})() at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:18\n",
" [6] withpath(::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String}, ::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/repl.jl:185\n",
" [7] notebook_runcell_request(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.NotebookRunCellArguments) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:14\n",
" [8] dispatch_msg(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/JSONRPC/src/typed.jl:67\n",
" [9] serve_notebook(::String; crashreporting_pipename::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:94\n",
" [10] top-level scope at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/notebook/notebook.jl:12\n",
" [11] include(::Module, ::String) at ./Base.jl:377\n",
" [12] exec_options(::Base.JLOptions) at ./client.jl:288\n",
" [13] _start() at ./client.jl:484"
]
}
],
"source": [
"# Same as before but applied on toulouse_neigh. May be a bit long to run.\n",
"betas = [0.05,0.1,0.15,0.25,0.35,0.45,0.55,0.65,0.75,0.85,0.95]\n",
@ -461,7 +646,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 597,
"metadata": {
"scrolled": true
},
@ -489,7 +674,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 598,
"metadata": {},
"outputs": [],
"source": [
@ -558,9 +743,19 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 599,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"SIR (generic function with 1 method)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"function SIR(net,state,beta,alpha,t)\n",
" \"\"\"Take a contact network at a certain state and apply t time steps\n",
@ -582,7 +777,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 600,
"metadata": {},
"outputs": [],
"source": [
@ -591,7 +786,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 601,
"metadata": {},
"outputs": [],
"source": [
@ -600,7 +795,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 602,
"metadata": {},
"outputs": [],
"source": [
@ -620,9 +815,19 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 603,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"Simulation_SIR (generic function with 1 method)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"function Simulation_SIR(net,nbinf,betas,alphas,t,nbsimu)\n",
" \"\"\"Take a contact network, different diseases (defined by \n",
@ -670,9 +875,37 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 604,
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "MethodError",
"evalue": "MethodError: no method matching getindex(::Char, ::Colon, ::Colon, ::Int64)\nClosest candidates are:\n getindex(::AbstractChar, !Matched::Integer...) at char.jl:199\n getindex(::AbstractChar) at char.jl:197\n getindex(::AbstractChar, !Matched::Integer) at char.jl:198",
"output_type": "error",
"traceback": [
"MethodError: no method matching getindex(::Char, ::Colon, ::Colon, ::Int64)\n",
"Closest candidates are:\n",
" getindex(::AbstractChar, !Matched::Integer...) at char.jl:199\n",
" getindex(::AbstractChar) at char.jl:197\n",
" getindex(::AbstractChar, !Matched::Integer) at char.jl:198\n",
"\n",
"Stacktrace:\n",
" [1] top-level scope at /home/dguillot/2A/Graphe/graph21-22.ipynb:5\n",
" [2] include_string(::Module, ::String, ::String) at ./loading.jl:1080\n",
" [3] #invokelatest#1 at ./essentials.jl:712 [inlined]\n",
" [4] invokelatest at ./essentials.jl:711 [inlined]\n",
" [5] (::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String})() at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:18\n",
" [6] withpath(::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String}, ::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/repl.jl:185\n",
" [7] notebook_runcell_request(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.NotebookRunCellArguments) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:14\n",
" [8] dispatch_msg(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/JSONRPC/src/typed.jl:67\n",
" [9] serve_notebook(::String; crashreporting_pipename::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:94\n",
" [10] top-level scope at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/notebook/notebook.jl:12\n",
" [11] include(::Module, ::String) at ./Base.jl:377\n",
" [12] exec_options(::Base.JLOptions) at ./client.jl:288\n",
" [13] _start() at ./client.jl:484"
]
}
],
"source": [
"# Script launching prediction on one disease on n7_2A and plotting the percentage\n",
"# of infected, susceptible and recovered at each time step.\n",
@ -697,7 +930,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 605,
"metadata": {},
"outputs": [],
"source": [
@ -720,7 +953,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 606,
"metadata": {},
"outputs": [],
"source": [
@ -765,9 +998,19 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 607,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"SAIR (generic function with 1 method)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"function SAIR(net,state,beta0,beta1,alpha,kappa,t)\n",
" \"\"\"Take a contact network at a certain state and apply t time steps\n",
@ -791,7 +1034,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 608,
"metadata": {},
"outputs": [],
"source": [
@ -800,7 +1043,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 609,
"metadata": {},
"outputs": [],
"source": [
@ -809,7 +1052,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 610,
"metadata": {},
"outputs": [],
"source": [
@ -829,9 +1072,19 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 611,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"Simulation_SAIR (generic function with 1 method)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"function Simulation_SAIR(net,nbinf,betas0,betas1,alphas,kappas,t,nbsimu)\n",
" \"\"\"Take a contact network, different diseases (defined by \n",
@ -881,9 +1134,37 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 612,
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "MethodError",
"evalue": "MethodError: no method matching getindex(::Char, ::Colon, ::Colon, ::Int64)\nClosest candidates are:\n getindex(::AbstractChar, !Matched::Integer...) at char.jl:199\n getindex(::AbstractChar) at char.jl:197\n getindex(::AbstractChar, !Matched::Integer) at char.jl:198",
"output_type": "error",
"traceback": [
"MethodError: no method matching getindex(::Char, ::Colon, ::Colon, ::Int64)\n",
"Closest candidates are:\n",
" getindex(::AbstractChar, !Matched::Integer...) at char.jl:199\n",
" getindex(::AbstractChar) at char.jl:197\n",
" getindex(::AbstractChar, !Matched::Integer) at char.jl:198\n",
"\n",
"Stacktrace:\n",
" [1] top-level scope at /home/dguillot/2A/Graphe/graph21-22.ipynb:6\n",
" [2] include_string(::Module, ::String, ::String) at ./loading.jl:1080\n",
" [3] #invokelatest#1 at ./essentials.jl:712 [inlined]\n",
" [4] invokelatest at ./essentials.jl:711 [inlined]\n",
" [5] (::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String})() at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:18\n",
" [6] withpath(::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String}, ::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/repl.jl:185\n",
" [7] notebook_runcell_request(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.NotebookRunCellArguments) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:14\n",
" [8] dispatch_msg(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/JSONRPC/src/typed.jl:67\n",
" [9] serve_notebook(::String; crashreporting_pipename::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:94\n",
" [10] top-level scope at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/notebook/notebook.jl:12\n",
" [11] include(::Module, ::String) at ./Base.jl:377\n",
" [12] exec_options(::Base.JLOptions) at ./client.jl:288\n",
" [13] _start() at ./client.jl:484"
]
}
],
"source": [
"# Script launching prediction on one disease on toulouse_neigh and plotting the percentage\n",
"# of infected at each time step for SIR and SAIR.\n",
@ -945,9 +1226,19 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 613,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"jordan (generic function with 1 method)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"function jordan(g,state)\n",
" \"\"\"Find patient zero by mean of the jordan center method.\n",
@ -976,9 +1267,19 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 614,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"distance (generic function with 2 methods)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"function distance(g,state,alpha=1.)\n",
" \"\"\"Find patient zero by mean of the distance centrality method.\n",
@ -1012,9 +1313,38 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 615,
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "ArgumentError",
"evalue": "ArgumentError: invalid index: \"Find patient zero by mean of the distance centrality method.\\n\\nPARAMS\\n g (LightGraph): graph representing the contact network\\n state (Array{Int32,1}): disease status of each vertex\\n alpha (Float64): curing rate\\n\\nRETURNS\\n (Int32): the patient zero vertex number \\n\" of type String",
"output_type": "error",
"traceback": [
"ArgumentError: invalid index: \"Find patient zero by mean of the distance centrality method.\\n\\nPARAMS\\n g (LightGraph): graph representing the contact network\\n state (Array{Int32,1}): disease status of each vertex\\n alpha (Float64): curing rate\\n\\nRETURNS\\n (Int32): the patient zero vertex number \\n\" of type String\n",
"\n",
"Stacktrace:\n",
" [1] to_index(::String) at ./indices.jl:297\n",
" [2] to_index(::Array{String,1}, ::String) at ./indices.jl:274\n",
" [3] to_indices at ./indices.jl:325 [inlined]\n",
" [4] to_indices at ./indices.jl:322 [inlined]\n",
" [5] setindex!(::Array{String,1}, ::String, ::String) at ./abstractarray.jl:1073\n",
" [6] top-level scope at /home/dguillot/2A/Graphe/graph21-22.ipynb:32\n",
" [7] include_string(::Module, ::String, ::String) at ./loading.jl:1080\n",
" [8] #invokelatest#1 at ./essentials.jl:712 [inlined]\n",
" [9] invokelatest at ./essentials.jl:711 [inlined]\n",
" [10] (::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String})() at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:18\n",
" [11] withpath(::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String}, ::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/repl.jl:185\n",
" [12] notebook_runcell_request(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.NotebookRunCellArguments) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:14\n",
" [13] dispatch_msg(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/JSONRPC/src/typed.jl:67\n",
" [14] serve_notebook(::String; crashreporting_pipename::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:94\n",
" [15] top-level scope at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/notebook/notebook.jl:12\n",
" [16] include(::Module, ::String) at ./Base.jl:377\n",
" [17] exec_options(::Base.JLOptions) at ./client.jl:288\n",
" [18] _start() at ./client.jl:484"
]
}
],
"source": [
"# Loading a snapshot of karat7\n",
"@load \"karat7_Q22_1.jld2\" g state pat_zero alpha beta loc_x loc_y\n",
@ -1064,9 +1394,38 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 616,
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "ArgumentError",
"evalue": "ArgumentError: invalid index: \"Find patient zero by mean of the distance centrality method.\\n\\nPARAMS\\n g (LightGraph): graph representing the contact network\\n state (Array{Int32,1}): disease status of each vertex\\n alpha (Float64): curing rate\\n\\nRETURNS\\n (Int32): the patient zero vertex number \\n\" of type String",
"output_type": "error",
"traceback": [
"ArgumentError: invalid index: \"Find patient zero by mean of the distance centrality method.\\n\\nPARAMS\\n g (LightGraph): graph representing the contact network\\n state (Array{Int32,1}): disease status of each vertex\\n alpha (Float64): curing rate\\n\\nRETURNS\\n (Int32): the patient zero vertex number \\n\" of type String\n",
"\n",
"Stacktrace:\n",
" [1] to_index(::String) at ./indices.jl:297\n",
" [2] to_index(::Array{String,1}, ::String) at ./indices.jl:274\n",
" [3] to_indices at ./indices.jl:325 [inlined]\n",
" [4] to_indices at ./indices.jl:322 [inlined]\n",
" [5] setindex!(::Array{String,1}, ::String, ::String) at ./abstractarray.jl:1073\n",
" [6] top-level scope at /home/dguillot/2A/Graphe/graph21-22.ipynb:32\n",
" [7] include_string(::Module, ::String, ::String) at ./loading.jl:1080\n",
" [8] #invokelatest#1 at ./essentials.jl:712 [inlined]\n",
" [9] invokelatest at ./essentials.jl:711 [inlined]\n",
" [10] (::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String})() at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:18\n",
" [11] withpath(::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String}, ::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/repl.jl:185\n",
" [12] notebook_runcell_request(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.NotebookRunCellArguments) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:14\n",
" [13] dispatch_msg(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/JSONRPC/src/typed.jl:67\n",
" [14] serve_notebook(::String; crashreporting_pipename::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:94\n",
" [15] top-level scope at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/notebook/notebook.jl:12\n",
" [16] include(::Module, ::String) at ./Base.jl:377\n",
" [17] exec_options(::Base.JLOptions) at ./client.jl:288\n",
" [18] _start() at ./client.jl:484"
]
}
],
"source": [
"# Loading a snapshot of karat7\n",
"@load \"karat7_Q22_2.jld2\" g state pat_zero alpha beta loc_x loc_y\n",
@ -1116,9 +1475,38 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 617,
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "ArgumentError",
"evalue": "ArgumentError: invalid index: \"Find patient zero by mean of the distance centrality method.\\n\\nPARAMS\\n g (LightGraph): graph representing the contact network\\n state (Array{Int32,1}): disease status of each vertex\\n alpha (Float64): curing rate\\n\\nRETURNS\\n (Int32): the patient zero vertex number \\n\" of type String",
"output_type": "error",
"traceback": [
"ArgumentError: invalid index: \"Find patient zero by mean of the distance centrality method.\\n\\nPARAMS\\n g (LightGraph): graph representing the contact network\\n state (Array{Int32,1}): disease status of each vertex\\n alpha (Float64): curing rate\\n\\nRETURNS\\n (Int32): the patient zero vertex number \\n\" of type String\n",
"\n",
"Stacktrace:\n",
" [1] to_index(::String) at ./indices.jl:297\n",
" [2] to_index(::Array{String,1}, ::String) at ./indices.jl:274\n",
" [3] to_indices at ./indices.jl:325 [inlined]\n",
" [4] to_indices at ./indices.jl:322 [inlined]\n",
" [5] setindex!(::Array{String,1}, ::String, ::String) at ./abstractarray.jl:1073\n",
" [6] top-level scope at /home/dguillot/2A/Graphe/graph21-22.ipynb:32\n",
" [7] include_string(::Module, ::String, ::String) at ./loading.jl:1080\n",
" [8] #invokelatest#1 at ./essentials.jl:712 [inlined]\n",
" [9] invokelatest at ./essentials.jl:711 [inlined]\n",
" [10] (::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String})() at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:18\n",
" [11] withpath(::VSCodeServer.var\"#146#147\"{VSCodeServer.NotebookRunCellArguments,String}, ::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/repl.jl:185\n",
" [12] notebook_runcell_request(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.NotebookRunCellArguments) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:14\n",
" [13] dispatch_msg(::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::VSCodeServer.JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/JSONRPC/src/typed.jl:67\n",
" [14] serve_notebook(::String; crashreporting_pipename::String) at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/packages/VSCodeServer/src/serve_notebook.jl:94\n",
" [15] top-level scope at /home/dguillot/.vscode-server/extensions/julialang.language-julia-1.5.6/scripts/notebook/notebook.jl:12\n",
" [16] include(::Module, ::String) at ./Base.jl:377\n",
" [17] exec_options(::Base.JLOptions) at ./client.jl:288\n",
" [18] _start() at ./client.jl:484"
]
}
],
"source": [
"# Loading a snapshot of grid50\n",
"@load \"grid50_Q22.jld2\" g state pat_zero alpha beta loc_x loc_y\n",
@ -1169,7 +1557,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.4.2",
"display_name": "Julia 1.4.1",
"language": "julia",
"name": "julia-1.4"
},
@ -1177,7 +1565,7 @@
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.4.2"
"version": "1.4.1"
}
},
"nbformat": 4,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 576 KiB

After

Width:  |  Height:  |  Size: 653 KiB

BIN
n7_2A.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB