diff --git a/Trajectories/Documentation_texfol/documentation.tex b/Trajectories/Documentation_texfol/documentation.tex index 855c437ca297e938f78f17482a49ca4912e39ca2..875376539b2b53a7f6c4867d7482b463e9cf1134 100644 --- a/Trajectories/Documentation_texfol/documentation.tex +++ b/Trajectories/Documentation_texfol/documentation.tex @@ -7,6 +7,7 @@ \usepackage[T1]{fontenc} \usepackage{lmodern} +\usepackage{algorithmic} \usepackage{babel} \usepackage{graphicx} @@ -29,6 +30,9 @@ \begin{document} \maketitle +\tableofcontents + +\section{Divers} Lorsque plusieurs tourbillons fusionnent ou lorsqu'un tourbillon se divise, il peut être utile de suivre dans le futur un des tourbillons @@ -77,8 +81,6 @@ k0998, équation (1)) qui permet de faire un choix à travers la jonction. Ou bien utilisation de la fonction de coût de Le Vu (2018 k1000). -Les trajectoires forment une partition du graphe en géodésiques. - \verb+cost_function.py+. En extrayant les $10^6$ premières arêtes dans le graphe des tourbillons instantanés, les tourbillons sont étalés sur un an environ. Le graphe des segments contient environ \np{8e4} @@ -121,22 +123,6 @@ Mémoire vive nécessaire pour charger le graphe global sur 28 ans, sans attributs, avec Graph-tool : environ \np{6.1} GiB. Il faut au moins 11 GiB avec Networkx. -Script \verb+trajectory.py+. Cf. tableau \ref{tab:trajectory}. -\begin{table}[htbp] - \centering - \begin{tabular}{llll} - Cas & v0.28 & v0.29 & v0.30 \\ - \hline - Greece\_trajectories & OK & KO & OK \\ - Division\_fusion & KO & OK & OK \\ - Test\_order\_edges & OK & KO & OK \\ - Traj\_component & KO & KO & OK \\ - \end{tabular} - \caption{Tests du script \texttt{trajectory.py}. KO signifie que les - trajectoires obtenues par le script ne sont pas satisfaisantes.} - \label{tab:trajectory} -\end{table} - \section{\texttt{segments.py}} Définition d'un segment : si un tourbillon se divise, c'est-à -dire si @@ -185,4 +171,43 @@ segment isolé. La révision 6f5bb0c1 donne exactement le même résultat que la 787726e0 sur le graphe global 1993-2020. +\section{Script \texttt{trajectory.py}} + +Les trajectoires forment une partition du graphe en géodésiques. + +Cf. tableau \ref{tab:trajectory}. +\begin{table}[htbp] + \centering + \begin{tabular}{llll} + Cas & v0.28 & v0.29 & v0.30 \\ + \hline + Greece\_trajectories & OK & KO & OK \\ + Division\_fusion & KO & OK & OK \\ + Test\_order\_edges & OK & KO & OK \\ + Traj\_component & KO & KO & OK \\ + \end{tabular} + \caption{Tests du script \texttt{trajectory.py}. KO signifie que les + trajectoires obtenues par le script ne sont pas satisfaisantes.} + \label{tab:trajectory} +\end{table} + +On peut en principe construire \verb+traj_vert_ind+ à partir de +\verb+traj_prop+ après la boucle sur les noeuds du graphe : +\begin{algorithmic} + \STATE traj\_vert\_ind = \{\} + \FOR{n in topology.topological\_sort(g)} + \IF{traj\_prop[n] in traj\_vert\_ind} + \STATE traj\_vert\_ind[traj\_prop[n]].append(n) + \ELSE + \STATE traj\_vert\_ind[traj\_prop[n]] = [n] + \ENDIF + \ENDFOR + + \STATE traj\_vert\_ind = [traj\_vert\_ind(t) for t in + range(len(traj\_vert\_ind))] +\end{algorithmic} +L'avantage serait de clarifier la première boucle sur les noeuds du +graphe, qui aurait pour seule mission de définir +\verb+traj_prop+. Mais ce serait probablement plus long. + \end{document} diff --git a/Trajectories/Tests/tests.json b/Trajectories/Tests/tests.json index 0a347b940dc71356dcf074526018e3386efbda14..f67c1ad17f387e1614c64e5a25840c658dd659cf 100644 --- a/Trajectories/Tests/tests.json +++ b/Trajectories/Tests/tests.json @@ -137,7 +137,7 @@ "$src_dir/Trajectories/trajectories.py", "$src_dir/Trajectories/Tests/segments_cost.graphml" ], - "description": "A toy case of division followed by fusion." + "description": "A toy case of division followed by fusion. Note this is a phantom pattern." }, "Test_order_edges": {