v0.9.0
lapack_wrap.h
Go to the documentation of this file.
1 /* This file is part of MoFEM.
2  * MoFEM is free software: you can redistribute it and/or modify it under
3  * the terms of the GNU Lesser General Public License as published by the
4  * Free Software Foundation, either version 3 of the License, or (at your
5  * option) any later version.
6  *
7  * MoFEM is distributed in the hope that it will be useful, but WITHOUT
8  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
9  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
10  * License for more details.
11  *
12  * You should have received a copy of the GNU Lesser General Public
13  * License along with MoFEM. If not, see <http://www.gnu.org/licenses/>. */
14 
15 // FIXME This is obsolete implementation, need to be rewritten
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #ifndef __lapack__
22 #define __lapack__
23 
24 #define __CLPK_TYPES__
25 #ifdef __CLPK_TYPES__
26 
27 #if defined(__LP64__) /* In LP64 match sizes with the 32 bit ABI */
28 typedef int __CLPK_integer;
29 typedef int __CLPK_logical;
30 typedef float __CLPK_real;
31 typedef double __CLPK_doublereal;
32 typedef __CLPK_logical (*__CLPK_L_fp)();
33 typedef int __CLPK_ftnlen;
34 #else
35 typedef long int __CLPK_integer;
36 typedef long int __CLPK_logical;
37 typedef float __CLPK_real;
38 typedef double __CLPK_doublereal;
40 typedef long int __CLPK_ftnlen;
41 #endif
42 
43 typedef struct {
46 typedef struct {
49 
51  __CLPK_integer *lda, __CLPK_integer *ipiv,
52  __CLPK_integer *info);
53 #ifndef MOAB_dgetrf
56  __CLPK_integer *ipiv, __CLPK_integer *info);
57 #endif // MOAB_dgetrf
61  __CLPK_integer *ldb, __CLPK_integer *info);
65  __CLPK_integer *ldb, __CLPK_integer *info);
66 #ifndef MOAB_dgetri
68  __CLPK_integer *lda, __CLPK_integer *ipiv,
69  __CLPK_doublereal *work, __CLPK_integer *lwork,
70  __CLPK_integer *info);
71 #endif // MOAB_dgetri
73  __CLPK_integer *lda, __CLPK_integer *info);
77  __CLPK_integer *info);
81  __CLPK_integer *info);
86  __CLPK_integer *lwork, __CLPK_integer *info);
88  __CLPK_integer *lda, __CLPK_integer *info);
89 __CLPK_integer dgesvd_(char *jobu, char *jobvt, __CLPK_integer *m,
94  __CLPK_doublereal *work, __CLPK_integer *lwork,
95  __CLPK_integer *info);
96 __CLPK_integer sgesvd_(char *jobu, char *jobvt, __CLPK_integer *m,
97  __CLPK_integer *n, float *a, __CLPK_integer *lda,
98  float *s, float *u, __CLPK_integer *ldu, float *vt,
99  __CLPK_integer *ldvt, float *work, __CLPK_integer *lwork,
100  __CLPK_integer *info);
101 __CLPK_integer dsyev_(char *jobz, char *uplo, __CLPK_integer *n,
104  __CLPK_integer *lwork, __CLPK_integer *info);
105 __CLPK_integer zheev_(char *jobz, char *uplo, __CLPK_integer *n,
108  __CLPK_integer *lwork, __CLPK_doublereal *rwork,
109  __CLPK_integer *info);
110 __CLPK_integer zgeev_(char *jobvl, char *jobvr, __CLPK_integer *n,
115  __CLPK_integer *lwork, __CLPK_doublereal *rwork,
116  __CLPK_integer *info);
120  __CLPK_integer *ldb, __CLPK_doublereal *work,
121  __CLPK_integer *lwork, __CLPK_integer *info);
125  __CLPK_integer *ldb, __CLPK_doublereal *work,
126  __CLPK_integer *lwork, __CLPK_integer *info);
131  __CLPK_integer *ldvt, __CLPK_doublereal *work,
132  __CLPK_integer *lwork, __CLPK_integer *iwork,
133  __CLPK_integer *info);
134 #ifndef MOAB_dsyevd
135 __CLPK_integer dsyevd_(char *jobz, char *uplo, __CLPK_integer *n,
138  __CLPK_integer *lwork, __CLPK_integer *iwork,
139  __CLPK_integer *liwork, __CLPK_integer *info);
140 #endif // MOAB_dsyevd
142  __CLPK_integer *lda, __CLPK_integer *ipiv,
143  __CLPK_doublecomplex *work, __CLPK_integer *lwork,
144  __CLPK_integer *info);
147  __CLPK_integer *ipiv, __CLPK_integer *info);
149  __CLPK_integer *lda, __CLPK_integer *info);
151  __CLPK_integer *lda, __CLPK_integer *info);
152 
153 /// SUBROUTINE DPBTRS( UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO )
157  __CLPK_integer *ldb, __CLPK_integer *info);
158 
159 #endif
160 
162  float *a, __CLPK_integer lda,
163  __CLPK_integer *ipiv) {
164  __CLPK_integer info;
165  sgetrf_(&m, &n, a, &lda, ipiv, &info);
166  return info;
167 }
168 
171  __CLPK_integer lda,
172  __CLPK_integer *ipiv) {
173  __CLPK_integer info;
174  dgetrf_(&m, &n, a, &lda, ipiv, &info);
175  return info;
176 }
177 
178 inline static __CLPK_integer
182  __CLPK_integer info;
183  dgetrs_(&trans, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
184  return info;
185 }
186 
187 inline static __CLPK_integer
190  __CLPK_integer ldb) {
191  __CLPK_integer info;
192  dgesv_(&n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
193  return info;
194 }
195 
196 inline static __CLPK_integer
198  __CLPK_integer *ipiv, __CLPK_doublereal *work,
199  __CLPK_integer lwork) {
200  __CLPK_integer info;
201  dgetri_(&n, a, &lda, ipiv, work, &lwork, &info);
202  return info;
203 }
204 
205 inline static __CLPK_integer lapack_dpotrf(char uplo, __CLPK_integer n,
207  __CLPK_integer lda) {
208  __CLPK_integer info;
209  dpotrf_(&uplo, &n, a, &lda, &info);
210  return info;
211 }
212 
213 inline static __CLPK_integer
216  __CLPK_integer ldb) {
217  __CLPK_integer info;
218  dpotrs_(&uplo, &n, &nrhs, a, &lda, b, &ldb, &info);
219  return info;
220 }
221 
222 inline static __CLPK_integer
225  __CLPK_integer ldb) {
226  __CLPK_integer info;
227  dposv_(&uplo, &n, &nrhs, a, &lda, b, &ldb, &info);
228  return info;
229 }
230 
231 inline static __CLPK_integer
235  __CLPK_integer lwork) {
236  __CLPK_integer info = 0;
237  dsysv_(&uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, work, &lwork, &info);
238  return info;
239 }
240 
241 inline static __CLPK_integer lapack_dpotri(char uplo, __CLPK_integer n,
243  __CLPK_integer lda) {
244  __CLPK_integer info;
245  dpotri_(&uplo, &n, a, &lda, &info);
246  return info;
247 }
248 
249 inline static __CLPK_integer
250 lapack_dgesvd(char jobu, char jobvt, __CLPK_integer m, __CLPK_integer n,
253  __CLPK_integer ldvt, __CLPK_doublereal *work,
254  __CLPK_integer lwork) {
255  __CLPK_integer info;
256  dgesvd_(&jobu, &jobvt, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork,
257  &info);
258  return info;
259 }
260 
261 inline static __CLPK_integer
262 lapack_sgesvd(char jobu, char jobvt, __CLPK_integer m, __CLPK_integer n,
263  float *a, __CLPK_integer lda, float *s, float *u,
264  __CLPK_integer ldu, float *vt, __CLPK_integer ldvt, float *work,
265  __CLPK_integer lwork) {
266  __CLPK_integer info;
267  sgesvd_(&jobu, &jobvt, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork,
268  &info);
269  return info;
270 }
271 
272 inline static __CLPK_integer
273 lapack_dsyev(char jobz, char uplo, __CLPK_integer n, __CLPK_doublereal *a,
275  __CLPK_integer lwork) {
276  __CLPK_integer info;
277  dsyev_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, &info);
278  return info;
279 }
280 inline static __CLPK_integer
284  __CLPK_doublereal *rwork) {
285  __CLPK_integer info;
286  zheev_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, rwork, &info);
287  return info;
288 }
289 
290 inline static __CLPK_integer
291 lapack_zgeev(char jobvl, char jobvr, __CLPK_integer n, __CLPK_doublecomplex *a,
296  __CLPK_doublereal *rwork) {
297  __CLPK_integer info;
298  zgeev_(&jobvl, &jobvr, &n, a, &lda, w, vl, &ldvl, vr, &ldvr, work, &lwork,
299  rwork, &info);
300  return info;
301 }
302 
303 inline static __CLPK_integer
307  __CLPK_integer lwork) {
308  __CLPK_integer info;
309  dgels_(&trans, &m, &n, &nrhs, a, &lda, b, &ldb, work, &lwork, &info);
310  return info;
311 }
312 
313 inline static __CLPK_integer
317  __CLPK_integer ldvt, __CLPK_doublereal *work,
318  __CLPK_integer lwork, __CLPK_integer *iwork) {
319  __CLPK_integer info;
320  dgesdd_(&jobz, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork, iwork,
321  &info);
322  return info;
323 }
324 
325 inline static __CLPK_integer
326 lapack_dsyevd(char jobz, char uplo, __CLPK_integer n, __CLPK_doublereal *a,
328  __CLPK_integer lwork, __CLPK_integer *iwork,
329  __CLPK_integer liwork) {
330  __CLPK_integer info;
331  dsyevd_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, iwork, &liwork, &info);
332  return info;
333 }
334 
337  __CLPK_integer lda,
338  __CLPK_integer *ipiv) {
339  __CLPK_integer info;
340  zgetrf_(&m, &n, a, &lda, ipiv, &info);
341  return info;
342 }
343 
344 inline static __CLPK_integer
347  __CLPK_integer lwork) {
348  __CLPK_integer info;
349  zgetri_(&n, a, &lda, ipiv, work, &lwork, &info);
350  return info;
351 }
352 
353 inline static __CLPK_integer lapack_zpotri(char uplo, __CLPK_integer n,
355  __CLPK_integer lda) {
356  __CLPK_integer info;
357  zpotri_(&uplo, &n, a, &lda, &info);
358  return info;
359 }
360 inline static __CLPK_integer lapack_zpotrf(char uplo, __CLPK_integer n,
362  __CLPK_integer lda) {
363  __CLPK_integer info;
364  zpotrf_(&uplo, &n, a, &lda, &info);
365  return info;
366 }
367 
368 inline static __CLPK_integer
372  __CLPK_integer info;
373  dpbtrs_(&uplo, &n, &kd, &nrhs, ab, &ldab, b, &ldb, &info);
374  return info;
375 }
376 
377 #endif
378 
379 #ifdef __cplusplus
380 }
381 #endif
__CLPK_integer zgetrf_(__CLPK_integer *m, __CLPK_integer *n, __CLPK_doublecomplex *a, __CLPK_integer *lda, __CLPK_integer *ipiv, __CLPK_integer *info)
__CLPK_integer dgelsy_(char *trans, __CLPK_integer *m, __CLPK_integer *n, __CLPK_integer *nrhs, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_doublereal *b, __CLPK_integer *ldb, __CLPK_doublereal *work, __CLPK_integer *lwork, __CLPK_integer *info)
static __CLPK_integer lapack_dgesvd(char jobu, char jobvt, __CLPK_integer m, __CLPK_integer n, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_doublereal *s, __CLPK_doublereal *u, __CLPK_integer ldu, __CLPK_doublereal *vt, __CLPK_integer ldvt, __CLPK_doublereal *work, __CLPK_integer lwork)
Definition: lapack_wrap.h:250
__CLPK_integer sgetrf_(__CLPK_integer *m, __CLPK_integer *n, float *a, __CLPK_integer *lda, __CLPK_integer *ipiv, __CLPK_integer *info)
__CLPK_integer dgesvd_(char *jobu, char *jobvt, __CLPK_integer *m, __CLPK_integer *n, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_doublereal *s, __CLPK_doublereal *u, __CLPK_integer *ldu, __CLPK_doublereal *vt, __CLPK_integer *ldvt, __CLPK_doublereal *work, __CLPK_integer *lwork, __CLPK_integer *info)
static __CLPK_integer lapack_zpotri(char uplo, __CLPK_integer n, __CLPK_doublecomplex *a, __CLPK_integer lda)
Definition: lapack_wrap.h:353
__CLPK_integer dsyev_(char *jobz, char *uplo, __CLPK_integer *n, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_doublereal *w, __CLPK_doublereal *work, __CLPK_integer *lwork, __CLPK_integer *info)
__CLPK_integer dsysv_(char *uplo, __CLPK_integer *n, __CLPK_integer *nrhs, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_integer *ipiv, __CLPK_doublereal *b, __CLPK_integer *ldb, __CLPK_doublereal *work, __CLPK_integer *lwork, __CLPK_integer *info)
__CLPK_integer zpotrf_(char *uplo, __CLPK_integer *n, __CLPK_doublecomplex *a, __CLPK_integer *lda, __CLPK_integer *info)
__CLPK_integer dgels_(char *trans, __CLPK_integer *m, __CLPK_integer *n, __CLPK_integer *nrhs, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_doublereal *b, __CLPK_integer *ldb, __CLPK_doublereal *work, __CLPK_integer *lwork, __CLPK_integer *info)
__CLPK_integer sgesvd_(char *jobu, char *jobvt, __CLPK_integer *m, __CLPK_integer *n, float *a, __CLPK_integer *lda, float *s, float *u, __CLPK_integer *ldu, float *vt, __CLPK_integer *ldvt, float *work, __CLPK_integer *lwork, __CLPK_integer *info)
static __CLPK_integer lapack_sgetrf(__CLPK_integer m, __CLPK_integer n, float *a, __CLPK_integer lda, __CLPK_integer *ipiv)
Definition: lapack_wrap.h:161
__CLPK_integer zgeev_(char *jobvl, char *jobvr, __CLPK_integer *n, __CLPK_doublecomplex *a, __CLPK_integer *lda, __CLPK_doublecomplex *w, __CLPK_doublecomplex *vl, __CLPK_integer *ldvl, __CLPK_doublecomplex *vr, __CLPK_integer *ldvr, __CLPK_doublecomplex *work, __CLPK_integer *lwork, __CLPK_doublereal *rwork, __CLPK_integer *info)
__CLPK_integer dsyevd_(char *jobz, char *uplo, __CLPK_integer *n, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_doublereal *w, __CLPK_doublereal *work, __CLPK_integer *lwork, __CLPK_integer *iwork, __CLPK_integer *liwork, __CLPK_integer *info)
static __CLPK_integer lapack_zgeev(char jobvl, char jobvr, __CLPK_integer n, __CLPK_doublecomplex *a, __CLPK_integer lda, __CLPK_doublecomplex *w, __CLPK_doublecomplex *vl, __CLPK_integer ldvl, __CLPK_doublecomplex *vr, __CLPK_integer ldvr, __CLPK_doublecomplex *work, __CLPK_integer lwork, __CLPK_doublereal *rwork)
Definition: lapack_wrap.h:291
static __CLPK_integer lapack_dsyev(char jobz, char uplo, __CLPK_integer n, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_doublereal *w, __CLPK_doublereal *work, __CLPK_integer lwork)
Definition: lapack_wrap.h:273
__CLPK_integer dpotri_(char *uplo, __CLPK_integer *n, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_integer *info)
__CLPK_real r
Definition: lapack_wrap.h:44
long int __CLPK_logical
Definition: lapack_wrap.h:36
__CLPK_integer dpotrf_(char *uplo, __CLPK_integer *n, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_integer *info)
__CLPK_integer dpotrs_(char *uplo, __CLPK_integer *n, __CLPK_integer *nrhs, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_doublereal *b, __CLPK_integer *ldb, __CLPK_integer *info)
static __CLPK_integer lapack_dposv(char uplo, __CLPK_integer n, __CLPK_integer nrhs, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_doublereal *b, __CLPK_integer ldb)
Definition: lapack_wrap.h:223
__CLPK_integer dposv_(char *uplo, __CLPK_integer *n, __CLPK_integer *nrhs, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_doublereal *b, __CLPK_integer *ldb, __CLPK_integer *info)
static __CLPK_integer lapack_dgels(char trans, __CLPK_integer m, __CLPK_integer n, __CLPK_integer nrhs, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_doublereal *b, __CLPK_integer ldb, __CLPK_doublereal *work, __CLPK_integer lwork)
Definition: lapack_wrap.h:304
__CLPK_integer dgetrf_(__CLPK_integer *m, __CLPK_integer *n, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_integer *ipiv, __CLPK_integer *info)
__CLPK_integer zgetri_(__CLPK_integer *n, __CLPK_doublecomplex *a, __CLPK_integer *lda, __CLPK_integer *ipiv, __CLPK_doublecomplex *work, __CLPK_integer *lwork, __CLPK_integer *info)
__CLPK_integer zpotri_(char *uplo, __CLPK_integer *n, __CLPK_doublecomplex *a, __CLPK_integer *lda, __CLPK_integer *info)
long int __CLPK_ftnlen
Definition: lapack_wrap.h:40
__CLPK_integer dpbtrs_(char *uplo, __CLPK_integer *n, __CLPK_integer *kd, __CLPK_integer *nrhs, __CLPK_doublereal *ab, __CLPK_integer *ldab, __CLPK_doublereal *b, __CLPK_integer *ldb, __CLPK_integer *info)
SUBROUTINE DPBTRS( UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO )
static __CLPK_integer lapack_zheev(char jobz, char uplo, __CLPK_integer n, __CLPK_doublecomplex *a, __CLPK_integer lda, __CLPK_doublereal *w, __CLPK_doublecomplex *work, __CLPK_integer lwork, __CLPK_doublereal *rwork)
Definition: lapack_wrap.h:281
static __CLPK_integer lapack_dsyevd(char jobz, char uplo, __CLPK_integer n, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_doublereal *w, __CLPK_doublereal *work, __CLPK_integer lwork, __CLPK_integer *iwork, __CLPK_integer liwork)
Definition: lapack_wrap.h:326
__CLPK_integer dgesv_(__CLPK_integer *n, __CLPK_integer *nrhs, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_integer *ipiv, __CLPK_doublereal *b, __CLPK_integer *ldb, __CLPK_integer *info)
static __CLPK_integer lapack_dgetri(__CLPK_integer n, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_integer *ipiv, __CLPK_doublereal *work, __CLPK_integer lwork)
Definition: lapack_wrap.h:197
__CLPK_integer dgetrs_(char *trans, __CLPK_integer *n, __CLPK_integer *nrhs, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_integer *ipiv, __CLPK_doublereal *b, __CLPK_integer *ldb, __CLPK_integer *info)
__CLPK_integer zheev_(char *jobz, char *uplo, __CLPK_integer *n, __CLPK_doublecomplex *a, __CLPK_integer *lda, __CLPK_doublereal *w, __CLPK_doublecomplex *work, __CLPK_integer *lwork, __CLPK_doublereal *rwork, __CLPK_integer *info)
__CLPK_doublereal r
Definition: lapack_wrap.h:47
__CLPK_logical(* __CLPK_L_fp)()
Definition: lapack_wrap.h:39
static __CLPK_integer lapack_dpbtrs(char uplo, __CLPK_integer n, __CLPK_integer kd, __CLPK_integer nrhs, __CLPK_doublereal *ab, __CLPK_integer ldab, __CLPK_doublereal *b, __CLPK_integer ldb)
Definition: lapack_wrap.h:369
static __CLPK_integer lapack_zgetrf(__CLPK_integer m, __CLPK_integer n, __CLPK_doublecomplex *a, __CLPK_integer lda, __CLPK_integer *ipiv)
Definition: lapack_wrap.h:335
static __CLPK_integer lapack_zpotrf(char uplo, __CLPK_integer n, __CLPK_doublecomplex *a, __CLPK_integer lda)
Definition: lapack_wrap.h:360
static __CLPK_integer lapack_dgesdd(char jobz, __CLPK_integer m, __CLPK_integer n, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_doublereal *s, __CLPK_doublereal *u, __CLPK_integer ldu, __CLPK_doublereal *vt, __CLPK_integer ldvt, __CLPK_doublereal *work, __CLPK_integer lwork, __CLPK_integer *iwork)
Definition: lapack_wrap.h:314
__CLPK_integer dgetri_(__CLPK_integer *n, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_integer *ipiv, __CLPK_doublereal *work, __CLPK_integer *lwork, __CLPK_integer *info)
static __CLPK_integer lapack_dgetrs(char trans, __CLPK_integer n, __CLPK_integer nrhs, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_integer *ipiv, __CLPK_doublereal *b, __CLPK_integer ldb)
Definition: lapack_wrap.h:179
static __CLPK_integer lapack_sgesvd(char jobu, char jobvt, __CLPK_integer m, __CLPK_integer n, float *a, __CLPK_integer lda, float *s, float *u, __CLPK_integer ldu, float *vt, __CLPK_integer ldvt, float *work, __CLPK_integer lwork)
Definition: lapack_wrap.h:262
static __CLPK_integer lapack_dgetrf(__CLPK_integer m, __CLPK_integer n, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_integer *ipiv)
Definition: lapack_wrap.h:169
static __CLPK_integer lapack_dsysv(char uplo, __CLPK_integer n, __CLPK_integer nrhs, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_integer *ipiv, __CLPK_doublereal *b, __CLPK_integer ldb, __CLPK_doublereal *work, __CLPK_integer lwork)
Definition: lapack_wrap.h:232
static __CLPK_integer lapack_dpotri(char uplo, __CLPK_integer n, __CLPK_doublereal *a, __CLPK_integer lda)
Definition: lapack_wrap.h:241
static __CLPK_integer lapack_dpotrf(char uplo, __CLPK_integer n, __CLPK_doublereal *a, __CLPK_integer lda)
Definition: lapack_wrap.h:205
double __CLPK_doublereal
Definition: lapack_wrap.h:38
static __CLPK_integer lapack_zgetri(__CLPK_integer n, __CLPK_doublecomplex *a, __CLPK_integer lda, __CLPK_integer *ipiv, __CLPK_doublecomplex *work, __CLPK_integer lwork)
Definition: lapack_wrap.h:345
__CLPK_integer dgesdd_(char *jobz, __CLPK_integer *m, __CLPK_integer *n, __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_doublereal *s, __CLPK_doublereal *u, __CLPK_integer *ldu, __CLPK_doublereal *vt, __CLPK_integer *ldvt, __CLPK_doublereal *work, __CLPK_integer *lwork, __CLPK_integer *iwork, __CLPK_integer *info)
static __CLPK_integer lapack_dgesv(__CLPK_integer n, __CLPK_integer nrhs, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_integer *ipiv, __CLPK_doublereal *b, __CLPK_integer ldb)
Definition: lapack_wrap.h:188
static __CLPK_integer lapack_dpotrs(char uplo, __CLPK_integer n, __CLPK_integer nrhs, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_doublereal *b, __CLPK_integer ldb)
Definition: lapack_wrap.h:214
float __CLPK_real
Definition: lapack_wrap.h:37
long int __CLPK_integer
Definition: lapack_wrap.h:35