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