From 1c027cb973aacb9e654f67e617002c7bce3fa779 Mon Sep 17 00:00:00 2001 From: Lionel GUEZ <guez@lmd.ens.fr> Date: Wed, 17 May 2023 14:57:18 +0200 Subject: [PATCH] Polish --- .../Graphiques/.gitignore | 1 + .../Graphiques/GNUmakefile | 2 +- .../Graphiques/descending.odg | Bin 0 -> 12327 bytes .../Documentation_texfol/documentation.tex | 194 ++++++++++++++++++ Inst_eddies/get_1_outerm.f90 | 4 +- 5 files changed, 199 insertions(+), 2 deletions(-) create mode 100644 Inst_eddies/Documentation_texfol/Graphiques/descending.odg diff --git a/Inst_eddies/Documentation_texfol/Graphiques/.gitignore b/Inst_eddies/Documentation_texfol/Graphiques/.gitignore index f81ca1b4..eafb36ae 100644 --- a/Inst_eddies/Documentation_texfol/Graphiques/.gitignore +++ b/Inst_eddies/Documentation_texfol/Graphiques/.gitignore @@ -12,3 +12,4 @@ user_proc.pdf user_sys.pdf slice.pdf nearby_extr.pdf +descending.pdf diff --git a/Inst_eddies/Documentation_texfol/Graphiques/GNUmakefile b/Inst_eddies/Documentation_texfol/Graphiques/GNUmakefile index 0ff27522..ec27166b 100644 --- a/Inst_eddies/Documentation_texfol/Graphiques/GNUmakefile +++ b/Inst_eddies/Documentation_texfol/Graphiques/GNUmakefile @@ -1,5 +1,5 @@ objects = degeneracy.pdf periodicity.pdf copy.pdf set_all_outerm.pdf \ -SHPC.pdf plot_test_output.pdf slice.pdf nearby_extr +SHPC.pdf plot_test_output.pdf slice.pdf nearby_extr.pdf descending.pdf %.pdf: %.odg unoconv --doctype=graphics $< diff --git a/Inst_eddies/Documentation_texfol/Graphiques/descending.odg b/Inst_eddies/Documentation_texfol/Graphiques/descending.odg new file mode 100644 index 0000000000000000000000000000000000000000..85cee50fb487ef2dbb05e916ee23ab94f343d645 GIT binary patch literal 12327 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 literal 0 HcmV?d00001 diff --git a/Inst_eddies/Documentation_texfol/documentation.tex b/Inst_eddies/Documentation_texfol/documentation.tex index 51fe0c11..55d89fad 100644 --- a/Inst_eddies/Documentation_texfol/documentation.tex +++ b/Inst_eddies/Documentation_texfol/documentation.tex @@ -965,6 +965,200 @@ des contours au cours de la boucle. En effet, les bons contours trouvés sont de plus en plus grands, et on cherche toujours un contour plus grand. +\subsubsection{Décroissance des intervalles de SSH} + +Montrons que, à la sortie de \verb+get_1_outerm+, le tableau : +\begin{verbatim} +abs(ediff1d(cont_list(:n_cont)%ssh)) +\end{verbatim} +est nécessairement décroissant. C'est trivial si \verb+n_cont+ à la +sortie $\le 2$. Montrons-le si \verb+n_cont+ à la sortie $\ge 3$. On +suppose donc qu'on est passé dans la boucle sur \verb+level_good+, +\verb+level_bad+ et \verb+level_try+. Pour cette démonstration, notons +: +\begin{itemize} +\item $j \in \{1, \dots, j_\mathrm{max}\}$ l'indice de l'itération + dans la boucle (pas de variable correspondante dans le programme) ; +\item $g_j$ la valeur de \verb+level_good+ à l'entrée de l'itération + $j$ ; +\item $b_j$ la valeur de \verb+level_bad+ à l'entrée de l'itération + $j$ ; +\item $t_j$ la valeur de \verb+level_try+ à la fin de l'itération $j$ ; +\item $s_k$ une valeur de \verb+cont_list(:n_cont)%ssh+ ; +\item $n$ pour \verb+n_cont+. +\end{itemize} +Noter que $j$ est a priori différent de $n$. + +Mathématiquement, le problème se pose de la façon +suivante. + +On se donne deux suites de réels $(g_j)$ et $(b_j)$ pour +$1 \le j \le j_\mathrm{max}$ et on définit une troisième suite de +réels $(t_j)$ pour $1 \le j \le j_\mathrm{max}$ par : +\begin{equation*} + t_j := \frac{g_j + b_j}{2} +\end{equation*} +Nous supposons que : +\begin{equation} + \label{eq:t_j} + \forall j \in \{1, \dots, j_\mathrm{max} - 1\}, + (g_{j + 1} = t_j \land b_{j + 1} = b_j) + \lor (g_{j + 1} = g_j \land b_{j + 1} = t_j) +\end{equation} +Alors : +\begin{equation*} + \forall j \in \{1, \dots, j_\mathrm{max} - 1\}, + g_{j + 1} - b_{j + 1} = \frac{g_j - b_j}{2} +\end{equation*} +Supposons dans la suite qu'on a un cyclone, c'est-à -dire que +\begin{equation} + \label{eq:cyclone} + g_1 < b_1 +\end{equation} +On pourrait faire une démonstration analogue dans le cas +d'un anticyclone. \`A partir de l'hypothèse \ref{eq:cyclone}, on +montre facilement par récurrence : +\begin{equation*} + \forall j, g_j < t_j < b_j +\end{equation*} +et la suite $(g_j)$ est croissante, la suite $(b_j)$ est +décroissante. D'où aussi : +\begin{equation*} + \max g_j = g_{j_\mathrm{max}} < b_{j_\mathrm{max}} = \min b_j +\end{equation*} + +Remarquons que : +\begin{equation*} + \left(t_{j + 1} = \frac{t_j + b_j}{2} > t_j \right) + \lor \left(t_{j + 1} = \frac{g_j + t_j}{2} < t_j \right) +\end{equation*} +donc la suite $(t_j)$ n'est a priori pas monotone. + +Soit $j \in \{1, \dots, j_\mathrm{max} - 1\}$. + +Si $g_{j + 1} = t_j$ alors : +\begin{equation*} + \forall l \ge 1, t_{j + l} > g_{j + l} \ge g_{j + 1} = t_j +\end{equation*} +On peut aussi noter en passant la propriété qui nous sera utile : +\begin{equation} + \label{eq:tjl} + \forall l \ge 1, t_{j + l} < b_{j + l} \le b_{j + 1} = b_j +\end{equation} + +Si au contraire $b_{j + 1} = t_j$ alors : +\begin{equation*} + \forall l \ge 1, t_{j + l} < b_{j + l} \le b_{j + 1} = t_j +\end{equation*} +Donc, dans les deux cas : +\begin{equation*} + \forall j \in \{1, \dots, j_\mathrm{max} - 1\}, \forall l \ge 1, + t_{j + l} \ne t_j +\end{equation*} +Ou encore : +\begin{equation} + \label{eq:injection} + \forall (j, j') \in \{1, \dots, j_\mathrm{max}\}^2, + j \ne j' \Rightarrow t_j \ne t_{j'} +\end{equation} + +On se donne une quatrième suite de réels $(s_k)_{2 \le k \le n}$. On +suppose : +\begin{equation*} + \forall k, \exists j \in \{1, \dots, j_\mathrm{max} - 1\}, + s_k = t_j = g_{j + 1} +\end{equation*} +(On ne peut pas supposer plus puisque dans l'algorithme, on +n'enregistre pas forcément une nouvelle valeur de SSH à chaque fois qu'on +trouve une valeur différente de \verb+level_good+.) D'après la +propriété \ref{eq:injection}, $j$ est unique : +\begin{equation*} + \forall k, \exists ! j \in \{1, \dots, j_\mathrm{max} - 1\}, + s_k = t_j = g_{j + 1} +\end{equation*} +Notons-le $J(k)$. +\begin{equation*} + \forall k, s_k = t_{J(k)} = g_{J(k) + 1} +\end{equation*} +Hypothèse : $J(k)$ est strictement croissant. (Les valeurs de SSH sont +enregistrées dans l'ordre des itérations, au plus une valeur de SSH +par itération.) Donc, avec la croissance de $(g_j)$, la suite $(s_k)$ +est croissante. + +Montrons que $(s_k)$ est même strictement croissante. +\begin{equation*} + s_{k + 1} = t_{J(k + 1)} = g_{J(k + 1) + 1} +\end{equation*} +Donc (hypothèse \ref{eq:t_j}) : +\begin{equation*} + g_{J(k + 1) + 1} > g_{J(k + 1)} +\end{equation*} +Donc : +\begin{equation*} + \forall j \le J(k + 1), g_{J(k + 1) + 1} > g_{j} +\end{equation*} +Or : +\begin{align} + & J(k) < J(k + 1) + \notag \\ + \Rightarrow & J(k) + 1 \le J(k + 1) + \label{eq:J_k1} +\end{align} +D'où : +\begin{equation*} + g_{J(k + 1) + 1} > g_{J(k) + 1} +\end{equation*} +C'est-à -dire : +\begin{equation*} + s_{k + 1} > s_k +\end{equation*} +$\Box$ + +Montrons enfin la décroissance de la suite $(s_{k + 1} - +s_k)$. Cf. figure \ref{fig:descending}. +\begin{figure}[htbp] + \centering + \includegraphics{descending} + \caption{get\_1\_outerm. Décroissance de la suite + $(s_{k + 1} - s_k)$.} + \label{fig:descending} +\end{figure} +Avec l'inégalité \ref{eq:J_k1} : +\begin{equation*} + g_{J(k + 1)} \ge g_{J(k) + 1} = s_k +\end{equation*} +Avec la propriété \ref{eq:tjl} : +\begin{equation*} + \forall j > J(k + 1), t_j < b_{J(k + 1)} +\end{equation*} +D'où, pour tout $j > J(k + 1)$ : +\begin{equation*} + t_j - t_{J(k + 1)} < b_{J(k + 1)} - t_{J(k + 1)} + = t_{J(k + 1)} - g_{J(k + 1)} +\end{equation*} +et : +\begin{equation*} + t_{J(k + 1)} - g_{J(k + 1)} \le t_{J(k + 1)} - s_k + = s_{k + 1} - s_k +\end{equation*} +Ainsi : +\begin{equation*} + \forall j > J(k + 1), t_j - s_{k + 1} < s_{k + 1} - s_k +\end{equation*} +Or : +\begin{equation*} + s_{k + 2} = t_{J(k + 2)} +\end{equation*} +et : +\begin{equation*} + J(k + 2) > J(k + 1) +\end{equation*} +donc : +\begin{equation*} + s_{k + 2} - s_{k + 1} < s_{k + 1} - s_k +\end{equation*} +$\Box$ + \subsection{good\_contour} Trouve, si elle existe, une ligne de niveau à un niveau donné, diff --git a/Inst_eddies/get_1_outerm.f90 b/Inst_eddies/get_1_outerm.f90 index b353610a..597d08cc 100644 --- a/Inst_eddies/get_1_outerm.f90 +++ b/Inst_eddies/get_1_outerm.f90 @@ -24,7 +24,9 @@ contains ! including the outermost contour, are in monotonic order of ssh: ! ascending if the extremum is a minimum, descending if the ! extremum is a maximum. The area is only computed for the - ! outermost contour. + ! outermost contour. On return, the array + ! abs(ediff1d(cont_list(:n_cont)%ssh)) is in descending + ! order. (See notes for a proof.) ! Method: dichotomy on level of ssh. -- GitLab