コード例 #1
0
ファイル: natif.c プロジェクト: gpichon/eigenproblems
void solve_entire_mr(int n, double *A, double *E, double *Q, char type){
  double tol = 0.;
  int *isuppz = malloc(2*n*sizeof(int)); assert(isuppz);
  int k;
  int info = LAPACKE_dsyevr(LAPACK_COL_MAJOR, type, 'A', 'L', 
			    n, A, n, 0., 0., 0, 0, tol, &k, E, Q, n, isuppz);
  assert(!info);
  free(isuppz);
}
コード例 #2
0
ファイル: util.c プロジェクト: alvarouc/ica_gsl
void rr_eig(gsl_matrix *sym, gsl_vector *eval, gsl_matrix *evec, size_t NCOMP ){
  // Relative robust Eigen decomposition
  size_t NSUB = sym->size1;
  lapack_int m=0;
  double abstol=-1.0, vl=0.0, vu=0.0;
  lapack_int *ifail = (lapack_int *)LAPACKE_malloc( sizeof(lapack_int) * NSUB );
  LAPACKE_dsyevr(LAPACK_ROW_MAJOR, 'V', 'I', 'U',
    NSUB, sym->data, NSUB, vl, vu, NSUB-NCOMP+1, NSUB,
    abstol, &m, eval->data, evec->data, NCOMP, ifail);
}