]>
Axiom distinguishes very carefully between different kinds of numbers, how they are represented and what their properties are. Here are a sampling of some of these kinds of numbers and some things you can do with them.
Integer arithmetic is always exact.
Integers can be represented in factored form.
Results stay factored when you do arithmetic. Note that the is automatically factored for you.
Integers can also be displayed to bases other than 10. This is an integer in base 11.
Roman numerals are also available for those special occasions. Roman numerals
Rational number arithmetic is also exact.
To factor fractions, you have to map factor onto the numerator and denominator.
SingleInteger refers to machine word-length integers.
In English, this expression means `` as a small integer''.
Machine double-precision floating-point numbers are also available for numeric and graphical applications.
The normal floating-point type in Axiom, Float, is a software implementation of floating-point numbers in which the exponent and the mantissa may have any number of digits. The types Complex(Float) and Complex(DoubleFloat) are the corresponding software implementations of complex floating-point numbers.
This is a floating-point approximation to about twenty digits. floating point The ``::'' is used here to change from one kind of object (here, a rational number) to another (a floating-point number).
Use digitsdigitsFloat to change the number of digits in the representation. This operation returns the previous value so you can reset it later.
To digits of precision, the number appears to be an integer.
Increase the precision to forty digits and try again.
Here are complex numbers with rational numbers as real and complex numbers imaginary parts.
The standard operations on complex numbers are available.
You can factor complex integers.
Complex numbers with floating point parts are also available.
The real and imaginary parts can be symbolic.
Of course, you can do complex arithmetic with these also.
Every rational number has an exact representation as a repeating decimal expansion
A rational number can also be expressed as a continued fraction.
Also, partial fractions can be used and can be displayed in a partial fraction compact format fraction:partial
or expanded format.
Like integers, bases (radices) other than ten can be used for rational numbers. Here we use base eight.
Of course, there are complex versions of these as well. Axiom decides to make the result a complex rational number.
You can also use Axiom to manipulate fractional powers. radical
You can also compute with integers modulo a prime.
Arithmetic is then done modulo .
Since is prime, you can invert nonzero values.
You can also compute modulo an integer that is not a prime.
All of the usual arithmetic operations are available.
Inversion is not available if the modulus is not a prime number. Modular arithmetic and prime fields are discussed in Section ugxProblemFinitePrime .
This defines to be an algebraic number, that is, a root of a polynomial equation.
Computations with are reduced according to the polynomial equation.
Define to be an algebraic number involving .
Do some arithmetic.
To expand and simplify this, call ratDenom to rationalize the denominator.
If we do this, we should get .
But we need to rationalize the denominator again.
Types Quaternion and Octonion are also available. Multiplication of quaternions is non-commutative, as expected.