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

Online Help

All Products    Maple    MapleSim


Ordinals

  

Decompose

  

exponentially decompose an ordinal number

 

Calling Sequence

Parameters

Returns

Description

Examples

Compatibility

Calling Sequence

Decompose(a, output=o)

Parameters

a

-

ordinal or non-negative integer

o

-

(optional) literal keyword; either list (default) or inert

Returns

• 

If output=list (the default), a list of ordinals and non-negative integers is returned. Unless a=0 or a=1, any integers in the list are strictly greater than 1.

• 

Otherwise, if output=inert is specified, an inert exponentiation of ordinal numbers using the inert operator &^ is returned.

Description

• 

The Decompose(a) calling sequence computes an exponential normal form a1a2an of a as an iterated power of ordinals and non-negative integers a1,a2,,an that cannot be decomposed any further as a power of strictly smaller ordinals.

• 

The composition factors have the following additional properties, which ensure uniqueness of the decomposition.

i. 

Trivial cases: a=1n=0, and if a=0, then n=1 and a1=0.

ii. 

If a2 is an integer, then ak are all integers 2.

iii. 

If ak2 is an integer, then it is not a perfect power, that is, it cannot be written as bc for integers b,c2.

iv. 

If ak is not an integer, then either k=n=1 and a=ak=ω, or ak has at least two nonzero terms in the Cantor normal form.

v. 

If a is not an integer, then there is an index i1,,n such that ai is not an integer and ai+1,,an  are all integers 2.

vi. 

If i2, then a1==ai2=2 and degreeai1>0=tdegreeai. (Moreover, either ai12 is an integer, or it has at least two nonzero terms.)

• 

Exponential decomposition is a one-sided inverse of powering, in the sense that valueDecomposea,output=inert=a.

• 

The ordinal a can be parametric. However, if the complete decomposition cannot be computed in such a case, an error will be raised.

Examples

withOrdinals

`+`&comma;`.`&comma;`<`&comma;<=&comma;Add&comma;Base&comma;Dec&comma;Decompose&comma;Div&comma;Eval&comma;Factor&comma;Gcd&comma;Lcm&comma;LessThan&comma;Log&comma;Max&comma;Min&comma;Mult&comma;Ordinal&comma;Power&comma;Split&comma;Sub&comma;`^`&comma;degree&comma;lcoeff&comma;log&comma;lterm&comma;ω&comma;quo&comma;rem&comma;tcoeff&comma;tdegree&comma;tterm

(1)

Decomposeωω

2&comma;2&comma;2&comma;ω&plus;1

(2)

Using output=inert. The result can be verified using value.

Decomposeωω&comma;output=inert

222ω&plus;1

(3)

value

ωω

(4)

Decomposeωω+1

2&comma;ω2&plus;ω

(5)

Any ordinal ω with a single term can be decomposed.

Decomposeω·3

3&comma;ω&plus;1

(6)

Decomposeω3

2&comma;3&comma;ω&plus;1

(7)

Decomposeω2·3

3&comma;ω2&plus;1

(8)

Decomposeωω+1·2&comma;output=inert

2ω&plus;12

(9)

value

ωω&plus;12

(10)

The following equality is not a decomposition into strictly smaller ordinals, and therefore ω is indecomposable.

2ω=2ω

2ω=ω

(11)

Decomposeω

ω

(12)

More than one term.

bω2+ω

bω2&plus;ω

(13)

aωb+2+ωb+1

aωω2&plus;ω&plus;2&plus;ωω2&plus;ω&plus;1

(14)

Decomposea&comma;output=inert

ω2&plus;ωω&plus;12

(15)

ca+ωb·3

cωω2&plus;ω&plus;2&plus;ωω2&plus;ω&plus;1&plus;ωω2&plus;ω3

(16)

Decomposec&comma;output=inert

ω2&plus;ω&plus;3ω&plus;12

(17)

pω+22

pω2&plus;ω2&plus;2

(18)

Decomposep&comma;output=inert

ω&plus;22

(19)

qω+3p

qωω2&plus;ω2&plus;2&plus;ωω2&plus;ω2&plus;13&plus;ωω2&plus;ω23

(20)

Decomposeq&comma;output=inert

ω&plus;3ω&plus;22

(21)

rω+5q

rωωω2&plus;ω2&plus;2&plus;ωω2&plus;ω2&plus;13&plus;ωω2&plus;ω23

(22)

Decomposer&comma;output=inert

2ω&plus;3ω&plus;22

(23)

fOrdinal8&comma;1&comma;7&comma;2&comma;6&comma;3&comma;5&comma;2&comma;4&comma;3&comma;3&comma;2&comma;2&comma;3&comma;1&comma;2&comma;0&comma;3

fω8&plus;ω72&plus;ω63&plus;ω52&plus;ω43&plus;ω32&plus;ω23&plus;ω2&plus;3

(24)

Decomposef&comma;output=inert

ω2&plus;ω2&plus;322

(25)

Non-negative integers can be decomposed as well.

Decompose2417851639229258349412352&comma;output=inert

2322

(26)

Parametric examples.

uOrdinal2&comma;x&comma;1&comma;3x&comma;0&comma;3

uω2x&plus;ω3x&plus;3

(27)

Decomposeu

Error, (in Ordinals:-Decompose) cannot determine if x is nonzero

DecomposeEvalu&comma;x=x+1&comma;output=inert

ωx+1&plus;32

(28)

vOrdinalω+3&comma;1&comma;ω+2&comma;x&comma;ω+1&comma;1

vωω&plus;3&plus;ωω&plus;2x&plus;ωω&plus;1

(29)

Decomposev&comma;output=inert

ω3&plus;ω2x&plus;ωω&plus;1

(30)

Compatibility

• 

The Ordinals[Decompose] command was introduced in Maple 2015.

• 

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

See Also

Ordinals

Ordinals[Factor]

Ordinals[Ordinal]

Ordinals[Power]

value