PRTools A Matlab toolbox for pattern recognition Imported pages from 37Steps

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

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

e.g.

` 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`.