Historically there have been all kinds of "numerical analysis"
difficulties in programming matrix algebra applications like factor
analyses.
Since you are on an SPSS list, are you just using Visual Basic to call
SPSS routines, or are you doing the matrix algebra in Visual Basic?
_IFF_ I recall correctly the factor loading matrix that one can read in
or output is the unrotated factor matrix. so you do not have to you only
have to create the R matrix once and do the extraction once.
aside: I have never used /matrix with a 'fac" argument. n the rare
occasions that I also wanted an oblique rotation, I just cannibalized
the syntax for the ordinary varimax rotation and tweaked it by changing
the one argument.
If you are using SPSS to do the actual calculations try something like
this untested approach to see if I am correct.
draft 5 blocks of syntax.
run 4 factor analyses the first 3 just differ in what is on the
/rotation specification and what file the loadings are written to
1) /rotation = norotate /matrix= out (fac= ...
2) /rotation = varimax /matrix= out (fac=...
3) /rotation = promax /matrix= out (fac=...
for these 2 blocks the file of factor loadings is that was written in
block 1
4) /matrix= in (fac=...)/rotation = varimax
5) /matrix= in (fac=...)/rotation = promax
Check and see which loadings files are identical.
Also I would suggest that you Google "nabble SPSSX" and join the
discussion list. It is much more active than this newsgroup.
Then post about what the goal of your effort actually is.
Maybe VB is optimal,maybe a macro, maybe python, maybe OMS.
Art Kendall
Social Research Consultants