. - Maple Help

Ordinals[Mult]

ordinal multiplication

Ordinals[.]

ordinal multiplication

&.

inert ordinal multiplication

 Calling Sequence Mult(a, b, ...) a . b . ... a &. b &. ...

Parameters

 a, b, ... - ordinals, nonnegative integers, or polynomials with positive integer coefficients

Description

 • The Mult and . calling sequences multiply the given ordinal numbers according to the rules of ordinal arithmetic. Let $a={\mathbf{\omega }}^{e}\cdot c+r$, where $c$ is a positive integer and $r=0$ or $e\succ \mathrm{degree}\left(r\right)$ in the strict ordering $\succ$ of ordinals.
 – $a\cdot 0=0\cdot b=0$.
 – If $b$ is a positive integer, then $a\cdot b={\mathbf{\omega }}^{e}\cdot cb+r$.
 – If $b={\mathbf{\omega }}^{{f}_{1}}\cdot {d}_{1}+\cdots +{\mathbf{\omega }}^{{f}_{k}}\cdot {d}_{k}$, where $k\ge 1$ and ${f}_{1}\succ \cdots \succ {f}_{k}\succ 0$, then $a\cdot b={\mathbf{\omega }}^{e+{f}_{1}}\cdot {d}_{1}+\cdots +{\mathbf{\omega }}^{e+{f}_{k}}\cdot {d}_{k}$.
 – If $b={b}_{1}+{b}_{2}$, then $a\cdot b=a\cdot {b}_{1}+a\cdot {b}_{2}$.
 • Mathematically, multiplication of two ordinals $a\cdot b$ corresponds to the cartesian product $a×b$ of the two well-orderings represented by $a$ and $b$, respectively, together with the lexicographic ordering:

$\forall {x}_{1},{x}_{2}\in a\phantom{\rule[-0.0ex]{1.0ex}{0.0ex}}\forall {y}_{1},{y}_{2}\in b:\phantom{\rule[-0.0ex]{1.0ex}{0.0ex}}\left({x}_{1},{y}_{1}\right)\prec \left({x}_{2},{y}_{2}\right)\phantom{\rule[-0.0ex]{1.0ex}{0.0ex}}⇔\phantom{\rule[-0.0ex]{1.0ex}{0.0ex}}{y}_{1}\phantom{\rule[-0.0ex]{0.5ex}{0.0ex}}{\prec }_{b}\phantom{\rule[-0.0ex]{0.5ex}{0.0ex}}{y}_{2}\phantom{\rule[-0.0ex]{1.0ex}{0.0ex}}\vee \phantom{\rule[-0.0ex]{1.0ex}{0.0ex}}\left({y}_{1}={y}_{2}\phantom{\rule[-0.0ex]{1.0ex}{0.0ex}}\wedge \phantom{\rule[-0.0ex]{1.0ex}{0.0ex}}{x}_{1}\phantom{\rule[-0.0ex]{0.5ex}{0.0ex}}{\prec }_{a}\phantom{\rule[-0.0ex]{0.5ex}{0.0ex}}{x}_{2}\right)$

 • If the arguments $a,b,\mathrm{...}$ are all nonzero and contain at least one ordinal data structure, that is, an ordinal number greater or equal to $\mathbf{\omega }$, 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 multiplication. No actual multiplication is performed, but the result will be rendered as an inert product, with parentheses around the arguments if necessary.
 • Applying the value command will turn the inactive &. operator into the active . operator, causing the ordinal multiplication to be computed as described above.
 • In general, ordinal multiplication is not commutative, and the order of the operands does matter, for both calling sequences.
 • If some of the arguments are parametric ordinals and it cannot be determined whether a leading or trailing coefficient is nonzero, an error will be raised.

