CheMPS2
Lapack.h
1 /*
2  CheMPS2: a spin-adapted implementation of DMRG for ab initio quantum chemistry
3  Copyright (C) 2013-2016 Sebastian Wouters
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License along
16  with this program; if not, write to the Free Software Foundation, Inc.,
17  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 
20 #ifndef LAPACK_CHEMPS2_H
21 #define LAPACK_CHEMPS2_H
22 
23 extern "C" {
24 
25  void dgeqrf_(int *m,int *n,double *A,int *LDA,double *tau,double *WORK,int *LWORK,int *INFO);
26  void dorgqr_(int *m,int *n, int *k,double *A,int *LDA,double *tau,double *WORK,int *LWORK,int *INFO);
27  void dgelqf_(int *m,int *n,double *A,int *LDA,double *tau,double *WORK,int *LWORK,int *INFO);
28  void dorglq_(int *m,int *n, int *k,double *A,int *LDA,double *tau,double *WORK,int *LWORK,int *INFO);
29  void dcopy_(int *n,double *x,int *incx,double *y,int *incy);
30  void daxpy_(int *n,double *alpha,double *x,int *incx,double *y,int *incy);
31  void dscal_(int *n,double *alpha,double *x,int *incx);
32  void dgemm_(char *transA,char *transB,int *m,int *n,int *k,double *alpha,double *A,int *lda,double *B,int *ldb,double *beta,double *C,int *ldc);
33  void dgemv_(char *trans, int *m, int *n, double *alpha, double *A, int *lda, double *X, int *incx, double *beta, double *Y, int *incy);
34  double ddot_(int *n,double *x,int *incx,double *y,int *incy);
35  void dsyev_(char *jobz,char *uplo,int *n,double *A,int *lda,double *W,double *work,int *lwork,int *info);
36  void dgesdd_(char* JOBZ, int* M, int* N, double* A, int* LDA, double* S, double* U, int* LDU, double* VT, int* LDVT, double* WORK, int* LWORK, int* IWORK, int* INFO);
37  void dlasrt_(char* id, int* n, double* vec, int* info);
38  double dlansy_(char * norm, char * uplo, int * dimR, double * mx, int * lda, double * work);
39  double dlange_(char * norm, int * m, int * n, double * mx, int * lda, double * work);
40 
41 }
42 #endif