Hi, while including the ccmath library into grass and patching i.cca to use the new ccmath library eigen vector functions, i noticed, that the eigen vector computation of the original i.cca version differs from the expected values?
First, the i.cca code looks wired. Like Fortran code ported to C while keeping the fortran style of counting (starting from 1). I reomved the Fortran coding style and replaced the eigen vector computaion function from lib/gmath/jacobi.c with a ccmath version. As a side effect: it is now possible to compute a cca of subgroups of size much larger than 8. I verified the new eigen vector compuation of i.cca (the ccmath version) with octave, so octave and i.cca computing now the same eigen vecotors for a given matrix. But this eigen vecotrs differ from the original version of i.cca. The difference is in the sign of the vectors. And therefore the results of i.cca are looking different. Example: The following steps are made with the original and the ccmath version of i.cca: i.group group=LandSat input=LandsatTM_Blue,LandsatTM_Green,LandsatTM_IR1,LandsatTM_IR2,LandsatTM_IR3,LandsatTM_Red i.group group=LandSat subgroup=visible input=LandsatTM_Blue,LandsatTM_Green,LandsatTM_Red i.cluster group=LandSat subgroup=visible sigfile=sig.txt classes=4 i.cca --v group=LandSat subgroup=visible signature=sig.txt output=test_cca r.info -r test_cca.1 r.info -r test_cca.2 r.info -r test_cca.3
_______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
