function OrthogonalRotation(const X: TMtx; const Y: TMtx; const R: TMtx; const Gamma: Double; const Normalize: Boolean; const Tolerance: Double; const MaxIter: Integer): Boolean;
Orthogonal rotation of matrix.
| # | Name | Description |
|---|---|---|
| 1 | X | Defines original matrix (to be rotated). |
| 2 | Y | Stores rotated matrix (X*R, where R is calculated rotation matrix). |
| 3 | Gamma | Defines different types of Varimax rotation (see above). |
| 4 | Normalize | If true, X matrix is normalized (by rows) prior to rotation. After the rotation the result is then renormalized. |
| 5 | Tolerance | Convergence tolerance in iteration algorithm. |
| 6 | MaxIter | Maximum number of rotations. Together with Tolerance parameter it defines convergence criteria. |
| 7 | R | Returns the rotation matrix, used for calculating Y=X*R. |
Returns: Boolean - true, if number of rotation did not exceed maximum number of iterations for rotation.
Remarks:
Performs orthogonal rotation of X matrix. Based on the Gamma parameter value, the following rotations can be performed:
- Gamma = 1 => Varimax rotation
- Gamma <> 1 => Orthomax rotation
- Gamma = X.Cols div 2 => Equimax rotation
- Gamma = 0 => Quartimax rotation
See Also: Statistics.PCA