Examples

 > $\mathrm{with}\left(\mathrm{Ordinals}\right)$
 $\left[{\mathrm{+}}{,}{\mathrm{.}}{,}{\mathrm{<}}{,}{\mathrm{<=}}{,}{\mathrm{Add}}{,}{\mathrm{Base}}{,}{\mathrm{Dec}}{,}{\mathrm{Decompose}}{,}{\mathrm{Div}}{,}{\mathrm{Eval}}{,}{\mathrm{Factor}}{,}{\mathrm{Gcd}}{,}{\mathrm{Lcm}}{,}{\mathrm{LessThan}}{,}{\mathrm{Log}}{,}{\mathrm{Max}}{,}{\mathrm{Min}}{,}{\mathrm{Mult}}{,}{\mathrm{Ordinal}}{,}{\mathrm{Power}}{,}{\mathrm{Split}}{,}{\mathrm{Sub}}{,}{\mathrm{^}}{,}{\mathrm{degree}}{,}{\mathrm{lcoeff}}{,}{\mathrm{log}}{,}{\mathrm{lterm}}{,}{\mathrm{\omega }}{,}{\mathrm{quo}}{,}{\mathrm{rem}}{,}{\mathrm{tcoeff}}{,}{\mathrm{tdegree}}{,}{\mathrm{tterm}}\right]$ (1)
 > $\mathrm{Mult}\left(\mathrm{\omega }+2,3\right)=\left(\mathrm{\omega }+2\right)·3$
 ${\mathbf{\omega }}{\cdot }{3}{+}{2}{=}{\mathbf{\omega }}{\cdot }{3}{+}{2}$ (2)
 > $3·\left(\mathrm{\omega }+2\right)\ne \left(\mathrm{\omega }+2\right)·3$
 ${\mathbf{\omega }}{+}{6}{\ne }{\mathbf{\omega }}{\cdot }{3}{+}{2}$ (3)
 > $a≔\mathrm{Ordinal}\left(\left[\left[\mathrm{\omega },1\right],\left[2,3\right]\right]\right)$
 ${a}{≔}{{\mathbf{\omega }}}^{{\mathbf{\omega }}}{+}{{\mathbf{\omega }}}^{{2}}{\cdot }{3}$ (4)
 > $b≔a+5$
 ${b}{≔}{{\mathbf{\omega }}}^{{\mathbf{\omega }}}{+}{{\mathbf{\omega }}}^{{2}}{\cdot }{3}{+}{5}$ (5)
 > $b+b=b·2$
 ${{\mathbf{\omega }}}^{{\mathbf{\omega }}}{\cdot }{2}{+}{{\mathbf{\omega }}}^{{2}}{\cdot }{3}{+}{5}{=}{{\mathbf{\omega }}}^{{\mathbf{\omega }}}{\cdot }{2}{+}{{\mathbf{\omega }}}^{{2}}{\cdot }{3}{+}{5}$ (6)
 > $\mathrm{\omega }·b·2$
 ${{\mathbf{\omega }}}^{{\mathbf{\omega }}}{\cdot }{2}{+}{{\mathbf{\omega }}}^{{3}}{\cdot }{3}{+}{\mathbf{\omega }}{\cdot }{5}$ (7)
 > $b·b=b·a+b·5$
 ${{\mathbf{\omega }}}^{{\mathbf{\omega }}{\cdot }{2}}{+}{{\mathbf{\omega }}}^{{\mathbf{\omega }}{+}{2}}{\cdot }{3}{+}{{\mathbf{\omega }}}^{{\mathbf{\omega }}}{\cdot }{5}{+}{{\mathbf{\omega }}}^{{2}}{\cdot }{3}{+}{5}{=}{{\mathbf{\omega }}}^{{\mathbf{\omega }}{\cdot }{2}}{+}{{\mathbf{\omega }}}^{{\mathbf{\omega }}{+}{2}}{\cdot }{3}{+}{{\mathbf{\omega }}}^{{\mathbf{\omega }}}{\cdot }{5}{+}{{\mathbf{\omega }}}^{{2}}{\cdot }{3}{+}{5}$ (8)

The inert multiplication operator is useful for display purposes:

 > $\mathrm{result}≔\left(\mathrm{\omega }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&.\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}b\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&.\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}2:$
 > $\mathrm{result}=\mathrm{value}\left(\mathrm{result}\right)$
 ${\mathbf{\omega }}{\mathbf{\cdot }}\left({{\mathbf{\omega }}}^{{\mathbf{\omega }}}{+}{{\mathbf{\omega }}}^{{2}}{\cdot }{3}{+}{5}\right){\mathbf{\cdot }}{2}{=}{{\mathbf{\omega }}}^{{\mathbf{\omega }}}{\cdot }{2}{+}{{\mathbf{\omega }}}^{{3}}{\cdot }{3}{+}{\mathbf{\omega }}{\cdot }{5}$ (9)

