|
Calling Sequence
|
|
Ordinals:-command(arguments)
command(arguments)
|
|
Description
|
|
•
|
The Ordinals package is a collection of commands for computing with ordinal numbers in Cantor normal form. Mathematically, an ordinal number, or ordinal for short, represents an isomorphism class of well-orderings. The Ordinals package can represent and handle all ordinals less than , that is, ordinal numbers that can be obtained from non-negative integers and , the ordinal for the standard ordering of the natural numbers , in a finite number of steps by ordinal addition, multiplication and exponentiation.
|
•
|
Every non-negative integer is an ordinal, representing the finite well-ordered set of numbers less than . Infinite ordinals can be created using the Ordinal constructor. The constant omega represents the ordinal .
|
•
|
The ordinals themselves are well-ordered by the relation meaning that the well-ordering represented by is order-isomorphic to an initial segment of the well-ordering represented by . See LessThan for more details.
|
•
|
The data structure for an infinite ordinal is basically a list of pairs encoding its Cantor normal form , where is an integer, are ordinals (that is, non-negative integers, or recursively, ordinal data structures) and are positive integers. See Ordinal for more details.
|
•
|
The access functions degree, lcoeff and lterm return , and , respectively. Similarly, the access functions tdegree, tcoeff and tterm return , and , respectively.
|
•
|
The arithmetic operators +, ., ^ and the relational operators < and <= are overloaded for ordinals, and they cause the corresponding commands Add, Mult, Power and LessThan, respectively, to be executed. Note that + is not a commutative operator for ordinals. In addition, the package also recognizes inactive or inert versions of these operators, namely, &+, &., &^, &-, &<, &>, &<=, and &>=. Such inactive operators do not result in any computations and are useful for display purposes. The value command turns these inert operators into their active forms.
|
•
|
The Ordinals package allows ordinals to be parametric. This means that the coefficients in the Cantor normal form may contain variables, such as or , and depend on these polynomially with positive integer coefficients. For example, is a valid parametric coefficient, but , , and are not. Currently, only the coefficients can be parametric; the exponents cannot contain any parameters.
|
•
|
All parameters are implicitly assumed to represent non-negative integers. Each command in the Ordinals package guarantees that the results it returns are correct when arbitrary non-negative integers are substituted for some or all of the parameters. If such a universally valid result cannot be computed, an error will be raised. For example, if is a parameter, then is correct for all non-negative integer values of , but neither nor are universally valid, since and .
|
•
|
The Eval command can be used to substitute integer values or polynomial expressions for some or all of the parameters in a parametric ordinal.
|
|
|
Accessing Ordinals Package Commands
|
|
•
|
Each command in the Ordinals package can be accessed by using either the long form or the short form of the command name in the command calling sequence.
|
|
The long form, Ordinals:-command, is always available. The short form can be used after loading the package.
|
|
|
List of Ordinals Package Commands
|
|
•
|
The following is a list of commands available in the Ordinals package.
|
|
|
Examples
|
|
| (1) |
Creating ordinals.
>
|
|
| (4) |
>
|
|
Extracting components.
>
|
|
>
|
|
>
|
|
| (8) |
Ordinal addition.
| (9) |
Using inert operators for display. The inert addition operator &+ is rendered as a regular + but in grey. Also note that addition is non-commutative.
| (10) |
Adding more than two ordinals.
| (11) |
Comparing and subtracting ordinals.
| (13) |
Verify the result.
| (14) |
Multiplication and exponentiation.
| (15) |
| (16) |
| (17) |
| (18) |
| (19) |
Division, greatest common divisors.
>
|
|
| (20) |
| (23) |
Verify the divisibility.
>
|
|
| (25) |
| (26) |
Verify the gcd property by factorization.
>
|
|
| (27) |
>
|
|
| (28) |
>
|
|
>
|
|
>
|
|
Parametric ordinals. The variables below are parameters implicitly assumed to represent non-negative integers. Unless there is an error, the results below remain correct for arbitrary non-negative integer values of the parameters.
| (34) |
Substitute a value for x.
>
|
|
| (35) |
| (36) |
| (37) |
Indeed, the result when looks very different:
|
|
Compatibility
|
|
•
|
The Ordinals package was introduced in Maple 2015.
|
|
|
|