From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: strange: correlated principal components after orthogonal rotation
Date: Thu, 23 Oct 2008 16:13:02 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 21
Message-ID: <gdq7qd$p1g$>
Reply-To: <HIDDEN>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: 1224778382 25648 (23 Oct 2008 16:13:02 GMT)
NNTP-Posting-Date: Thu, 23 Oct 2008 16:13:02 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1567406
Xref: comp.soft-sys.matlab:496912

I came across a strange behaviour while computing principal components with the Statistics Toolbox (either princomp or pcacov, doesn't matter). 

Background is calculating independent software metrics using PCA. This works quite well, when I'm doing  like: 

EV Lambda =pcacov(corr(M))
...(compute FL out of EV and Lambda)
C= zscore(M)*EV 

leads to nicely uncorrelated C (my independent software metrics). Now the strange thing... I want the principal components better suiting the metrics and use orthogonal rotation like varimax or quartimax with:

RotFL = rotatefactors(FL, 'method', 'varimax', 'normalization', 'off')

This is supposed to be (according to help) an orthogonal operation. 
But after another:
CRot= zscore(M)*EVRot
I get correlated C. 

It's already visible in RotFL: Computing the angles between each 2 column-vektors (A*B/(|A|*|B|) shows no 90? anymore (as for EV and FL).

I'm lost with this supposingly orthogonal rotation and will appreciate any hints. Thank you.