Computing Reviews

Analysis for computer scientists :foundations, methods, and algorithms (2nd ed.)
Oberguggenberger M., Ostermann A., Springer International Publishing,New York, NY,2018. 392 pp.Type:Book
Date Reviewed: 10/14/19

In the title, “analysis” means “mathematical analysis” in the sense of Cauchy and Weierstrass, for example, ε-δ analysis. Chapters 1 through 4 are basically calculus (including trigonometry and complex numbers) and would probably be better as a refresher than an introduction. But as such, and for establishing consistent notation, they are probably better than the usual “we assume ...” approach.

Analysis starts with chapter 5 (sequences and series). Most of the remaining chapter titles could come from any analysis text, the exceptions perhaps being “Linear Regression” and “Numerical Solution of Differential Equations.” Conspicuous by their absence, though, are uniform continuity and convergence (relegated to Appendix C and with no discussion of the difference in terms of order of the quantifiers).

There are various helpful MATLAB (and, later, other language) examples, which is good for a book aimed at computer scientists and, more generally, computer-using scientists and engineers.

O-notation, the backbone of algorithm analysis and complexity theory, is introduced extremely casually on page 167 in the context of power series, without a formal definition and the throwaway remark, “this notation is also used by Maple.” This is purely Ox→0 (or possibly Ox→0+, the text isn’t clear), and there is neither mention of ON→∞ as used in algorithm analysis nor examples of orders of growth.

The text makes few concessions in terms of notation: ∉ appears on page 2, and ∀ is on page 15, in both cases without any definition. There is no index of notation or list of symbols. And the term “ansatz” appears unexplained on page 41. Alas, the description of IEEE representation is wrong. It is d0 that is not represented, not d1 (hence, p=52 for doubles, not 53).

Would I use this text to teach analysis to computer scientists? No. Mainly because of the (lack of) treatment of O-notation, which tends to be at least one lecture in such a course. The lack of formality over quantifiers doesn’t help. Would I use it to teach mathematicians? No, mainly because of its incomplete treatment of uniformity. Would I recommend it to students who know programming and want more computational examples to illustrate analysis? Probably. I’ll try that this coming year.

Reviewer:  J. H. Davenport Review #: CR146730 (1912-0423)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy