Matters Computational Ideas, Algorithms, Source Code - Arndt, Jörg. (Berlin Heidelberg Springer, 2011)
This book provides algorithms and ideas for computationalists. Subjects treated include low-level algorithms, bit wizardry, combinatorial generation, fast transforms like the Fourier transform, and fast arithmetic for both real numbers and finite fields. Various optimization techniques are described and the actual performance of many given implementations is examined. The focus is on material that does not usually appear in textbooks on algorithms. The implementations are done in C++ and the GP language, written for POSIX-compliant platforms such as the Linux and BSD operating systems.
Low level algorithms -- Bit wizardry -- Permutations and their operations -- Sorting and searching -- Data structures -- Combinatorial generation -- Conventions and considerations -- Combinations -- Compositions -- Subsets -- Mixed radix numbers -- Permutations -- Multisets -- Gray codes for string with restrictions -- Parenthesis strings -- Integer partitions -- Set partitions -- Necklaces and Lyndon words -- Hadamard and conference matrices -- Searching paths in directed graphs -- Fast transforms -- The Fourier transform -- Convolution, correlation, and more FFT algorithms -- The Walsh transform and its relatives -- The Haar transform -- The Hartley transform -- Number theoretic transforms (NTTs) -- Fast wavelet transforms -- Fast arithmetic -- Fast multiplication and exponentiation -- Root extraction -- Iterations for the inversion of a function -- The AGM, elliptic integrals, and algorithms for computing -- Logarithm and exponential function -- Computing the elementary functions with limited resources -- Numerical evaluation of power series -- Cyclotomic polynomials, product forms, and continued fractions -- Synthetic Iterations.-. Algorithms for finite fields -- Modular arithmetic and some number theory -- Binary polynomials -- Shift registers -- Binary finite fields -- The electronic version of the book -- Machine used for benchmarking -- The GP language -- Bibliography -- Index.
Electronic reproduction.
Keywords: Algorithms; Computer programming