inert ordinal exponentiation
Power(a, b, ...)
a ^ b
a &^ b
a, b, ...
ordinals, nonnegative integers, or polynomials with positive integer coefficients
The Power and ^ calling sequences perform exponentiation of the given ordinal numbers according to the rules of ordinal arithmetic. Let a=ωe⋅c+r, where c is a positive integer and r=0 or e≻degree⁡r in the strict ordering ≻ of ordinals.
0b=0 if b≠0.
If b is a positive integer, then ab=a⋅a⋅…⋅a⏟btimes.
If a=c≥2 is a positive integer and b=ω⋅l+d, where d is a nonnegative integer, then ab=ωl⋅cd.
If e≠0 and tdegree⁡b≠0, then ab=ωe⋅b.
If b=b1+b2, then ab=ab1⋅ab2.
If more than two arguments are specified, the powering will be performed right-associatively, that is, Power⁡a,b,c,...=Power⁡a,Power⁡b,c,....
Mathematically, exponentiation of two ordinals ab corresponds to the set of all functions f:b→a, between the corresponding well-orderings b and a, with finite support, such that f⁡x≠0 for only finitely many x∈b, together with the ordering defined by:
In the two-argument case, if a,b are both nonzero, a≠1 and at least one of them is an ordinal data structure, that is, an ordinal number greater or equal to ω, then the result is an ordinal data structure. Otherwise, the result is a nonnegative integer or a polynomial with positive integer coefficients.
The &^ calling sequence is the inert form of ordinal exponentiation. No actual exponentiation is performed, but the result will be rendered as an inert power, with parentheses around the first argument.
Applying the value command will turn the inactive &. operator into the active . operator, causing the ordinal multiplication to be computed as described above.
The first argument a can be a parametric ordinal. If it cannot be determined whether its leading or trailing coefficient is nonzero, an error may be raised.
a ≔ `.`⁡ω,2+3
The inert exponentiation operator is useful for display purposes:
result ≔ a &^ a:
b ≔ Ordinal⁡2,x+1,1,y,0,z+1
o ≔ Ordinal⁡ω,3,2,y,0,z
Error, (in Ordinals:-Power) cannot determine if z is nonzero
The Ordinals[Power], Ordinals[`^`] and &^ commands were introduced in Maple 2015.
For more information on Maple 2015 changes, see Updates in Maple 2015.
Download Help Document