- James Anderson (computer scientist)
-
For other people of the same name, see James Anderson (disambiguation).
James Anderson is an academic staff member in the School of Systems Engineering at the University of Reading, England. He is currently teaching compilers, algorithms, and computer algebra, and in the past he has taught programming and computer graphics.[1]
Anderson quickly gained publicity in December 2006 in the United Kingdom when the regional BBC South Today reported his claim of "having solved a 1200 year old problem", namely that of division by zero. However, commentators quickly pointed out that his ideas are just a variation of the standard IEEE 754 concept of NaN (Not a Number), a datum that has been commonly employed on computers in floating point arithmetic for many years.[2] Dr Anderson defended the criticism of his claims on BBC Berkshire on 12 December 2006, saying, "If anyone doubts me I can hit them over the head with a computer that does it."[3]
Contents
Research and background
Mr Anderson is a member of the British Computer Society, the British Machine Vision Association, Eurographics, and the British Society for the Philosophy of Science.[4] He is also a teacher in the Computer Science department (School of Systems Engineering) at the University of Reading.[1] He was a psychology graduate who worked in the Electrical and Electronic Engineering departments at the University of Sussex and Plymouth Polytechnic (now the University of Plymouth). His doctorate is from the University of Reading for (in Anderson's words) "developing a canonical description of the perspective transformations in whole numbered dimensions".
He has written two papers on division by zero[5][6] and has invented what he calls the "Perspex machine".
Anderson claims that "mathematical arithmetic is sociologically invalid" and that IEEE floating-point arithmetic, with NaN, is also faulty.[7]
Transreal arithmetic
Zero divided by zero In mathematical analysis, the following limits can be found: 00 is also an indeterminate form. See exponentiation.
In IEEE floating-point arithmetic: - by definition
In several computer programming languages, including C's
pow
function, 00 is defined to be 1, as that is the most convenient value for numerical analysis programs, since it makes f(x) = x0 (and many other functions) continuous at zero, with the notable exception of f(x) = 0x.[8]In transreal arithmetic: - by definition
- by Anderson's proof, reported on by the BBC, that:
Anderson's transreal numbers were first mentioned in a 1997 publication,[9] and made well-known on the Internet in 2006, but not accepted as useful by the mathematics community. These numbers are used in his concept of transreal arithmetic and the Perspex machine. According to Anderson, transreal numbers include all of the real numbers, plus three others: infinity (), negative infinity () and "nullity" (Φ), a numerical representation of a non-number that lies outside of the affinely extended real number line. (Nullity, confusingly, has an existing mathematical meaning.)
Anderson intends the axioms of transreal arithmetic to complement the axioms of standard arithmetic; they are supposed to produce the same result as standard arithmetic for all calculations where standard arithmetic defines a result. In addition, they are intended to define a consistent numeric result for the calculations which are undefined in standard arithmetic, such as division by zero.[10]
Transreal arithmetic and other arithmetics
In standard arithmetic, division of zero by zero is considered indeterminate. The reason for this is simple: A statement about the quotient of two numbers is understood in mathematics as another statement about multiplcation. Specifically, if
this is understood as simply another way of saying that
Thus, if for some number c
then this is just another way of saying that
But in fact this is true for all real numbers c. And that is precisely the reason that mathematicians do not assign a single value to but rather label it "indeterminate". Assigning a value to , even a newly fabricated "number", misses the point entirely.
In computer arithmetic, the symbol NaN is not meant to be a number, but rather an error message conveying the fact that the arithmetical operation the computer just attempted cannot be assigned a single number as an answer—even if and are considered numbers.
Because NaN is an error message and not a number, there is no reason to assign True to the comparison NaN = NaN.
By contrast, so-called "transreal arithmetic" resembles IEEE floating point arithmetic, a floating point arithmetic commonly used on computers. In IEEE floating point arithmetic, calculations such as zero divided by zero can produce a result, Not a Number (NaN), to which the standard arithmetic axioms do not apply (as it is not a number). IEEE floating point arithmetic, like transreal arithmetic, uses affine infinity (two separate infinities, one positive and one negative) rather than projective infinity (a single unsigned infinity, turning the number line into a loop). The IEEE standard extends standard arithmetic by defining the results of all arithmetic operations upon , , and NaN.
Loosely put, IEEE floating point arithmetic extends the (affinely) extended real number line to the set and transreal arithmetic extends the (affinely) extended real number line to the set . IEEE floating point arithmetic approximates this set, defining a finite binary representation, for actual use in computers, that includes denormal numbers and negative zero. Transreal arithmetic has no standardized binary encoding for use in computers.
Just as in IEEE floating point arithemetic, in transreal arithmetic, all calculations including infinity and nullity are axiomatically defined. In addition, several of the axioms of standard arithmetic are constrained so that they do not operate upon the extended members of the number set. Here are some identities in transreal arithmetic with the IEEE equivalents:
Transreal arithmetic IEEE standard floating point arithmetic NaN + a = NaN − NaN = NaN (i.e. applying unary negation to NaN yields NaN) The main difference between transreal arithmetic and IEEE floating-point arithmetic is that whilst nullity compares equal to nullity, NaN does not compare equal to NaN.
Anderson's analysis of the properties of transreal algebra is given in his paper on "perspex machines".[11]
Due to the more expansive definition of numbers in transreal arithmetic, several identities and theorems which apply to all numbers in standard arithmetic are not universal in transreal arithmetic. For instance, in transreal arithmetic, a − a = 0 is not true for all a, since Φ − Φ = Φ. That problem is addressed in ref.[11] pg. 7. Similarly, it is not always the case in transreal arithmetic that a number can be cancelled with its reciprocal to yield 1. Cancelling zero with its reciprocal in fact yields nullity.
Examining the axioms provided by Anderson,[10] it is easy to see that any term which contains an occurrence of the constant Φ is provably equivalent to Φ. Formally, let t be any term with a sub-term Φ, then t = Φ is a theorem of the theory proposed by Anderson.
Media coverage
Anderson's transreal arithmetic, and concept of "nullity" in particular, were introduced to the public by the BBC with its report in December 2006[5] where Anderson was featured on a BBC television segment teaching schoolchildren about his concept of "nullity". The report implied that Anderson had discovered the solution to division by zero, rather than simply attempting to formalize it. The report also suggested that Anderson was the first to solve this problem, when in fact the result of zero divided by zero has been expressed formally in a number of different ways (for example, NaN).
The BBC was criticized for irresponsible journalism, but the producers of the segment defended the BBC, stating that the report was a light-hearted look at a mathematical problem aimed at a mainstream, regional audience for BBC South Today rather than at a global audience of mathematicians. The BBC later posted a follow-up giving Anderson's response to many claims that the theory is flawed.[3]
Transreal Computing Ltd.
Anderson has been trying to market his ideas for transreal arithmetic and "Perspex machines" to investors. In this process, he has founded a British company called Transreal Computing Ltd. which is attempting to get funding to build a transreal computer capable of dividing by zero,[7][12] a capability already possessed by contemporary computers using the IEEE arithmetic model. However sometime after 2006, the company was dissolved after failing to establish any market interest.
See also
- Wheel theory
- Bottom type and bottom element
- Division by zero
References
- ^ a b "Computer Science at Reading - Dr. James "Nullity" Anderson". University of Reading. http://www.reading.ac.uk/sse/about/staff/j-anderson.aspx. Retrieved 2011-02-28.
- ^ Mark C. Chu-Carroll (2006-12-07). "Nullity: The Nonsense Number". Good Math, Bad Math. http://scienceblogs.com/goodmath/2006/12/nullity_the_nonsense_number_1.php. Retrieved 2006-12-07.
- ^ a b "'Nullity is a number, and that makes a difference'". BBC News. 2006-12-12. http://www.bbc.co.uk/berkshire/content/articles/2006/12/12/nullity_061212_feature.shtml. Retrieved 2006-12-12.
- ^ "About the Ambient & Pervasive Intelligence Research Group". University of Reading. http://www.api.reading.ac.uk/about.htm. Retrieved 2007-01-16.
- ^ a b Ben Moore; Ollie Williams (2006-12-07). "1200-year-old problem "easy"". BBC News. http://www.bbc.co.uk/berkshire/content/articles/2006/12/06/divide_zero_feature.shtml. "Schoolchildren from Caversham have become the first to learn a brand new theory that dividing by zero is possible using a new number—"nullity". But the suggestion has left many mathematicians cold.".
- ^ "Professor Comes Up With a Way to Divide by Zero". Slashdot. http://science.slashdot.org/article.pl?sid=06/12/07/0416223. Retrieved 2006-12-07.
- ^ a b Dr James A.D.W. Anderson. "Transreal Computing Research and Portfolio — Company Showcase" (PDF). http://www.angletechnology.com/events/investorday/Dr%20James%20Anderson%20Transreal%20presentation.pdf. Retrieved 2006-12-11.
- ^ John Benito (April 2003). Rationale for International Standard — Programming Languages — C. Revision 5.10. p. 182. http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf.
- ^ "Representing Geometrical Knowledge". http://adsabs.harvard.edu/abs/1997RSPTB.352.1129A.
- ^ a b J A D W Anderson (2006). "Perspex Machine VIII: Axioms of Transreal Arithmetic". In Longin Jan Latecki, David M. Mount, and Angela Y. Wu. (PDF). Vision Geometry XV: Proceedings of SPIE. 6499. http://www.bookofparagon.com/Mathematics/PerspexMachineVIII.pdf.
- ^ a b J A D W Anderson (2006). "Perspex Machine IX: Transreal Analysis". In Longin Jan Latecki, David M. Mount, and Angela Y. Wu. (PDF). Vision Geometry XV: Proceedings of SPIE. 6499. http://www.bookofparagon.com/Mathematics/PerspexMachineIX.pdf.
- ^ "Transreal Computing Ltd.". http://www.transrealcomputing.com/. Retrieved 2006-12-12.
Further reading
- Cale Gibbard (2006-12-10). "Open letter to James Anderson". http://cale.yi.org/index.php/Open_letter_to_James_Anderson.[dead link]
- John Graham-Cumming (2006-12-11). "The Midas Number (or why divide by zero?)". http://www.jgc.org/blog/2006/12/midas-number-or-why-divide-by-zero.html.
- Philip Dorrell (2006-12-16). "Zero Divided By Zero: Application to Spherical Coordinates". http://www.1729.com/blog/ZeroDividedByZero.html.
External links
Categories:- Living people
- Alumni of the University of Reading
- Academics of the University of Reading
- English computer programmers
- English computer scientists
- Members of the British Computer Society
- Computer arithmetic
Wikimedia Foundation. 2010.