Hi ,
I need to use the value from eigen vector to do Rotated Factor Loading . When i verified the calculation with the online matrix calculator from Bluebit , it seems that the
value is correct but some of the eigen vector value was -(ve) and some are totally reversal. Below is the example of the symmetric metrics
1.000 0.440 0.615 0.383 0.224 0.469 0.357 0.373
0.440 1.000 0.485 0.545 0.374 0.373 0.311 0.533
0.615 0.485 1.000 0.540 0.543 0.471 0.441 0.416
0.383 0.545 0.540 1.000 0.758 0.236 0.357 0.441
0.224 0.374 0.543 0.758 1.000 0.184 0.384 0.367
0.469 0.373 0.471 0.236 0.184 1.000 0.363 0.525
0.357 0.311 0.441 0.357 0.384 0.363 1.000 0.745
0.373 0.533 0.416 0.441 0.367 0.525 0.745 1.000
Using the online calculator , the results below
( 0.332, 0.000i) ( 0.253, 0.000i) (-0.515, 0.000i) ( 0.225, 0.000i) (-0.473, 0.000i) (-0.461, 0.000i) (
0.158, 0.000i) (-0.220, 0.000i)
( 0.354, 0.000i) (-0.040, 0.000i) (-0.165, 0.000i) (-0.789, 0.000i) (-0.189, 0.000i) ( 0.300, 0.000i) (
-0.158, 0.000i) (-0.269, 0.000i)
( 0.394, 0.000i) (-0.049, 0.000i) (-0.331, 0.000i) ( 0.367, 0.000i) (-0.017, 0.000i) ( 0.675, 0.000i) (
0.082, 0.000i) ( 0.368, 0.000i)
( 0.373, 0.000i) (-0.495, 0.000i) (-0.022, 0.000i) (-0.097, 0.000i) ( 0.056, 0.000i) (-0.453, 0.000i) (
-0.351, 0.000i) ( 0.524, 0.000i)
( 0.334, 0.000i) (-0.575, 0.000i) ( 0.124, 0.000i) ( 0.219, 0.000i) ( 0.274, 0.000i) (-0.011, 0.000i) (
0.298, 0.000i) (-0.574, 0.000i)
( 0.307, 0.000i) ( 0.489, 0.000i) (-0.168, 0.000i) (-0.007, 0.000i) ( 0.755, 0.000i) (-0.126, 0.000i) (
-0.208, 0.000i) (-0.095, 0.000i)
( 0.344, 0.000i) ( 0.217, 0.000i) ( 0.575, 0.000i) ( 0.303, 0.000i) (-0.303, 0.000i) ( 0.096, 0.000i) (
-0.523, 0.000i) (-0.195, 0.000i)
( 0.383, 0.000i) ( 0.266, 0.000i) ( 0.472, 0.000i) (-0.206, 0.000i) (-0.026, 0.000i) (-0.105, 0.000i) (
0.643, 0.000i) ( 0.304, 0.000i)
But , using the alglib
Code:
SMatrixEVD(Comp, MSize, 1, True, D, Z);
in Delphi , this is the results
(
-0.15803252231, -0.22021778579, 0.46109942579, -0.47291068586, -0.22460107131, -0.51535611476, 0.25279078065, 0.3321624699),
(
0.15779676545, -0.26887558606, -0.30016916815, -0.18864093336, 0.78946861249, -0.16468825077, -0.04008187139, 0.35373676982),
(
-0.081898521277, 0.3684230306, -0.67508012766, -0.017132298394, -0.36684025758, -0.33113721908, -0.049083662629, 0.39357028591),
(
0.35141070993, 0.52353033783, 0.4531406666, 0.055748426016, 0.096908097212, -0.021995319777, -0.49509791966, 0.37280722115),
(
-0.29831265882, -0.57430671768, 0.010864459917, 0.27409319384, -0.21945938891, 0.12433846992, -0.57484154243, 0.33447116293),
(
0.20849364692, -0.094717109294, 0.12642431992, 0.75499540937, 0.0065775843066, -0.16830314089, 0.48866523402, 0.30723764218),
(
0.52318437655, -0.19525135567, -0.09551516869, -0.30257239057, -0.30261214293, 0.57506099386, 0.21727767568, 0.34351560838),
(
-0.64323177221, 0.30408530593, 0.10484204755, -0.02595149694, 0.20627873794, 0.47187821955, 0.26554286024, 0.3826051442)
I'm stuck now , I need to know why some of the values are different ( seems like (-ve) value ) ? any explanation regarding this. How can i customize the functions to have similar results like the online calculator. Thanks.