Jump to content

Unum (number format): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Changed to past tense
Unum 2.0 (and Pnum..jl).
Line 3: Line 3:
The '''unum''' (''universal number'') format is a [[floating point]] format proposed by [[John Gustafson (scientist)|John Gustafson]] as an alternative to the now ubiquitous [[IEEE 754-2008|IEEE 754 format]]. The proposal and justification are explained in his somewhat ambitiously-titled book ''The End of Error''.<ref name="Gustafson_2015">{{cite book |author-last=Gustafson |author-first=John L. |author-link=John Gustafson (scientist) |title=The End of Error: Unum Computing |publisher=[[CRC Press]] |edition=1st |date=February 2015 |isbn=978-1-4822-3986-7 |series=[[Chapman & Hall]]/CRC Computational Science |volume=24 |url=https://www.crcpress.com/The-End-of-Error-Unum-Computing/Gustafson/p/book/9781482239867 |access-date=2016-05-30}} [https://books.google.com/books?id=fZsXBgAAQBAJ] [http://www.crcpress.com/product/isbn/9781482239867]</ref>
The '''unum''' (''universal number'') format is a [[floating point]] format proposed by [[John Gustafson (scientist)|John Gustafson]] as an alternative to the now ubiquitous [[IEEE 754-2008|IEEE 754 format]]. The proposal and justification are explained in his somewhat ambitiously-titled book ''The End of Error''.<ref name="Gustafson_2015">{{cite book |author-last=Gustafson |author-first=John L. |author-link=John Gustafson (scientist) |title=The End of Error: Unum Computing |publisher=[[CRC Press]] |edition=1st |date=February 2015 |isbn=978-1-4822-3986-7 |series=[[Chapman & Hall]]/CRC Computational Science |volume=24 |url=https://www.crcpress.com/The-End-of-Error-Unum-Computing/Gustafson/p/book/9781482239867 |access-date=2016-05-30}} [https://books.google.com/books?id=fZsXBgAAQBAJ] [http://www.crcpress.com/product/isbn/9781482239867]</ref>


The two defining features of the unum format are:
The two defining features of the unum format (while unum 2.0 is different) are:

* a variable-width storage format for both the [[significand]] and [[exponent]], and
* a variable-width storage format for both the [[significand]] and [[exponent]], and
* an ''u-bit'', which determines whether the unum corresponds to an exact number (u=0), or an [[interval (mathematics)|interval]] between consecutive exact unums (u=1). In this way, the unums cover the entire extended real number line [−∞,+∞].
* an ''u-bit'', which determines whether the unum corresponds to an exact number (u=0), or an [[interval (mathematics)|interval]] between consecutive exact unums (u=1). In this way, the unums cover the entire extended real number line [−∞,+∞].
Line 9: Line 10:
For performing computation with the format, Gustafson proposes using [[interval arithmetic]] with a pair of unums, what he calls an ''ubound'', providing the guarantee that the resulting interval contains the exact solution.
For performing computation with the format, Gustafson proposes using [[interval arithmetic]] with a pair of unums, what he calls an ''ubound'', providing the guarantee that the resulting interval contains the exact solution.


Unum implementations have been explored in [[Julia (programming language)|Julia]].<ref name="Julia_1">{{cite web |title=Implementing Unums in Julia |author-first=Simon |author-last=Byrne |date=2016-03-29 |url=http://juliacomputing.com/blog/2016/03/29/unums.html |access-date=2016-05-30}}</ref><ref name="Julia_2">{{cite web |title=Unum arithmetic in Julia: Unums.jl |url=https://github.com/JuliaComputing/Unums.jl |access-date=2016-05-30}}</ref><ref name="Julia_3">{{cite web |title=Julia Implementation of Unums: README |url=https://github.com/REX-Computing/unumjl |access-date=2016-05-30}}</ref><ref name="Julia_4">{{cite web |title=Unum (Universal Number) types and operations: Unums |url=https://github.com/tbreloff/Unums.jl|access-date=2016-05-30}}</ref>
Unum implementations have been explored in [[Julia (programming language)|Julia]].<ref name="Julia_1">{{cite web |title=Implementing Unums in Julia |author-first=Simon |author-last=Byrne |date=2016-03-29 |url=http://juliacomputing.com/blog/2016/03/29/unums.html |access-date=2016-05-30}}</ref><ref name="Julia_2">{{cite web |title=Unum arithmetic in Julia: Unums.jl |url=https://github.com/JuliaComputing/Unums.jl |access-date=2016-05-30}}</ref><ref name="Julia_3">{{cite web |title=Julia Implementation of Unums: README |url=https://github.com/REX-Computing/unumjl |access-date=2016-05-30}}</ref><ref name="Julia_4">{{cite web |title=Unum (Universal Number) types and operations: Unums |url=https://github.com/tbreloff/Unums.jl|access-date=2016-05-30}}</ref> including unum 2.0 (or at least a modified version of his new proposal).<ref>https://github.com/jwmerrill/Pnums.jl</ref>


[[William Kahan]] and [[John Gustafson (scientist)|John Gustafson]] discussed unums at the ''Arith23'' conference<ref name="ARITH23_2016">{{cite web |title=Program: Special Session: The Great Debate: John Gustafson and William Kahan |work=Arith23: 23rd IEEE Symposium on Computer Arithmetic |location=Silicon Valley, USA |date=2016-07-12 |url=http://arith23.gforge.inria.fr/program.html |access-date=2016-05-30 |dead-url=no |archive-url=https://web.archive.org/web/20160530120059/http://arith23.gforge.inria.fr/program.html |archive-date=2016-05-30}}</ref> on 12 July 2016.
[[William Kahan]] and [[John Gustafson (scientist)|John Gustafson]] discussed unums at the ''Arith23'' conference<ref name="ARITH23_2016">{{cite web |title=Program: Special Session: The Great Debate: John Gustafson and William Kahan |work=Arith23: 23rd IEEE Symposium on Computer Arithmetic |location=Silicon Valley, USA |date=2016-07-12 |url=http://arith23.gforge.inria.fr/program.html |access-date=2016-05-30 |dead-url=no |archive-url=https://web.archive.org/web/20160530120059/http://arith23.gforge.inria.fr/program.html |archive-date=2016-05-30}}</ref> on 12 July 2016.

Revision as of 14:45, 13 July 2016

The unum (universal number) format is a floating point format proposed by John Gustafson as an alternative to the now ubiquitous IEEE 754 format. The proposal and justification are explained in his somewhat ambitiously-titled book The End of Error.[1]

The two defining features of the unum format (while unum 2.0 is different) are:

  • a variable-width storage format for both the significand and exponent, and
  • an u-bit, which determines whether the unum corresponds to an exact number (u=0), or an interval between consecutive exact unums (u=1). In this way, the unums cover the entire extended real number line [−∞,+∞].

For performing computation with the format, Gustafson proposes using interval arithmetic with a pair of unums, what he calls an ubound, providing the guarantee that the resulting interval contains the exact solution.

Unum implementations have been explored in Julia.[2][3][4][5] including unum 2.0 (or at least a modified version of his new proposal).[6]

William Kahan and John Gustafson discussed unums at the Arith23 conference[7] on 12 July 2016.

See also

References

  1. ^ Gustafson, John L. (February 2015). The End of Error: Unum Computing. Chapman & Hall/CRC Computational Science. Vol. 24 (1st ed.). CRC Press. ISBN 978-1-4822-3986-7. Retrieved 2016-05-30. [1] [2]
  2. ^ Byrne, Simon (2016-03-29). "Implementing Unums in Julia". Retrieved 2016-05-30.
  3. ^ "Unum arithmetic in Julia: Unums.jl". Retrieved 2016-05-30.
  4. ^ "Julia Implementation of Unums: README". Retrieved 2016-05-30.
  5. ^ "Unum (Universal Number) types and operations: Unums". Retrieved 2016-05-30.
  6. ^ https://github.com/jwmerrill/Pnums.jl
  7. ^ "Program: Special Session: The Great Debate: John Gustafson and William Kahan". Arith23: 23rd IEEE Symposium on Computer Arithmetic. Silicon Valley, USA. 2016-07-12. Archived from the original on 2016-05-30. Retrieved 2016-05-30. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)

Further readings