Hyperfunctions are fascinating things. Here is what they are. First define an open set D in **C** containing an open interval J of the real line to be a complex neighborhood of J if J is relatively closed in D, and write **O**(D) for the ring of all holomorphic functions on D. Split D into D+, J, and D–, pairwise disjoint, where D+ (resp. D–) is the intersection of D with the upper (resp. lower) half plane; accordingly any F(z) ∈ **O**(DJ) gives rise to F+ (resp. F–), the restriction of F to D+ (resp. D–); these are the respective upper and lower components of F. Next, writing *F*(J) for **O**(DJ), stipulate that if F, G ∈ *F*(J), then F ~ G if there are complex neighborhoods D, E of J such that if z is in D∩E, then G(z) = F(z) + r(z), with r(z) in **O**(D). One proves rather easily that ~ gives an equivalence relation on *F*(J) and then a hyperfunction f(x) on J is nothing else than an equivalence class f(x) = [F(z)] for ~, and the pair (F+,F–) is said to be a defining or generating function for this hyperfunction, f. Thus one can readily realize the set *B*(J) of hyperfunctions on J as **O**(DJ)/**O**(D).

The next manoeuvre is to make the observation that, given J, if D´ ⊂ D (and both contain J) then **O**(D´J)/**O**(D´) “works as well” as **O**(DJ)/**O**(D) — well, the point, presented somewhat *sub rosa*, is that the more sophisticated way to characterize *B*(J) is as a direct limit, taken over all D containing J. The author, Urs Graf, certainly plays this down: “… what is essential to the definition of hyperfunctions is the behavior of the defining functions in the vicinity of [J] …” and then goes on to say that “[t]he reader should not worry about [direct limits] … [i]t is beyond the scope of this book to dig into such sophisticated details … For us an intuitive grasp is sufficient.” This is a very telling remark because it gives a clear idea of both the intended audience for the book under review and its author’s orientation toward his subject.

Indeed, the above definition of hyperfunctions is manifestly sheaf-theoretic, as the author’s chosen (standard) notations of **O**(D) and *F*(J) suggest in and of themselves, and, to be sure, introducing a direct (or inductive) limit harkens back to the definition of a stalk or fibre of a presheaf; in fact, it is ultimately an example of such a creature, but to do justice to this perspective on hyperfunctions should take us quickly to Hartshorne, which is beyond Graf’s acknowledged intended level of austerity. He prefers to go at the subject of hyperfunctions more analytically. Again, Graf: “The theory goes not very deep. No sheaves and other sophisticated concepts are mentioned …” Fair enough: Graf targets analysts working with transforms, not algebraic geometers. But this immediately raises the question of what kind of novel analysis can be built upon this notion of hyperfunction, having left its algebraic antecedents aside.

Before getting to the answer to this question, however, a remark or two about the subject’s historical roots are in order. The notion of hyperfunction goes back to Mikio Sato, who introduced these in the context of function theory, not algebraic geometry. But Sato went on to expand this version of, for lack of a better word, generalized complex analysis into what now goes by the appellation of microlocal analysis, where, in the context of distributions (or generalized functions), (Sato) hyperfunctions are joined by (Sato) microfunctions. An unsurpassed source for this material — albeit at a post-Harshorne level — is the gorgeously written *Sheaves on Manifolds* by Masaki Kashiwara (Sato’s student at Tokyo) and Pierre Schapira. Here microlocal analysis, specifically Sato micro- and hyperfunctions, is treated in expressly shreaf-theoretic terms, with all the benefits (and encumbrances?) that entails.

And, working more locally, so to speak, i.e., focusing on the roots of the book under review, Graf generously credits Isac Imai’s *Applied Hyperfunction Theory*, “which explains and applies Sato’s hyperfunctions in a concrete, but nontrivial way, and thereby reveals their computational power.” The author states a little further down (in the opening part of the preface) that he is “indebted to Imai, mainly for the first chapter, parts of the second and entirely for the fifth chapter.”

So, let us get to the explicit contents of Graf’s “applied and computational approach” to hyperfunctions. Seeing that sheaf cohomology is eschewed in the book, complex analysis of a very special flavor takes over as the framework for the techniques and methods discussed. This implies in particular that the first two chapters are indispensable. Indeed, the list of topics covered reads in part as though it has been lifted from a text on mainstream complex function theory. The first two chapters, taking us through p. 154 of the roughly 400 page book, are titled, respectively, “Introduction to hyperfunctions” and “Analytic properties.” We learn in Chapter 1 about differentiation and integration of hyperfunctions, and, to be sure, if f = [F+, F–], using equivalence class notation, then f´= [F+´, F–´]; however for integration we get (under a mild hypothesis: see p.37) ∫_{[a,b]}f = ( ∫_{C+}F+) – (∫_{C–}F–) = –∫_{K}F(z)dz, where C+, C–, and K (a contour) are certain configurations *vis à vis* the open interval (a,b) in **R**. Make no mistake, the differential and integral calculus of hyperfunctions engenders a clear departure from their classical forebears.

We should note that the theory of distributions plays a huge role in Graf’s treatment of his subject, but with a twist. Says Graf: “In my opinion, Sato’s way of introducing the [indicated] generalized concept of a function is less abstract than the one of Laurent Schwartz who defines his distributions as linear functionals on some space of test function.” The reader should decide for himself whether this circumnavigation of the theory of distributions *à la* Schwartz (*per se*) is to his taste. Graf does make a good case for his approach.

Thus, to reap any real benefits from Graf’s book, the reader must make good to expend a good deal of effort to grasp the content of the first two chapters; however, then it’s off to the races. The remaining roughly 250 pages deal with, in sequence, Laplace-, Fourier-, Hilbert-, Mellin-, and Hankel transforms, dealing with a number of exciting and interesting topics such as Dirac impulses (and their derivatives), “Volterra’s integral equations of convolution type,” and “Dirichlet’s problem in a wedge-shaped domain.”

There is also very solid coverage given to integral equations, in no fewer than five parts spread over as many chapters, as well as a trio of complements on, respectively, physical interpretation of hyperfunctions, Laplace transforms in **C** ≈ **R**^{2}, and some function theory. There are also a lot of good examples and there are problems liberally sprinkled throughout the text.

Michael Berg is Professor of Mathematics at Loyola Marymount University in Los Angeles, CA.