Multiplication by a positive integer from the right only affects the leading coefficient, and from the left only affects the constant coefficient:

 > $c≔\mathrm{Ordinal}\left(\left[\left[3,1\right],\left[1,2\right],\left[0,4\right]\right]\right)$
 ${c}{≔}{{\mathbf{\omega }}}^{{3}}{+}{\mathbf{\omega }}{\cdot }{2}{+}{4}$ (10)
 > $c·5$
 ${{\mathbf{\omega }}}^{{3}}{\cdot }{5}{+}{\mathbf{\omega }}{\cdot }{2}{+}{4}$ (11)
 > $5·c$
 ${{\mathbf{\omega }}}^{{3}}{+}{\mathbf{\omega }}{\cdot }{2}{+}{20}$ (12)

Parametric examples:

 > $u≔\mathrm{Ordinal}\left(\left[\left[1,w\right],\left[0,x\right]\right]\right)$
 ${u}{≔}{\mathbf{\omega }}{\cdot }{w}{+}{x}$ (13)
 > $v≔\mathrm{Ordinal}\left(\left[\left[1,y\right],\left[0,z\right]\right]\right)$
 ${v}{≔}{\mathbf{\omega }}{\cdot }{y}{+}{z}$ (14)
 > $u·v$
 > $\mathrm{u1}≔\mathrm{\omega }+u+1$
 ${\mathrm{u1}}{≔}{\mathbf{\omega }}{\cdot }\left({1}{+}{w}\right){+}\left({x}{+}{1}\right)$ (15)
 > $\mathrm{v1}≔\mathrm{\omega }+v+1$
 ${\mathrm{v1}}{≔}{\mathbf{\omega }}{\cdot }\left({1}{+}{y}\right){+}\left({z}{+}{1}\right)$ (16)
 > $\mathrm{u1}·\mathrm{v1}$
 ${{\mathbf{\omega }}}^{{2}}{\cdot }\left({1}{+}{y}\right){+}{\mathbf{\omega }}{\cdot }\left({w}{}{z}{+}{w}{+}{z}{+}{1}\right){+}\left({x}{+}{1}\right)$ (17)
 > $\mathrm{v1}·\mathrm{u1}$
 ${{\mathbf{\omega }}}^{{2}}{\cdot }\left({1}{+}{w}\right){+}{\mathbf{\omega }}{\cdot }\left({y}{}{x}{+}{x}{+}{y}{+}{1}\right){+}\left({z}{+}{1}\right)$ (18)
 > $t≔\mathrm{Ordinal}\left(\left[\left[2,x+1\right],\left[1,y\right],\left[0,z+1\right]\right]\right)$
 ${t}{≔}{{\mathbf{\omega }}}^{{2}}{\cdot }\left({x}{+}{1}\right){+}{\mathbf{\omega }}{\cdot }{y}{+}\left({z}{+}{1}\right)$ (19)
 > $t·t·t$
 ${{\mathbf{\omega }}}^{{6}}{\cdot }\left({x}{+}{1}\right){+}{{\mathbf{\omega }}}^{{5}}{\cdot }{y}{+}{{\mathbf{\omega }}}^{{4}}{\cdot }\left({x}{}{z}{+}{x}{+}{z}{+}{1}\right){+}{{\mathbf{\omega }}}^{{3}}{\cdot }{y}{+}{{\mathbf{\omega }}}^{{2}}{\cdot }\left({x}{}{z}{+}{x}{+}{z}{+}{1}\right){+}{\mathbf{\omega }}{\cdot }{y}{+}\left({z}{+}{1}\right)$ (20)

Compatibility

 • The Ordinals[Mult], Ordinals[.] and &. commands were introduced in Maple 2015.
 • For more information on Maple 2015 changes, see Updates in Maple 2015.