Gustafson wrote this in a recent post on the Google Groups forum on Unums: https://groups.google.com/forum/m/#!forum/unum-computing
<<<>>> I am working on tools to populate the arithmetic tables automatically now. Ultimately I would like to release a complete environment as I did for unums 1.0, with conversions from real numbers to unums/SORNs and back, a full set of elementary functions, fused operations, a lossless polynomial evaluator, and so on. Notice that for multiplication and division, the projective real line becomes something very like a circular slide rule! That is, the lattice of numbers is so close to perfect logarithmic spacing that you can multiply numbers by summing their rotations about the circle. My plan is to use that as a hash function, guessing where the product or quotient is, the test against the predicted value and move up or down until the correct unum is determined. That should only take O(1) time, so populating an N by N table should take order N^2 time, tolerable for low N. For larger N, I envision an algorithm that only uses table look-up as the innermost kernel of a procedure that looks more like that used for decimal floats: determine the power of ten of the inputs and compute the power of ten of the result, then use tables within the decade. That should make 32-bit accuracy tractable (64-bit SORN for contiguous sets). The idea is so simple, I wouldn't be surprised if C and C++ versions pop up long before I get my prototype done! Please keep me informed of progress. John G. <<>>> Skip Cave Cave Consulting LLC On Tue, May 17, 2016 at 2:33 AM, Skip Cave <[email protected]> wrote: > Roger, > > Very nice! I'll go over Gustafson's Unums 2.0 slides again, to see if I > can figure out how to extend the lookup tables to a larger domain. > > Skip > > > On Mon, May 16, 2016 at 1:07 AM, roger stokes <[email protected]> > wrote: > >> Hi Skip >> First thoughts on Gustafson's book: >> >> It is very impressive indeed: there is much of value and interest in it. >> I'm glad I bought it. >> >> It predates Unums 2.0 and Unums 2.0 is certainly a major advance. >> Hence I'm pretty sure there will be a revised version of the book, maybe >> substantially different, >> but even so I'm glad to have this one. >> >> It is impressive, not just for the content but for the presentation, and >> even more so >> because Gustafson says that what we see is the output of a Mathematica >> notebook. >> Until recently I would have said that for us J programmers there was >> nothing comparable to >> Mathematica notebooks. However, there was a recent mention on one of our >> forums about >> Jupyter notebooks: I mean to check this out. >> >> Unums 2.0 I think is beautiful. It has a kind of compelling rightness. I >> have put on my >> website a J script for modelling arithmetic in Unums 2.0. Have just made a >> tiny beginning: >> can do addition and multiplication on 2-bit unums and addition on 3-bit >> unums. This may not seem much but >> anything more is just a matter of writing the lookup tables. The J code is >> very small and simple. >> >> The script is at: www.learningj.com/unums2.ijs >> >> Regards, >> Roger >> >> >> On Fri, May 13, 2016 at 6:57 PM, Skip Cave <[email protected]> >> wrote: >> >> > Great Roger! I'll be interested to see what you think about the book, >> and >> > Gustafson's proposed new binary number format. I haven't received my >> hard >> > copy of his book as yet. >> > On May 12, 2016 11:28 AM, "roger stokes" <[email protected]> >> wrote: >> > >> > > Many thanks Skip for posting the reviews. Having read your post, I >> > > couldn't hold out any longer and bought the Kindle version. >> > > >> > > Regards, >> > > Roger >> > > On May 12, 2016 8:22 AM, "Skip Cave" <[email protected]> wrote: >> > > >> > > > Below are a few reviews of John Gustafson's book "The End of Error" >> on >> > > > Amazon books. I've ordered a copy of the book. I wanted a hard copy, >> > but >> > > is >> > > > back-ordered, and takes 3-4 weeks to ship. However, one can order a >> > > Kindle >> > > > electronic copy, and get it immediately. >> > > > >> > > > Also, this book answers Raul's question about worked examples. >> > Gustafson >> > > > provides a full Mathematica implementation of Unums, so one can >> explore >> > > all >> > > > the ramifications of this new numerical representation. >> > > > >> > > > Skip >> > > > >> > > > <<<>>> >> > > > >> > > > "This book is revolutionary. That is the only way to describe it. I >> > have >> > > > been a professional computer science researcher for almost 40 years, >> > and >> > > > only once or twice before have I seen a book that is destined to >> make >> > > such >> > > > a profound change in the way we think about computation. It is hard >> to >> > > > imagine that after 70 years or so of computer arithmetic that there >> is >> > > > anything new to say about it, but this book reinvents the subject >> from >> > > the >> > > > ground up, from the very notion of finite precision numbers to their >> > > > bit-level representation, through the basic arithmetic operations, >> the >> > > > calculation of elementary functions, all the way to the fundamental >> > > methods >> > > > of numerical analysis, including completely new approaches to >> > expression >> > > > calculation, root finding, and the solution of differential >> equations. >> > On >> > > > every page from the beginning to the end of the book there are >> > surprises >> > > > that just astonished me, making me re-think material that I thought >> had >> > > > been settled for decades. >> > > > >> > > > The methods described in this book are profoundly different from all >> > > > previous treatments of numerical methods. Unum arithmetic is an >> > extension >> > > > of floating point arithmetic, but mathematically much cleaner. It >> never >> > > > does rounding, so there is no rounding error. It handles what in >> > floating >> > > > point arithmetic is called "overflow" and "underflow" in a far more >> > > natural >> > > > and correct way that makes them normal rather than exceptional. It >> also >> > > > handles exceptional values (NaN, +infinity, -infinity) cleanly and >> > > > consistently. Those contributions alone would have been a profound >> > > > contribution. But the book does much more. >> > > > >> > > > One of the reasons I think the book is revolutionary is that >> unum-based >> > > > numerical methods can effortlessly provide provable bounds on the >> error >> > > in >> > > > numerical computation, something that is very rare for methods >> based on >> > > > floating point calculations. And the bounds are generally as tight >> as >> > > > possible (or as tight as you want them), rather than the useless or >> > > trivial >> > > > bounds as often happens with floating point methods or even interval >> > > > arithmetic methods. >> > > > >> > > > Another reason I consider the book revolutionary is that many of the >> > > > unum-based methods are cleanly parallelizable, even for problems >> that >> > are >> > > > normally considered to be unavoidably sequential. This was >> completely >> > > > unexpected. >> > > > >> > > > A third reason is that in most cases unum arithmetic uses fewer >> bits, >> > and >> > > > thus less power, storage, and bandwidth (the most precious >> resources in >> > > > today’s computers) than the comparable floating point calculation. >> It >> > > hard >> > > > to believe that we get this advantage in addition to all of the >> others, >> > > but >> > > > it is amply demonstrated in the book. Doing efficient unum >> arithmetic >> > > takes >> > > > more logic (e.g. transistors) than comparable floating point >> arithmetic >> > > > does, but as the author points out, transistors are so cheap today >> that >> > > > that hardly matters, especially when compared to the other benefits. >> > > > >> > > > Some of the broader themes of the book are counter >> > > > >> > > > intuitive to people like me >> > > > with >> > > > advanced conventional training, so that I have to re-think >> everything I >> > > > “knew” before. For example, the discussion of just what it means to >> > > “solve” >> > > > an equation numerically is extraordinarily thought provoking. >> Another >> > > > example is the author’s extended discussion of how calculus is not >> the >> > > best >> > > > inspiration for computational numerical methods, even for problems >> that >> > > > would seem to absolutely require calculus-based thinking, such as >> the >> > > > solution of ordinary differential equations. >> > > > >> > > > Not only is the content of the book brilliant, but so is the >> > > presentation. >> > > > The text is so well written, a mix of clarity, precision, and reader >> > > > friendliness that it is a pure pleasure to read, rather then the >> dense >> > > > struggle that mathematical textbooks usually require of the reader. >> But >> > > in >> > > > addition, almost every page has full color graphics and diagrams >> that >> > are >> > > > completely compelling in their ability to clearly communicate the >> > ideas. >> > > I >> > > > cannot think of any technical book I have ever seen that is so >> > > beautifully >> > > > illustrated all the way through. >> > > > >> > > > I should add that I read the Kindle edition on an iPad, and for once >> > > Amazon >> > > > did not screw up the presentation of a technical book, at least for >> > this >> > > > platform. It is beautifully produced, in full color and detail, and >> > with >> > > > all of the fonts and graphics reproduced perfectly. >> > > > >> > > > Dr. Gustafson has also provided a Mathematica implementation of >> unums >> > and >> > > > of the many numerical methods discussed in the book. Let us hope >> that >> > in >> > > > the next few years there will be implementations in other languages, >> > > > followed by hardware implementations. Over time there should be unum >> > > > arithmetic units alongside of floating point arithmetic units on >> every >> > > CPU >> > > > and GPU chip, and in the long run unums should replace floating >> point >> > > > entirely. The case the author makes for this is overwhelming. >> > > > >> > > > If you are at all interested in computer arithmetic or numerical >> > methods, >> > > > read this book. It is destined to be a classic. >> > > > " >> > > > David Jefferson >> > > > < >> http://www.amazon.com/gp/pdp/profile/A3E5GY7K9GGYD0/ref=cm_cr_dp_pdp> >> > > on >> > > > April 18, 2015 >> > > > >> > > > Other >> > > > Review >> > > > s (Amazon) >> > > > >> > > > "The author of the present book believes that it is time to >> supplement >> > > the >> > > > century-old floating point arithmetic with something better: unum >> > > > arithmetic. The book covers various operations with unum arithmetic >> and >> > > > topics like polynomial evaluation, solving equations, two-body >> problem, >> > > > etc. The appendices give a glossary of unum functions, ubox >> functions, >> > > and >> > > > some algorithm listings." >> > > > ―*Zentralblatt MATH* 1320 >> > > > >> > > > "This book is an extraordinary reinvention of computer arithmetic >> and >> > > > elementary numerical methods from the ground up. Unum arithmetic is >> an >> > > > extension of floating point in which it is also possible to >> represent >> > the >> > > > open intervals *between* two floating point numbers. This leads to >> > > > arithmetic that is algebraically much cleaner, without rounding >> error, >> > > > overflow underflow, or negative zero, and with clean and consistent >> > > > treatment of positive and negative infinity and NaN. These changes >> are >> > > not >> > > > just marginal technical improvements. As the book fully >> demonstrates, >> > > they >> > > > lead to what can only be described as a radical re-foundation of >> > > elementary >> > > > numerical analysis, with new methods that are free of rounding >> error, >> > > fully >> > > > parallelizable, fully portable, easier for programmers to master, >> and >> > > often >> > > > more economical of memory, bandwidth, and power than comparable >> > floating >> > > > point methods. The book is exceptionally well written and produced >> and >> > is >> > > > illustrated on every page with full-color diagrams that perfectly >> > > > communicate the material. Anyone interested in computer arithmetic >> or >> > > > numerical methods must read this book. It is surely destined to be a >> > > > classic." >> > > > ―David Jefferson, Center for Advanced Scientific Computing, Lawrence >> > > > Livermore National Laboratory >> > > > >> > > > "John Gustafson’s book *The End of Error* presents the ideas of >> > computer >> > > > arithmetic in a very easy-to-read and understandable form. While the >> > > title >> > > > is provocative, the content provides an illuminating discussion of >> the >> > > > issues. The examples are engaging, well thought out, and simple to >> > > follow." >> > > > ―Jack Dongarra, University Distinguished Professor, University of >> > > Tennessee >> > > > >> > > > "John Gustafson presents a bold and brilliant proposal for a >> > > revolutionary >> > > > number representation system, unum, for scientific (and potentially >> all >> > > > other) computers. Unum’s main advantage is that computing with these >> > > > numbers gives scientists the correct answer all the time. Gustafson >> is >> > > able >> > > > to show that the universal number, or unum, encompasses all standard >> > > > floating-point formats as well as fixed-point and exact integer >> > > arithmetic. >> > > > The book is a call to action for the next stage: implementation and >> > > testing >> > > > that would lead to wide-scale adoption." >> > > > ―Gordon Bell, Researcher Emeritus, Microsoft Research >> > > > >> > > > "Reading more and more in [John Gustafson’s] book became a big >> > surprise. >> > > I >> > > > had not expected such an elaborate and sound piece of work. It is >> hard >> > to >> > > > believe that a single person could develop so many nice ideas and >> put >> > > them >> > > > together into a sketch of what perhaps might be the future of >> > computing. >> > > > Reading [this] book is fascinating." >> > > > ―Ulrich Kulisch, Karlsruhe Institute of Technology, Germany >> > > > >> > > > Skip Cave >> > > > Cave Consulting LLC >> > > > >> > > > On Fri, Apr 29, 2016 at 12:17 PM, Skip Cave < >> [email protected]> >> > > > wrote: >> > > > >> > > > > Interesting comment from John Gustafson on Google Groups: >> > > > > <<<>>> >> > > > > Incidentally, I've been challenged to a debate by William Kahan at >> > the >> > > > > ARITH23 conference, July 10-13 in San Jose, CA. (Kahn is the >> designer >> > > of >> > > > > the IEEE floating point numerical format). >> > > > > >> > > > > Title: "The Great Debate: The End of Error?" >> > > > > >> > > > > Kahan has apparently prepared a 34-page response to my book >> > > (Gustafson's >> > > > > "The End Of Error" book) though I have not seen it and he will >> > probably >> > > > > spring all kinds of surprises on me. It should be a good show! >> > > > > <<<>> >> > > > > >> > > > > Skip >> > > > > On Apr 29, 2016 10:27 AM, "Skip Cave" <[email protected]> >> > wrote: >> > > > > >> > > > > Here's the Google Group on unum computing: >> > > > > >> > > > > https://groups.google.com/forum/#!forum/unum-computing >> > > > > >> > > > > >> > > > > Here's Gustafson's home page: >> > > > > >> > > > > http://www.johngustafson.net/index.html >> > > > > >> > > > > >> > > > > Skip >> > > > > >> > > > > >> > > > > Skip Cave >> > > > > Cave Consulting LLC >> > > > > >> > > > > On Fri, Apr 29, 2016 at 5:35 AM, Pierpaolo Bernardi < >> > > [email protected] >> > > > > >> > > > > wrote: >> > > > > >> > > > >> On Fri, Apr 29, 2016 at 7:41 AM, Skip Cave < >> [email protected] >> > > >> > > > >> wrote: >> > > > >> > Here's a much newer presentation by Gustafson that goes into >> the >> > > > >> > implementation of Unums in much more detail. >> > > > >> > >> > > > >> > >> > > > >> > http://www.johngustafson.net/presentations/Unums2.0slides-withNotes.pdf >> > > > >> >> > > > >> This is about Unums 2.0, which is a completely different idea. >> The >> > > > >> choice of naming them Unums 2.0 is unfortunate IMO. >> > > > >> >> > > > >> Unums 2.0 is a way more exoteric idea then Unums, and as far as I >> > > > >> understand it is still in an embryonal stage. >> > > > >> >> > > > >> For interested people there's a google group about unums where >> > > > >> Gustafson participates, and up to now has always replied to >> > questions. >> > > > >> >> > ---------------------------------------------------------------------- >> > > > >> For information about J forums see >> > > http://www.jsoftware.com/forums.htm >> > > > >> >> > > > > >> > > > > >> > > > >> ---------------------------------------------------------------------- >> > > > For information about J forums see >> http://www.jsoftware.com/forums.htm >> > > ---------------------------------------------------------------------- >> > > For information about J forums see >> http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- >> > For information about J forums see http://www.jsoftware.com/forums.htm >> > >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
