16 #include <gsl/gsl_statistics_double.h>
17 #include <gsl/gsl_multifit_nlin.h>
18 #include <gsl/gsl_math.h>
19 #include <gsl/gsl_eigen.h>
20 #include <gsl/gsl_sf_gamma.h>
61 "Climate Space Model - Kaiser-Gutman",
65 "Climate Space Model [CSM] is a principle components based \
66 algorithm developed by Dr. Neil Caithness",
69 "Climate Space Model [CSM] is a principle components based \
70 algorithm developed by Dr. Neil Caithness. The component \
71 selection process int this algorithm implementation is \
72 based on the Keiser-Gutman cutoff where any component with \
73 an eigenvalue < 1 is discarded.\
75 The original CSM was written as series of Matlab functions. \
81 "Tim Sutton, Renato De Giovanni",
82 "t.sutton [at] reading.ac.uk",
141 printf (
"vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n");
142 printf (
" Starting CSM - Kaiser-Gutman \n");
143 printf (
" Component discarding routine \n");
144 printf (
"vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n");
164 printf (
"\n\nNumber of components retained: %i of %i\n",
169 gsl_vector * tmp_gsl_eigenvalue_vector = gsl_vector_alloc (_layer_count);
170 gsl_matrix * tmp_gsl_eigenvector_matrix = gsl_matrix_alloc (_layer_count, _layer_count);
188 float myFloat = gsl_vector_get (tmp_gsl_eigenvalue_vector,j);
192 gsl_vector * tmp_gsl_vector = gsl_vector_alloc (_layer_count);
195 gsl_matrix_get_col (tmp_gsl_vector, tmp_gsl_eigenvector_matrix, j);
199 gsl_vector_free (tmp_gsl_vector);
200 gsl_vector_free (tmp_gsl_eigenvalue_vector);
201 gsl_matrix_free (tmp_gsl_eigenvector_matrix);
209 printf (
"\n\nNumber of components retained: %i of %i\n",
gsl_matrix * _gsl_eigenvector_matrix
static AlgMetadata metadata
dllexp AlgMetadata const * algorithmMetadata()
int _retained_components_count
gsl_vector * _gsl_eigenvalue_vector
dllexp AlgorithmImpl * algorithmFactory()
static AlgParamMetadata * parameters