Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

L-notation

From Wikipedia, the free encyclopedia
Notation describing limiting behavior in computational number theory

L-notation is anasymptotic notation analogous tobig-O notation, denoted asLn[α,c]{\displaystyle L_{n}[\alpha ,c]} for abound variablen{\displaystyle n}tending to infinity. Like big-O notation, it is usually used to roughly convey the rate of growth of afunction, such as thecomputational complexity of a particularalgorithm.

Definition

[edit]

It is defined as

Ln[α,c]=e(c+o(1))(lnn)α(lnlnn)1α{\displaystyle L_{n}[\alpha ,c]=e^{(c+o(1))(\ln n)^{\alpha }(\ln \ln n)^{1-\alpha }}}

wherec is a positive constant, andα{\displaystyle \alpha } is a constant0α1{\displaystyle 0\leq \alpha \leq 1}.

L-notation is used mostly incomputational number theory, to express the complexity of algorithms for difficultnumber theory problems, e.g.sieves forinteger factorization and methods for solvingdiscrete logarithms. The benefit of this notation is that it simplifies the analysis of these algorithms. Theec(lnn)α(lnlnn)1α{\displaystyle e^{c(\ln n)^{\alpha }(\ln \ln n)^{1-\alpha }}} expresses the dominant term, and theeo(1)(lnn)α(lnlnn)1α{\displaystyle e^{o(1)(\ln n)^{\alpha }(\ln \ln n)^{1-\alpha }}} takes care of everything smaller.

Whenα{\displaystyle \alpha } is 0, then

Ln[α,c]=Ln[0,c]=e(c+o(1))lnlnn=(lnn)c+o(1){\displaystyle L_{n}[\alpha ,c]=L_{n}[0,c]=e^{(c+o(1))\ln \ln n}=(\ln n)^{c+o(1)}\,}

is apolylogarithmic function (apolynomial function of ln n);

Whenα{\displaystyle \alpha } is 1 then

Ln[α,c]=Ln[1,c]=e(c+o(1))lnn=nc+o(1){\displaystyle L_{n}[\alpha ,c]=L_{n}[1,c]=e^{(c+o(1))\ln n}=n^{c+o(1)}\,}

is a fullyexponential function of ln n (and thereby polynomial inn).

Ifα{\displaystyle \alpha } is between 0 and 1, the function issubexponential of ln n (andsuperpolynomial).

Examples

[edit]

Many general-purposeinteger factorization algorithms havesubexponential time complexities. The best is thegeneral number field sieve, which has an expected running time of

Ln[1/3,c]=e(c+o(1))(lnn)1/3(lnlnn)2/3{\displaystyle L_{n}[1/3,c]=e^{(c+o(1))(\ln n)^{1/3}(\ln \ln n)^{2/3}}}

forc=(64/9)1/31.923{\displaystyle c=(64/9)^{1/3}\approx 1.923}. The best such algorithm prior to the number field sieve was thequadratic sieve which has running time

Ln[1/2,1]=e(1+o(1))(lnn)1/2(lnlnn)1/2.{\displaystyle L_{n}[1/2,1]=e^{(1+o(1))(\ln n)^{1/2}(\ln \ln n)^{1/2}}.\,}

For theelliptic curvediscrete logarithm problem, the fastest general purpose algorithm is thebaby-step giant-step algorithm, which has a running time on the order of the square-root of the group ordern. InL-notation this would be

Ln[1,1/2]=n1/2+o(1).{\displaystyle L_{n}[1,1/2]=n^{1/2+o(1)}.\,}

The existence of theAKS primality test, which runs inpolynomial time, means that the time complexity forprimality testing is known to be at most

Ln[0,c]=(lnn)c+o(1){\displaystyle L_{n}[0,c]=(\ln n)^{c+o(1)}\,}

wherec has been proven to be at most 6.[1]

History

[edit]

L-notation has been defined in various forms throughout the literature. The first use of it came fromCarl Pomerance in his paper "Analysis and comparison of some integer factoring algorithms".[2] This form had only thec{\displaystyle c} parameter: theα{\displaystyle \alpha } in the formula was1/2{\displaystyle 1/2} for the algorithms he was analyzing. Pomerance had been using the letterL{\displaystyle L} (or lower casel{\displaystyle l}) in this and previous papers for formulae that involved many logarithms.

The formula above involving two parameters was introduced byArjen Lenstra andHendrik Lenstra in their article on "Algorithms in Number Theory".[3] It was introduced in their analysis of adiscrete logarithm algorithm ofCoppersmith. This is the most commonly used form in the literature today.

The Handbook of Applied Cryptography defines the L-notation with a bigO{\displaystyle O} around the formula presented in this article.[4] This is not the standard definition. The bigO{\displaystyle O} would suggest that the running time is an upper bound. However, for the integer factoring and discrete logarithm algorithms that L-notation is commonly used for, the running time is not an upper bound, so this definition is not preferred.

References

[edit]
  1. ^Hendrik W. Lenstra Jr. and Carl Pomerance, "Primality testing with Gaussian periods", preprint, 2011,http://www.math.dartmouth.edu/~carlp/aks041411.pdf.
  2. ^Carl Pomerance, "Analysis and comparison of some integer factoring algorithms", In Mathematisch Centrum Computational Methods in Number Theory, Part 1, pp. 89-139, 1982,http://www.math.dartmouth.edu/~carlp/PDF/analysiscomparison.pdf
  3. ^Arjen K. Lenstra and Hendrik W. Lenstra, Jr, "Algorithms in Number Theory", in Handbook of Theoretical Computer Science (vol. A): Algorithms and Complexity, 1991.
  4. ^Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone. Handbook of Applied Cryptography. CRC Press, 1996.ISBN 0-8493-8523-7.http://www.cacr.math.uwaterloo.ca/hac/.
Retrieved from "https://en.wikipedia.org/w/index.php?title=L-notation&oldid=1263235679"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp