Subversion Repositories gelsvn

Rev

Rev 39 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 39 Rev 379
Line 14... Line 14...
14
	extern void dorgqr_(const int *m, const int *n, const int *k, double* A, const int *lda,const double *tau,double* work, const int *lwork, int *info);
14
	extern void dorgqr_(const int *m, const int *n, const int *k, double* A, const int *lda,const double *tau,double* work, const int *lwork, int *info);
15
	extern void dgerqf_(const int *m, const int *n, double* A,const int* lda,double*tau,double *work, const int* lwork, int* info);
15
	extern void dgerqf_(const int *m, const int *n, double* A,const int* lda,double*tau,double *work, const int* lwork, int* info);
16
	extern void dorgrq_(const int *m, const int *n, const int *k, double* A, const int *lda,const double *tau,double* work, const int *lwork, int *info);
16
	extern void dorgrq_(const int *m, const int *n, const int *k, double* A, const int *lda,const double *tau,double* work, const int *lwork, int *info);
17
 
17
 
18
	int dsysv_(char *uplo, int *n, int *nrhs, double *a, int *lda, int *ipiv, double *b, int *ldb, double *work, int *lwork, int *info);
18
	int dsysv_(char *uplo, int *n, int *nrhs, double *a, int *lda, int *ipiv, double *b, int *ldb, double *work, int *lwork, int *info);
-
 
19
	
-
 
20
	int dsytrd_(char *uplo, int *n, double *a, int * lda, double *d__, double *e, double *tau, double *work, int *lwork, int *info);
-
 
21
	int dsteqr_(char *compz, int *n, double *d__, double *e, double *z__, int *ldz, double *work, int *info);
-
 
22
    int dsyev_(char *jobz, char *uplo, int *n, double *a, int *lda, double *w, double *work, int *lwork, int *info);
-
 
23
 
19
}
24
}
20
 
25
 
21
namespace{
26
namespace{
22
	
27
	
23
	template <class T>
28
	template <class T>
Line 378... Line 383...
378
		}
383
		}
379
	}
384
	}
380
 
385
 
381
}
386
}
382
 
387
 
-
 
388
int EigenSolutionsSym(CMatrix& Q, CVector& b)
-
 
389
{
-
 
390
	assert(Q.Rows() == Q.Cols());
-
 
391
	int n = Q.Rows();
-
 
392
	char jobz='V', uplo='U';
-
 
393
	int info, lwork=6*n;
-
 
394
	b.Resize(n);
-
 
395
	double* work = new double[lwork];
-
 
396
	
-
 
397
	dsyev_(&jobz, &uplo, &n, Q[0], &n, &b[0], work, &lwork, &info);
-
 
398
	return info;
-
 
399
}
383
 
400
 
384
}
401
}