# Cells and Doubles

The standard data items in PRTools are the dataset and datafile. They contain various types of information that might be used during processing by mappings. In some cases this information is not available or can be skipped. If an array of doubles X is organized in the same way as a dataset, i.e. by a matrix in which the rows are the vector representations of the objects, it can be applied to a mapping wherever appropriate:

Y = X*W

Y will be a dataset if W assign essential information, e.g. class labels in case of a classification. Otherwise it will be again a matrix of doubles. Of course all standard Matlab operations apply for such matrices the interpretation of objects in a feature space is only available inside PRTools mappings. Doubles can also be used for unspervised training routines like pcam for PCA, density estimation and cluster analysis as not label information is needed. Some untrained mappings can thereby be trained by an array of doubles:

W = A*U

Like doubles, cell arrays do not constitute special PRTools variables. Cell arrays of data (datasets, datafiles or doubles), however, can be applied to mappings and result in general to a cell array. The datatype of the content depends on the mapping. It can be dataset, datafile, double or even trained mappings if the cell array is applied to an untrained mapping.

{B1, B2, B3, ..., Bn} = {A1, A2, A3, ..., An)*W
{W1, W2, W3, ..., Wn} = {A1, A2, A3, ..., An)*U
{Y1, Y2, Y3, ..., Yn} = {X1, X2, X3, ..., Xn)*W

A few mappings, of the type fixed_cell, use the cell array as input and do not process the cells one by one. Examples are the combiners, stacked and parallel.

It is also possible to apply data to a cell array of mappings. The results will be a cell array of data or, in case of untrained mappings, a cell array of mappings.

{B1, B2, B3, ..., Bn} = A*{W1, W2, W3, ..., Wn}
{W1, W2, W3, ..., Wn} = A*{U1, U2, U3, ..., Un}