20#ifndef OPM_BLAS_LAPACK_HEADER_INCLUDED
21#define OPM_BLAS_LAPACK_HEADER_INCLUDED
27#if defined(MATLAB_MEX_FILE) && MATLAB_MEX_FILE
30#define MAT_SIZE_T mwSignedIndex
39void dgemm_(
const char *transA ,
const char *transB ,
40 const MAT_SIZE_T* m,
const MAT_SIZE_T* n ,
const MAT_SIZE_T* k ,
41 const double* a1,
const double* A ,
const MAT_SIZE_T* ldA,
42 const double* B,
const MAT_SIZE_T* ldB,
43 const double* a2,
double* C ,
const MAT_SIZE_T* ldC);
47void dsyrk_(
const char *uplo,
const char *trans,
48 const MAT_SIZE_T *n ,
const MAT_SIZE_T *k ,
49 const double *a1 ,
const double *A ,
const MAT_SIZE_T *ldA,
50 const double *a2 ,
double *C ,
const MAT_SIZE_T *ldC);
53void dgeqrf_(
const MAT_SIZE_T *m ,
const MAT_SIZE_T *n ,
54 double *A ,
const MAT_SIZE_T *ld ,
55 double *tau ,
double *work,
56 const MAT_SIZE_T *lwork, MAT_SIZE_T *info);
59void dorgqr_(
const MAT_SIZE_T *m ,
const MAT_SIZE_T *n ,
const MAT_SIZE_T *k ,
60 double *A ,
const MAT_SIZE_T *ld ,
const double *tau,
61 double *work,
const MAT_SIZE_T *lwork, MAT_SIZE_T *info);
64void dgetrf_(
const MAT_SIZE_T *m ,
const MAT_SIZE_T *n ,
65 double *A ,
const MAT_SIZE_T *ld,
66 MAT_SIZE_T *ipiv, MAT_SIZE_T *info);
69void dgetrs_(
const char *trans,
const MAT_SIZE_T *n,
70 const MAT_SIZE_T *nrhs ,
71 const double *A ,
const MAT_SIZE_T *lda,
72 const MAT_SIZE_T *ipiv ,
double *B,
73 const MAT_SIZE_T *ldb , MAT_SIZE_T *info);
76void dgtsv_(
const MAT_SIZE_T *n ,
77 const MAT_SIZE_T *nrhs ,
82 const MAT_SIZE_T *ldb ,
86void dgbsv_(
const MAT_SIZE_T *n ,
87 const MAT_SIZE_T *kl ,
88 const MAT_SIZE_T *ku ,
89 const MAT_SIZE_T *nrhs ,
91 const MAT_SIZE_T *ldab ,
94 const MAT_SIZE_T *ldb ,
98void dgesv_(
const MAT_SIZE_T *n,
99 const MAT_SIZE_T *nrhs ,
101 const MAT_SIZE_T *lda ,
104 const MAT_SIZE_T *ldb ,
108void dpotrf_(
const char *uplo,
const MAT_SIZE_T *n,
109 double *A ,
const MAT_SIZE_T *lda,
113void dpotrs_(
const char *uplo,
const MAT_SIZE_T *n ,
const MAT_SIZE_T *nrhs,
114 double *A ,
const MAT_SIZE_T *lda,
115 double *B ,
const MAT_SIZE_T *ldb, MAT_SIZE_T *info);
118void dpptrf_(
const char *uplo,
const MAT_SIZE_T *n,
119 double *Ap , MAT_SIZE_T *info);
122void dpptri_(
const char *uplo,
const MAT_SIZE_T *n,
123 double *Ap , MAT_SIZE_T *info);
126void dgemv_(
const char *trans,
127 const MAT_SIZE_T *m ,
const MAT_SIZE_T *n,
128 const double *a1 ,
const double *A,
const MAT_SIZE_T *ldA ,
129 const double *x,
const MAT_SIZE_T *incX,
130 const double *a2 ,
double *y,
const MAT_SIZE_T *incY);
134void daxpy_(
const MAT_SIZE_T *n,
const double *a,
135 const double *x,
const MAT_SIZE_T *incx,
136 double *y,
const MAT_SIZE_T *incy);
139double ddot_(
const MAT_SIZE_T *n,
const double *x,
const MAT_SIZE_T *incx,
140 const double *y,
const MAT_SIZE_T *incy);