Fast algorithms
It is proposed that this article be deleted because of the following concern:
If you can address this concern by improving, copyediting, sourcing, renaming, or merging the page, please edit this page and do so. You may remove this message if you improve the article or otherwise object to deletion for any reason. Although not required, you are encouraged to explain why you object to the deletion, either in your edit summary or on the talk page. If this template is removed, do not replace it. This message has remained in place for seven days, so the article may be deleted without further notice. Find sources: "Fast algorithms" – news · newspapers · books · scholar · JSTOR Nominator: Please consider notifying the author/project: {{subst:proposed deletion notify|Fast algorithms|concern=No reference for "fast algorithms" being a field. (Isn't it the same as algorithm design? Why would someone not want to design a faster algorithm if possible?) Article contains material already present in [[algorithm]], [[analysis of algorithms]] and [[computational complexity theory]].}} ~~~~ Timestamp: 20090820180923 18:09, 20 August 2009 (UTC) Administrators: delete |
Fast algorithms is the field of computational mathematics that studies algorithms of evaluation of a given function with a given accuracy, using as few bit operations as possible.
Bit operation
We assume that numbers are written in the binary form, the signs of which 0 and 1 are called bits.
Def.1. Writing down of one of the symbols , putting together, subtraction and multiplication of two bits is called an elementary operation or a bit operation.
Complexity of computation (bit)
To estimate the quality of a fast method or algorithm is used the function of complexity of computation (bit) which is denoted by
The function of complexity of multiplication has the special notation .
The best known (at present) upper bound for is
Fast algorithm of computation of a function
An algorithm of computation of a function is said to be fast if, assuming the best bound for , for this algorithm
where is a constant.
History of the problem
The field fast algorithms was born in 1960 [1], when the first fast method --- the Karatsuba multiplication --- was found. Later the Karatsuba method was called “Divide and Conquer” (sometimes any method of computation with subdivisions is called with the same name), other names which people use for the method invented by Karatsuba are “Binary Splitting”,"Dichotomy Principle" etc. After the Karatsuba method, many other fast methods were constructed[2], including the Strassen fast matrix multiplication method[3] (the generalization of the Karatsuba idea for matrices), the Schönhage-Strassen multiplication method[4][5], the FEE method [6][7] for evaluation elementary and higher transcendental functions etc . Some old methods become fast computational methods with use of one of the fast multiplication algorithms, such as the Newton method for calculation of elementary algebraic functions and the AGM method of Gauss for evaluation of elementary transcendental functions.
References
- ^ A.A. Karatsuba, The Complexity of Computations. Proceedings of the Steklov Institute of Mathematics, Vol.211 (1995)
- ^ D.E. Knuth, The art of computer programming. Vol.2 Addison-Wesley Publ.Co., Reading (1969).
- ^ V. Strassen, Gaussian elimination is not optimal. J. Numer. Math., N 13 (1969)
- ^ A. Schönhage und V. Strassen, Schnelle Multiplikation grosser Zahlen. Computing, Vol.7 (1971)
- ^ A. Schönhage, A.F.W. Grotefeld and E. Vetter, Fast Algorithms. BI-Wiss.-Verl., Zürich (1994).
- ^ E.A. Karatsuba,Fast evaluations of transcendental functions. Probl. Peredachi Informat., Vol. 27, N 4 (1991).
- ^ D.W. Lozier and F.W.J. Olver, Numerical Evaluation of Special Functions. Mathematics of Computation 1943-1993: A Half -Century of Computational Mathematics, W.Gautschi,eds., Proc. Sympos. Applied Mathematics, AMS, Vol.48 (1994).
See also
- Complexity of computation (bit)
- Computational complexity theory
- The AGM method of Gauss
- The FEE method
- The Karatsuba multiplication