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