Subversion Repositories gelsvn

Rev

Rev 343 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 343 Rev 417
Line 26... Line 26...
26
	return 100.0*fabs(a-b)/fabs(a);
26
	return 100.0*fabs(a-b)/fabs(a);
27
}
27
}
28
 
28
 
29
void power_eigensolution_test()
29
void power_eigensolution_test()
30
{
30
{
31
	srand(0);
31
	gel_srand(0);
32
	double avg_trace_diff=0;
32
	double avg_trace_diff=0;
33
	double avg_det_diff=0;
33
	double avg_det_diff=0;
34
	for (int k=0;k<1000;++k)
34
	for (int k=0;k<1000;++k)
35
	{
35
	{
36
		Mat4x4d M;
36
		Mat4x4d M;
37
		for(int i=0;i<4;++i) 
37
		for(int i=0;i<4;++i) 
38
			for(int j=i;j<4;++j)
38
			for(int j=i;j<4;++j)
39
				M[i][j] = M[j][i] = 1e-5*(rand()-RAND_MAX/2);
39
				M[i][j] = M[j][i] = 1e-5*(gel_rand()-GEL_RAND_MAX/2);
40
		
40
		
41
		Mat4x4d Q,L;
41
		Mat4x4d Q,L;
42
		power_eigensolution(M,Q,L);
42
		power_eigensolution(M,Q,L);
43
		
43
		
44
		double det_diff = percentdiff(determinant(M), L[0][0]*L[1][1]*L[2][2]*L[3][3]) ;
44
		double det_diff = percentdiff(determinant(M), L[0][0]*L[1][1]*L[2][2]*L[3][3]) ;