Algorithmic mathematics
This book is the textbook that accompanies the homonymous module at the University of Bonn, Germany, which, alongside modules on analysis and linear algebra, forms the basis of the first semester. Its highlight is the overview of algorithms with an emphasis on their mathematical component, but not neglecting the implementation aspect (numerous examples of implementations in C++ are included, accompanied by comments on their respective complexities; the examples can be further studied on the webpages of the authors). \newline The book is structured in eleven chapters; it commences with a general overview of algorithms and an example on prime numbers. The second chapter is focused on the b-adic representation of integers, on b-complements and on handling large integers (not representable using the standard Integer data type). The third chapter follows on counting operations with integers and includes a discussion on Euclid's algorithm and Fibonacci numbers. The fourth and fifth chapters present operations on real numbers and analyse the rounding errors, machine precision and the effect of error propagation. The three other topics discussed are elements of graph theory, sorting algorithms and operations on matrices. The sorting algorithms are presented in Chapter 8 and include key-sorting, merge sort, quicksort, binary heaps and heapsort. The chapters on graph theory overview introductory notions (Chapter 6, e.g., graph, tree definitions, paths and cycles, graph representations) and algorithms (Chapter 7, e.g., breadth-first search, approaches on acyclic digraphs). In the ninth chapter methods on the identification of optimal trees and paths are presented, including the Prim and the Dijkstra algorithms. In the tenth chapter the authors focus on networks and flows and describe the matching problem, the max-flow-min-cut theorem and algorithms for finding the maximal flow. The eleventh chapter presents algorithms on matrices such as the Gauss elimination, the LU factorization and norms on matrices. \newline The book provides a thorough overview of fundamental algorithms and seamlessly links the mathematical descriptions of concepts with the both restrictive and sometimes flexible terms and conditions of the computational implementation. Thanks to its interdisciplinary form, structure and level of details, it presents itself as a must-read for both junior computer-scientists and mathematicians with an interest in computational approaches. The book is written in German. For a review of the English translation see [Zbl 1357.68002].
scientific article; zbMATH DE number 6479526