Notation L
# Notation L

La notation L est un analogue aux notations de Landau en notation asymptotique. Cette notation a été introduite par Carl Pomerance en 1982 pour comparer différents algorithmes de factorisation et a été généralisée à deux paramètres par Arjen Lenstra et Hendrik Lenstra. Elle est principalement utilisée en théorie algorithmique des nombres, où elle permet de donner une échelle entre les différents algorithmes exponentiels. En effet $L_{n}[0,c]=\ln(n)^{c+o(1)}$ représente les fonctions polynomiales de ln (n) de degré c, et $L_{n}[1,c]=n^{c+o(1)}$ les fonctions exponentielles en la taille de l’entrée (ici, la taille est prise comme étant $\log n$, ce qui est le cas pour la représentation binaire des nombres), donc $L_{n}[1,c]$ représente les fonctions polynomiales de n de degré c.

## Définition

La notation L est définie comme suit pour $\alpha \in [0,1],c\in \mathbb {R} _{+}$: $L_{n}[\alpha ,c]=\exp \left((c+o(1))\ln(n)^{\alpha }(\ln \ln(n))^{1-\alpha }\right).$

On peut remarquer que contrairement à la notation grand-O, la constante est ici importante puisqu’elle se retrouve dans l’exponentielle. Ce qui fait qu’un gain sur la constante peut réduire considérablement les temps de calcul.

Par exemple :

* $L_{n}\left[0,c\right]=e^{(c+o(1))\ln \ln n}=(\ln n)^{c+o(1)}$.
* $L_{n}\left[1,{\tfrac {1}{2}}\right]=e^{({\tfrac {1}{2}}+o(1))\ln n}=n^{1/2+o(1)}$.
* $L_{n}\left[{\tfrac {1}{2}},c\right]=e^{(c+o(1)){\sqrt {\ln(n)\ln(\ln(n))}}}$.

## Exemples

La complexité du crible algébrique pour la résolution de la factorisation est en notation L : $L_{n}\left[{\tfrac {1}{3}},{\sqrt[{3}]{\tfrac {64}{9}}}\right]$.

En comparaison, le précédent meilleur algorithme pour la factorisation, le crible quadratique fonctionnait en temps $L_{n}\left[{\tfrac {1}{2}},1\right]$.

De manière similaire, pour le problème du logarithme discret dans les sous-groupes d'ordre n d'une courbe elliptique sur un corps fini, les meilleurs algorithmes ne peuvent fonctionner en moins de $L_{n}\left[1,{\tfrac {1}{2}}\right]$, il s’agit d'algorithmes exponentiels comme l'algorithme baby-step giant-step.

