tablemerge - Maple Programming Help

tablemerge

merge tables

 Calling Sequence tablemerge(t1, t2, options) tablemerge(t1, t2, f, options)

Parameters

 t1, t2 - tables f - optional combiner function options - (optional) optional argument inplace.

Summary

 • Returns a table which is the result of merging tables t1 and t2 subject to optional combiner f.

Options

 • inplace   : truefalse, indicates that t1 should be modified instead of allocating a new table.

Description

 • The tablemerge function returns a table t whose keys are all of the keys occurring in either of t1 or t2. The entries in the merged table corresponding to these keys are determined as follows:
 • When a key k appears in exactly one of t1 or t2, the entry is unchanged from its original value in t1 or t2.
 • When a key appears in both t1 and t2 and a combiner f was not provided, the entry from t2 is used.
 • When a key k appears in both t1 and t2 and a combiner f was provided, the entry for k is f(t1[k],t2[k]).

Details

 • The indexing function for the table returned by tablemerge is identical to the indexing function for t1. Any indexing function used in t2 will be ignored in the merge.

Examples

Merge a table with entries for "lunch" and "dessert", overriding the latter.

 > $\mathrm{tablemerge}\left(\mathrm{table}\left(\left["lunch"="sandwich","dessert"="apple"\right]\right),\mathrm{table}\left(\left["dessert"="orange"\right]\right)\right)$
 ${\mathrm{table}}\left(\left[{"lunch"}{=}{"sandwich"}{,}{"dessert"}{=}{"orange"}\right]\right)$ (1)

Merge using union as the merge operation.

 > $\mathrm{tablemerge}\left(\mathrm{table}\left(\left[1=\left\{2,3,5\right\},2=\left\{6,10,15\right\}\right]\right),\mathrm{table}\left(\left[1=\left\{7,11,13\right\}\right]\right),\mathrm{union}\right)$
 ${\mathrm{table}}\left(\left[{1}{=}\left\{{2}{,}{3}{,}{5}{,}{7}{,}{11}{,}{13}\right\}{,}{2}{=}\left\{{6}{,}{10}{,}{15}\right\}\right]\right)$ (2)

Merge using concatenation as the merge operation.

 > $\mathrm{tablemerge}\left(\mathrm{table}\left(\left["Message"="Hello"\right]\right),\mathrm{table}\left(\left["Message"="World!"\right]\right),\mathrm{cat}\right)$
 ${\mathrm{table}}\left(\left[{"Message"}{=}{"Hello World!"}\right]\right)$ (3)

Merge a table with symmetric indexing with one with ordinary indexing.

 > $A≔\mathrm{table}\left(\mathrm{symmetric},\left[\left(1,2\right)="A"\right]\right)$
 ${A}{≔}{\mathrm{table}}\left({\mathrm{symmetric}}{,}\left[\left({1}{,}{2}\right){=}{"A"}\right]\right)$ (4)
 > $B≔\mathrm{table}\left(\left[\left(1,2,3\right)="B"\right]\right)$
 ${B}{≔}{\mathrm{table}}\left(\left[\left({1}{,}{2}{,}{3}\right){=}{"B"}\right]\right)$ (5)
 > $C≔\mathrm{tablemerge}\left(A,B\right)$
 ${C}{≔}{\mathrm{table}}\left({\mathrm{symmetric}}{,}\left[\left({1}{,}{2}\right){=}{"A"}{,}\left({1}{,}{2}{,}{3}\right){=}{"B"}\right]\right)$ (6)
 > ${C}_{3,1,2}$
 ${"B"}$ (7)

Compatibility

 • The tablemerge command was introduced in Maple 2015.