James Anderson (computer scientist)

From Wikipedia, the free encyclopedia

James Anderson is an academic staff member in the School of Systems Engineering at the University of Reading. Currently, he is teaching compilers and computer graphics and has taught mathematics, computer algebra, and programming in the past.[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 2006-12-12, saying, "If anyone doubts me I can hit them over the head with a computer that does it."[3]

Contents

[edit] Research and background

Dr 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]

[edit] Transreal arithmetic

Zero divided by zero
In mathematical analysis, the following limits can be found:
 \lim_{x \to 0}\frac 0 x = 0
 \lim_{x \to 0^{+}}\frac 1 x = +\infty
 \lim_{x \to 0^{-}}\frac 1 x = -\infty
 \lim_{x \to 0}\frac{\sin x}{x} = 1
 \lim_{x \to 0}\frac{1 - \cos x}{x} = 0

00 is also an indeterminate form. See exponentiation.

In IEEE floating-point arithmetic:
 \frac{0}{0} = NaN
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:
 \frac{0}{0} = \Phi
by definition
 0^0 = \Phi \,
by Anderson's proof, reported on by the BBC, that:
 0^0 = \frac{0}{0}

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 (\infty), negative infinity (-\infty) 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]

[edit] Transreal arithmetic and other arithmetics

In standard arithmetic, division of zero by zero is undefined. In calculus, it is an indeterminate form.

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 -\infty, +\infty, and NaN.

Loosely put, IEEE floating point arithmetic extends the (affinely) extended real number line to the set \mathbb{R} \cup \lbrace -\infty, NaN, +\infty \rbrace and transreal arithmetic extends the (affinely) extended real number line to the set \mathbb{R} \cup \lbrace -\infty, \Phi, +\infty \rbrace. 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
  • +1 \div 0 = +\infty
  • -1 \div 0 = -\infty
  • 1 \div +0 = +\infty
  • 1 \div -0 = -\infty
0 \div 0 = \Phi 0 \div 0 = NaN
\infty \times 0 = \Phi \infty \times 0 = NaN
\infty - \infty = \Phi \infty - \infty = NaN
\Phi + a = \Phi \ NaN + a = NaN
\Phi \times a = \Phi NaN \times a = NaN
-\Phi = \Phi \ NaN = NaN (i.e. applying unary negation to NaN yields NaN)
\Phi = \Phi \Rightarrow True \ NaN = NaN \Rightarrow False

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, aa = 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.

[edit] 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]

[edit] 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.

[edit] References

  1. ^ a b Computer Science at Reading - Dr. James "Nullity" Anderson. University of Reading. Retrieved on 2007-01-05.
  2. ^ Mark C. Chu-Carroll (2006-12-07). Nullity: The Nonsense Number. Good Math, Bad Math. Retrieved on 2006-12-07.
  3. ^ a b 'Nullity is a number, and that makes a difference'. BBC News (2006-12-12). Retrieved on 2006-12-12.
  4. ^ "About the Ambient & Pervasive Intelligence Research Group. University of Reading. Retrieved on 2007-01-16.
  5. ^ a b Ben Moore; Ollie Williams. "1200-year-old problem "easy"", BBC News, 2006-12-07. "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." .
  6. ^ Professor Comes Up With a Way to Divide by Zero. Slashdot. Retrieved on 2006-12-07.
  7. ^ a b Dr. James A.D.W. Anderson. Transreal Computing Research and Portfolio — Company Showcase (PDF). Retrieved on 2006-12-11.
  8. ^ John Benito (April 2003). "Rationale for International Standard — Programming Languages — C". Revision 5.10.
  9. ^ Representing Geometrical Knowledge.
  10. ^ a b J A D W Anderson (2006). "Perspex Machine VIII: Axioms of Transreal Arithmetic" (PDF). Longin Jan Latecki, David M. Mount, and Angela Y. Wu. Vision Geometry XV: Proceedings of SPIE 6499. 
  11. ^ a b J A D W Anderson (2006). "Perspex Machine IX: Transreal Analysis" (PDF). Longin Jan Latecki, David M. Mount, and Angela Y. Wu. Vision Geometry XV: Proceedings of SPIE 6499. 
  12. ^ Transreal Computing Ltd.. Retrieved on 2006-12-12.

[edit] Further reading

[edit] See also

[edit] External links