SOM Toolbox Online documentation http://www.cis.hut.fi/projects/somtoolbox/

# som_lininit

### Purpose

``` Initializes a SOM linearly along its greatest eigenvectors.

```

### Syntax

```  sMap = som_lininit(D);
sMap = som_lininit(D,sMap);
sMap = som_lininit(D,'munits',100,'hexa');

```

### Description

``` Initializes a SOM linearly. If necessary, a map struct is created
first. The initialization is made by first calculating the eigenvalues
and eigenvectors of the training data. Then, the map is initialized
along the mdim greatest eigenvectors of the training data, where
mdim is the dimension of the map grid.

```

### References

``` Kohonen, T., "Self-Organizing Map", 2nd ed., Springer-Verlag,
Berlin, 1995, pp. 106-107.

```

### Required input arguments

```  D                 The training data.
(struct) Data struct. If this is given, its '.comp_names' and
'.comp_norm' fields are copied to the map struct.
(matrix) data matrix, size dlen x dim

```

### Optional input arguments

```  argID (string) Argument identifier string (see below).
value (varies) Value for the argument (see below).

The optional arguments can be given as 'argID',value -pairs. If an
argument is given value multiple times, the last one is used.

Here are the valid argument IDs and corresponding values. The values
which are unambiguous (marked with '*') can be given without the
preceeding argID.
'dlen'         (scalar) length of the training data
'data'         (matrix) the training data
*(struct) the training data
'munits'       (scalar) number of map units
'msize'        (vector) map size
'lattice'     *(string) map lattice: 'hexa' or 'rect'
'shape'       *(string) map shape: 'sheet', 'cyl' or 'toroid'
'topol'       *(struct) topology struct
'som_topol','sTopol'    = 'topol'
'map'         *(struct) map struct
'som_map','sMap'        = 'map'

```

### Output arguments

```  sMap     (struct) The initialized map struct.

```

### Examples

```  sMap = som_lininit(D);
sMap = som_lininit(D,sMap);
sMap = som_lininit(D,'msize',[10 10]);
sMap = som_lininit(D,'munits',100,'rect');

```