# Pcaengine

## Contents

### Purpose

Principal components analysis computational engine.

### Synopsis

- [ssq,datarank,loads,scores,msg] = pcaengine(data,
*ncomp,options*)

### Description

This function is intended primarily for use as the engine behind other more full featured PCA programs. The only required input is a data matrix.

Optional inputs include the number of principal components desired in the output * ncomp*, and a structure containing optional inputs

*. If the number of components*

`options`*is not specified, the routine will return components up to the rank of the data*

`ncomp``datarank`.

The outputs are the variance or sum-of-squares captured table `ssq`, mathematical rank of the data `datarank`, principal component loadings `loads`, principal component scores `scores`, and a text variable containing any warning messages `msg`.

To enhance speed, the routine is written so that only the specified outputs are computed.

#### Inputs

**data**= input data matrix

#### Optional Inputs

**ncomp**= number of principal components desired in the output

= discussed below.**options**

#### Outputs

**ssq**= The outputs are the variance or sum-of-squares captured table

**datarank**= mathematical rank of the data

**loads**= principal component loadings

**scores**= principal component scores

**msg**= a text variable containing any warning messages

### Options

*options* = a structure array with the following fields:

**display**: [ 'off' | {'on'} ], governs level of display to command window,

**algorithm**: [ {'regular'} | 'big' | 'auto'], tells which algorithm to use,

- '
**regular',**uses an SVD and calculates all eigenvectors and eigenvalues,

- '

- '
**big',**calculates the "economy size" SVD, and

- '

- '
**auto',**checks the size of the data matrix and automatically chooses between 'regular' and 'big'

- '

The default options can be retreived using: options = pcaengine('options');.

### See Also

analysis, estimatefactors, evolvfa, ewfa, explode, parafac, pca, ssqtable, subgroupcl