Dyadic combining

In dyadic combining two mappings W1 and W2 are related by one of the Matlab operators

    +, -, .*, .^ , /, , ./, |, &, ~, xor, >, >=, <, <=, =, ~=, ~


    W = W1 + W2

The *-operator (matrix multiplication) is already overloaded as a sequential mapping and falls thereby outside this group. The ~-operator (logical not) is a monadic operator but is implemented similarly as the other logical operators.

For every of the above operators, like + holds that the following should be true:

    A*W = A*(W1+W2)
    A*W = A*W1 + A*W2
    A*W = B1 + B2

Here A is a dataset or a datafile that is applied to the mappings W, W1 or W2. The two mappings to be combined should thereby be of the same type (untrained, fixed or trained) and have the same sizes. There are a few exceptions. Fixed and trained mappings of the same input and output dimensions can be combined. One of the two mappings can also be a matrix of doubles, in which case it is treated as a fixed mapping. A scalar used instead of W1 or W2 just multiplies all elements of the dataset A and is thereby also treated as a fixed mapping.

In case W1 and W2 are untrained mappings, they are trained by A. The results B1 and B2 are thereby trained mappings.

The resulting mapping W is always given the same annotation as W1, unless it is a scalar or a matrix of doubles. In that case W copies the annotation of W2.


operations: basic, datasets, datafiles, mappings, classifiers, stacked, parallel, sequential, dyadic
commands: datasets, representation , classifiers, evaluation, clustering and regression, examples, support