/*************************************** Power iteration algorithm. Implementation for dense matrices. Needed for the finding top eigenvectors of the covariance matrix. *****************************************/ #include #include #include #include void cpvec(double *copy,int beg, int end, double *vec); double dot(double *vec1, int beg, int end, double *vec2); void scadd(double *vec1,int beg, int end, double fac, double *vec2); void vecscale(double *vec1,int beg, int end, double alpha, double *vec2); double norm(double *vec, int beg, int end); int p_iteration_terations=1; double p_iteration_threshold=1e-3; void mat_mult_vec(double ** mat, int dim1, int dim2, double * vec, double *result) { // computes mat*vec, where mat is a dim1*dim2 matrix int i,j; double sum; for (i=0; i=n) { neigs=n; } for (i=0; i