Overview - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Ordinals

A package for ordinal numbers and their arithmetic

 

Calling Sequence

Description

Accessing Ordinals Package Commands

List of Ordinals Package Commands

Examples

Compatibility

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 basic arithmetic operations for ordinals are addition, multiplication, and exponentiation. Their corresponding inverse operations are left subtraction, left division, and logarithm, respectively. Other operations implemented include maximum and minimum, greatest common left divisors and least common right multiples, and factorization.

• 

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.

`+`

`.`

`<=`

`<`

`^`

Add

Base

Dec

Decompose

degree

Div

Eval

Factor

Gcd

Lcm

lcoeff

LessThan

Log

log

lterm

Max

Min

Mult

omega

Ordinal

Power

quo

rem

Split

Sub

tcoeff

tdegree

tterm

type/ordinal

 

 

• 

To display the help page for a particular Ordinals command, see Getting Help with a Command in a Package.

Examples

(1)

Creating ordinals.

(2)

(3)

(4)

(5)

Extracting components.

(6)

(7)

(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.

(12)

(13)

Verify the result.

(14)

Multiplication and exponentiation.

(15)

(16)

(17)

(18)

(19)

Division, greatest common divisors.

(20)

(21)

(22)

(23)

Verify the divisibility.

(24)

(25)

(26)

Verify the gcd property by factorization.

(27)

(28)

(29)

(30)

(31)

(32)

(33)

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)

Error, (in Ordinals:-Power) cannot determine if z is nonzero

(37)

Indeed, the result when  looks very different:

(38)

Compatibility

• 

The Ordinals package was introduced in Maple 2015.

• 

For more information on Maple 2015 changes, see Updates in Maple 2015.

See Also

Ordinals[Ordinal]

 


Download Help Document