10#include <uni20/config.hpp>
19 void sgesv_(blas_int
const* n, blas_int
const* nrhs,
float* a, blas_int
const* lda, blas_int* ipiv,
float* b,
20 blas_int
const* ldb, blas_int* info);
22 void dgesv_(blas_int
const* n, blas_int
const* nrhs,
double* a, blas_int
const* lda, blas_int* ipiv,
double* b,
23 blas_int
const* ldb, blas_int* info);
25 void cgesv_(blas_int
const* n, blas_int
const* nrhs,
uni20::complex<float>* a, blas_int
const* lda, blas_int* ipiv,
28 void zgesv_(blas_int
const* n, blas_int
const* nrhs,
uni20::complex<double>* a, blas_int
const* lda, blas_int* ipiv,
31 void sgesvx_(
char const* fact,
char const* trans, blas_int
const* n, blas_int
const* nrhs,
float* a,
32 blas_int
const* lda,
float* af, blas_int
const* ldaf, blas_int* ipiv,
char* equed,
float* r,
float*
c,
33 float* b, blas_int
const* ldb,
float* x, blas_int
const* ldx,
float* rcond,
float* ferr,
float* berr,
34 float* work, blas_int* iwork, blas_int* info);
36 void dgesvx_(
char const* fact,
char const* trans, blas_int
const* n, blas_int
const* nrhs,
double* a,
37 blas_int
const* lda,
double* af, blas_int
const* ldaf, blas_int* ipiv,
char* equed,
double* r,
double*
c,
38 double* b, blas_int
const* ldb,
double* x, blas_int
const* ldx,
double* rcond,
double* ferr,
39 double* berr,
double* work, blas_int* iwork, blas_int* info);
41 void sgeequ_(blas_int
const* m, blas_int
const* n,
float* a, blas_int
const* lda,
float* r,
float*
c,
float* rowcnd,
42 float* colcnd,
float* amax, blas_int* info);
44 void dgeequ_(blas_int
const* m, blas_int
const* n,
double* a, blas_int
const* lda,
double* r,
double*
c,
45 double* rowcnd,
double* colcnd,
double* amax, blas_int* info);
47 void sgetrf_(blas_int
const* m, blas_int
const* n,
float* a, blas_int
const* lda, blas_int* ipiv, blas_int* info);
49 void dgetrf_(blas_int
const* m, blas_int
const* n,
double* a, blas_int
const* lda, blas_int* ipiv, blas_int* info);
51 void cgetrf_(blas_int
const* m, blas_int
const* n,
uni20::complex<float>* a, blas_int
const* lda, blas_int* ipiv,
54 void zgetrf_(blas_int
const* m, blas_int
const* n,
uni20::complex<double>* a, blas_int
const* lda, blas_int* ipiv,
57 void sgetrs_(
char const* trans, blas_int
const* n, blas_int
const* nrhs,
float* a, blas_int
const* lda,
58 blas_int
const* ipiv,
float* b, blas_int
const* ldb, blas_int* info);
60 void dgetrs_(
char const* trans, blas_int
const* n, blas_int
const* nrhs,
double* a, blas_int
const* lda,
61 blas_int
const* ipiv,
double* b, blas_int
const* ldb, blas_int* info);
71 void sgerfs_(
char const* trans, blas_int
const* n, blas_int
const* nrhs,
float* a, blas_int
const* lda,
float* af,
72 blas_int
const* ldaf, blas_int
const* ipiv,
float* b, blas_int
const* ldb,
float* x, blas_int
const* ldx,
73 float* ferr,
float* berr,
float* work, blas_int* iwork, blas_int* info);
75 void dgerfs_(
char const* trans, blas_int
const* n, blas_int
const* nrhs,
double* a, blas_int
const* lda,
double* af,
76 blas_int
const* ldaf, blas_int
const* ipiv,
double* b, blas_int
const* ldb,
double* x,
77 blas_int
const* ldx,
double* ferr,
double* berr,
double* work, blas_int* iwork, blas_int* info);
79 void sgetri_(blas_int
const* n,
float* a, blas_int
const* lda, blas_int* ipiv,
float* work, blas_int
const* lwork,
82 void dgetri_(blas_int
const* n,
double* a, blas_int
const* lda, blas_int* ipiv,
double* work, blas_int
const* lwork,
91 void sgecon_(
char const*
norm, blas_int
const* n,
float const* a, blas_int
const* lda,
float const* anorm,
92 float* rcond,
float* work, blas_int* iwork, blas_int* info);
94 void dgecon_(
char const*
norm, blas_int
const* n,
double const* a, blas_int
const* lda,
double const* anorm,
95 double* rcond,
double* work, blas_int* iwork, blas_int* info);
103 void sgels_(
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* nrhs,
float* a,
104 blas_int
const* lda,
float* b, blas_int
const* ldb,
float* work, blas_int
const* lwork, blas_int* info);
106 void dgels_(
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* nrhs,
double* a,
107 blas_int
const* lda,
double* b, blas_int
const* ldb,
double* work, blas_int
const* lwork, blas_int* info);
117 void sgelss_(blas_int
const* m, blas_int
const* n, blas_int
const* nrhs,
float* a, blas_int
const* lda,
float* b,
118 blas_int
const* ldb,
float* s,
float const* rcond, blas_int* rank,
float* work, blas_int
const* lwork,
121 void dgelss_(blas_int
const* m, blas_int
const* n, blas_int
const* nrhs,
double* a, blas_int
const* lda,
double* b,
122 blas_int
const* ldb,
double* s,
double const* rcond, blas_int* rank,
double* work, blas_int
const* lwork,
125 void sgelsd_(blas_int
const* m, blas_int
const* n, blas_int
const* nrhs,
float* a, blas_int
const* lda,
float* b,
126 blas_int
const* ldb,
float* s,
float const* rcond, blas_int* rank,
float* work, blas_int
const* lwork,
127 blas_int* iwork, blas_int* info);
129 void dgelsd_(blas_int
const* m, blas_int
const* n, blas_int
const* nrhs,
double* a, blas_int
const* lda,
double* b,
130 blas_int
const* ldb,
double* s,
double const* rcond, blas_int* rank,
double* work, blas_int
const* lwork,
131 blas_int* iwork, blas_int* info);
133 void sgelsy_(blas_int
const* m, blas_int
const* n, blas_int
const* nrhs,
float* a, blas_int
const* lda,
float* b,
134 blas_int
const* ldb, blas_int* jpvt,
float const* rcond, blas_int* rank,
float* work,
135 blas_int
const* lwork, blas_int* info);
137 void dgelsy_(blas_int
const* m, blas_int
const* n, blas_int
const* nrhs,
double* a, blas_int
const* lda,
double* b,
138 blas_int
const* ldb, blas_int* jpvt,
double const* rcond, blas_int* rank,
double* work,
139 blas_int
const* lwork, blas_int* info);
141 void sgeqrf_(blas_int
const* m, blas_int
const* n,
float* a, blas_int
const* lda,
float* tau,
float* work,
142 blas_int
const* lwork, blas_int* info);
144 void dgeqrf_(blas_int
const* m, blas_int
const* n,
double* a, blas_int
const* lda,
double* tau,
double* work,
145 blas_int
const* lwork, blas_int* info);
153 void sgelqf_(blas_int
const* m, blas_int
const* n,
float* a, blas_int
const* lda,
float* tau,
float* work,
154 blas_int
const* lwork, blas_int* info);
156 void dgelqf_(blas_int
const* m, blas_int
const* n,
double* a, blas_int
const* lda,
double* tau,
double* work,
157 blas_int
const* lwork, blas_int* info);
165 void sgeqlf_(blas_int
const* m, blas_int
const* n,
float* a, blas_int
const* lda,
float* tau,
float* work,
166 blas_int
const* lwork, blas_int* info);
168 void dgeqlf_(blas_int
const* m, blas_int
const* n,
double* a, blas_int
const* lda,
double* tau,
double* work,
169 blas_int
const* lwork, blas_int* info);
171 void sgerqf_(blas_int
const* m, blas_int
const* n,
float* a, blas_int
const* lda,
float* tau,
float* work,
172 blas_int
const* lwork, blas_int* info);
174 void dgerqf_(blas_int
const* m, blas_int
const* n,
double* a, blas_int
const* lda,
double* tau,
double* work,
175 blas_int
const* lwork, blas_int* info);
177 void sorgqr_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
float* a, blas_int
const* lda,
float* tau,
178 float* work, blas_int
const* lwork, blas_int* info);
180 void dorgqr_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
double* a, blas_int
const* lda,
double* tau,
181 double* work, blas_int
const* lwork, blas_int* info);
183 void zungqr_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
uni20::complex<double>* a, blas_int
const* lda,
186 void cungqr_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
uni20::complex<float>* a, blas_int
const* lda,
189 void sorglq_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
float* a, blas_int
const* lda,
float* tau,
190 float* work, blas_int
const* lwork, blas_int* info);
192 void dorglq_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
double* a, blas_int
const* lda,
double* tau,
193 double* work, blas_int
const* lwork, blas_int* info);
195 void zunglq_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
uni20::complex<double>* a, blas_int
const* lda,
198 void cunglq_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
uni20::complex<float>* a, blas_int
const* lda,
201 void sorgql_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
float* a, blas_int
const* lda,
float* tau,
202 float* work, blas_int
const* lwork, blas_int* info);
204 void dorgql_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
double* a, blas_int
const* lda,
double* tau,
205 double* work, blas_int
const* lwork, blas_int* info);
207 void sorgrq_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
float* a, blas_int
const* lda,
float* tau,
208 float* work, blas_int
const* lwork, blas_int* info);
210 void dorgrq_(blas_int
const* m, blas_int
const* n, blas_int
const* k,
double* a, blas_int
const* lda,
double* tau,
211 double* work, blas_int
const* lwork, blas_int* info);
213 void sormqr_(
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* k,
float* a,
214 blas_int
const* lda,
float* tau,
float*
c, blas_int
const* ldc,
float* work, blas_int
const* lwork,
217 void dormqr_(
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* k,
double* a,
218 blas_int
const* lda,
double* tau,
double*
c, blas_int
const* ldc,
double* work, blas_int
const* lwork,
221 void sormlq_(
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* k,
float* a,
222 blas_int
const* lda,
float* tau,
float*
c, blas_int
const* ldc,
float* work, blas_int
const* lwork,
225 void dormlq_(
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* k,
double* a,
226 blas_int
const* lda,
double* tau,
double*
c, blas_int
const* ldc,
double* work, blas_int
const* lwork,
229 void sormql_(
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* k,
float* a,
230 blas_int
const* lda,
float* tau,
float*
c, blas_int
const* ldc,
float* work, blas_int
const* lwork,
233 void dormql_(
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* k,
double* a,
234 blas_int
const* lda,
double* tau,
double*
c, blas_int
const* ldc,
double* work, blas_int
const* lwork,
237 void sormrq_(
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* k,
float* a,
238 blas_int
const* lda,
float* tau,
float*
c, blas_int
const* ldc,
float* work, blas_int
const* lwork,
241 void dormrq_(
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* k,
double* a,
242 blas_int
const* lda,
double* tau,
double*
c, blas_int
const* ldc,
double* work, blas_int
const* lwork,
245 void sgebrd_(blas_int
const* m, blas_int
const* n,
float* a, blas_int
const* lda,
float* d,
float* e,
float* tauq,
246 float* taup,
float* work, blas_int
const* lwork, blas_int* info);
248 void dgebrd_(blas_int
const* m, blas_int
const* n,
double* a, blas_int
const* lda,
double* d,
double* e,
double* tauq,
249 double* taup,
double* work, blas_int
const* lwork, blas_int* info);
251 void sgehrd_(blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
float* a, blas_int
const* lda,
float* tau,
252 float* work, blas_int
const* lwork, blas_int* info);
254 void dgehrd_(blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
double* a, blas_int
const* lda,
double* tau,
255 double* work, blas_int
const* lwork, blas_int* info);
257 void sgeqp3_(blas_int
const* m, blas_int
const* n,
float* a, blas_int
const* lda, blas_int* jpvt,
float* tau,
258 float* work, blas_int
const* lwork, blas_int* info);
260 void dgeqp3_(blas_int
const* m, blas_int
const* n,
double* a, blas_int
const* lda, blas_int* jpvt,
double* tau,
261 double* work, blas_int
const* lwork, blas_int* info);
263 void ssytrd_(
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda,
float* d,
float* e,
float* tau,
264 float* work, blas_int
const* lwork, blas_int* info);
266 void dsytrd_(
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda,
double* d,
double* e,
double* tau,
267 double* work, blas_int
const* lwork, blas_int* info);
269 void ssyev_(
char const* jobz,
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda,
float* w,
270 float* work, blas_int
const* lwork, blas_int* info);
272 void dsyev_(
char const* jobz,
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda,
double* w,
273 double* work, blas_int
const* lwork, blas_int* info);
275 void ssyevd_(
char const* jobz,
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda,
float* w,
276 float* work, blas_int
const* lwork, blas_int* iwork, blas_int
const* liwork, blas_int* info);
278 void dsyevd_(
char const* jobz,
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda,
double* w,
279 double* work, blas_int
const* lwork, blas_int* iwork, blas_int
const* liwork, blas_int* info);
281 void ssyevr_(
char const* jobz,
char const* range,
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda,
282 float const* vl,
float const* vu, blas_int
const* il, blas_int
const* iu,
float const* abstol,
283 blas_int* m,
float* w,
float* z, blas_int
const* ldz, blas_int* isuppz,
float* work,
284 blas_int
const* lwork, blas_int* iwork, blas_int
const* liwork, blas_int* info);
286 void dsyevr_(
char const* jobz,
char const* range,
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda,
287 double const* vl,
double const* vu, blas_int
const* il, blas_int
const* iu,
double const* abstol,
288 blas_int* m,
double* w,
double* z, blas_int
const* ldz, blas_int* isuppz,
double* work,
289 blas_int
const* lwork, blas_int* iwork, blas_int
const* liwork, blas_int* info);
291 void ssygv_(blas_int
const* itype,
char const* jobz,
char const* uplo, blas_int
const* n,
float* a,
292 blas_int
const* lda,
float* b, blas_int
const* ldb,
float* w,
float* work, blas_int
const* lwork,
295 void dsygv_(blas_int
const* itype,
char const* jobz,
char const* uplo, blas_int
const* n,
double* a,
296 blas_int
const* lda,
double* b, blas_int
const* ldb,
double* w,
double* work, blas_int
const* lwork,
299 void ssygvd_(blas_int
const* itype,
char const* jobz,
char const* uplo, blas_int
const* n,
float* a,
300 blas_int
const* lda,
float* b, blas_int
const* ldb,
float* w,
float* work, blas_int
const* lwork,
301 blas_int* iwork, blas_int
const* liwork, blas_int* info);
303 void dsygvd_(blas_int
const* itype,
char const* jobz,
char const* uplo, blas_int
const* n,
double* a,
304 blas_int
const* lda,
double* b, blas_int
const* ldb,
double* w,
double* work, blas_int
const* lwork,
305 blas_int* iwork, blas_int
const* liwork, blas_int* info);
307 void ssygvx_(blas_int
const* itype,
char const* jobz,
char const* range,
char const* uplo, blas_int
const* n,
308 float* a, blas_int
const* lda,
float* b, blas_int
const* ldb,
float const* vl,
float const* vu,
309 blas_int
const* il, blas_int
const* iu,
float const* abstol, blas_int* m,
float* w,
float* z,
310 blas_int
const* ldz,
float* work, blas_int
const* lwork, blas_int* iwork, blas_int* ifail,
313 void dsygvx_(blas_int
const* itype,
char const* jobz,
char const* range,
char const* uplo, blas_int
const* n,
314 double* a, blas_int
const* lda,
double* b, blas_int
const* ldb,
double const* vl,
double const* vu,
315 blas_int
const* il, blas_int
const* iu,
double const* abstol, blas_int* m,
double* w,
double* z,
316 blas_int
const* ldz,
double* work, blas_int
const* lwork, blas_int* iwork, blas_int* ifail,
319 void cheev_(
char const* jobz,
char const* uplo, blas_int
const* n,
uni20::complex<float>* a, blas_int
const* lda,
322 void zheev_(
char const* jobz,
char const* uplo, blas_int
const* n,
uni20::complex<double>* a, blas_int
const* lda,
325 void cheevd_(
char const* jobz,
char const* uplo, blas_int
const* n,
uni20::complex<float>* a, blas_int
const* lda,
327 blas_int* iwork, blas_int
const* liwork, blas_int* info);
329 void zheevd_(
char const* jobz,
char const* uplo, blas_int
const* n,
uni20::complex<double>* a, blas_int
const* lda,
331 blas_int* iwork, blas_int
const* liwork, blas_int* info);
333 void cheevr_(
char const* jobz,
char const* range,
char const* uplo, blas_int
const* n,
uni20::complex<float>* a,
334 blas_int
const* lda,
float const* vl,
float const* vu, blas_int
const* il, blas_int
const* iu,
337 blas_int
const* lrwork, blas_int* iwork, blas_int
const* liwork, blas_int* info);
339 void zheevr_(
char const* jobz,
char const* range,
char const* uplo, blas_int
const* n,
uni20::complex<double>* a,
340 blas_int
const* lda,
double const* vl,
double const* vu, blas_int
const* il, blas_int
const* iu,
343 blas_int
const* lrwork, blas_int* iwork, blas_int
const* liwork, blas_int* info);
345 void chegv_(blas_int
const* itype,
char const* jobz,
char const* uplo, blas_int
const* n,
uni20::complex<float>* a,
347 blas_int
const* lwork,
float* rwork, blas_int* info);
349 void zhegv_(blas_int
const* itype,
char const* jobz,
char const* uplo, blas_int
const* n,
uni20::complex<double>* a,
353 void chegvd_(blas_int
const* itype,
char const* jobz,
char const* uplo, blas_int
const* n,
uni20::complex<float>* a,
356 blas_int* iwork, blas_int
const* liwork, blas_int* info);
358 void zhegvd_(blas_int
const* itype,
char const* jobz,
char const* uplo, blas_int
const* n,
uni20::complex<double>* a,
361 blas_int* iwork, blas_int
const* liwork, blas_int* info);
363 void chegvx_(blas_int
const* itype,
char const* jobz,
char const* range,
char const* uplo, blas_int
const* n,
365 float const* vl,
float const* vu, blas_int
const* il, blas_int
const* iu,
float const* abstol,
367 blas_int
const* lwork,
float* rwork, blas_int* iwork, blas_int* ifail, blas_int* info);
369 void zhegvx_(blas_int
const* itype,
char const* jobz,
char const* range,
char const* uplo, blas_int
const* n,
371 double const* vl,
double const* vu, blas_int
const* il, blas_int
const* iu,
double const* abstol,
373 blas_int
const* lwork,
double* rwork, blas_int* iwork, blas_int* ifail, blas_int* info);
375 void sgeev_(
char const* jobvl,
char const* jobvr, blas_int
const* n,
float* a, blas_int
const* lda,
float* wr,
376 float* wi,
float* vl, blas_int
const* ldvl,
float* vr, blas_int
const* ldvr,
float* work,
377 blas_int
const* lwork, blas_int* info);
379 void dgeev_(
char const* jobvl,
char const* jobvr, blas_int
const* n,
double* a, blas_int
const* lda,
double* wr,
380 double* wi,
double* vl, blas_int
const* ldvl,
double* vr, blas_int
const* ldvr,
double* work,
381 blas_int
const* lwork, blas_int* info);
383 void sgeevx_(
char const* balanc,
char const* jobvl,
char const* jobvr,
char const* sense, blas_int
const* n,
float* a,
384 blas_int
const* lda,
float* wr,
float* wi,
float* vl, blas_int
const* ldvl,
float* vr,
385 blas_int
const* ldvr, blas_int* ilo, blas_int* ihi,
float*
scale,
float* abnrm,
float* rconde,
386 float* rcondv,
float* work, blas_int
const* lwork, blas_int* iwork, blas_int* info);
388 void dgeevx_(
char const* balanc,
char const* jobvl,
char const* jobvr,
char const* sense, blas_int
const* n,
389 double* a, blas_int
const* lda,
double* wr,
double* wi,
double* vl, blas_int
const* ldvl,
double* vr,
390 blas_int
const* ldvr, blas_int* ilo, blas_int* ihi,
double*
scale,
double* abnrm,
double* rconde,
391 double* rcondv,
double* work, blas_int
const* lwork, blas_int* iwork, blas_int* info);
393 void sgebal_(
char const* job, blas_int
const* n,
float* a, blas_int
const* lda, blas_int* ilo, blas_int* ihi,
394 float*
scale, blas_int* info);
396 void dgebal_(
char const* job, blas_int
const* n,
double* a, blas_int
const* lda, blas_int* ilo, blas_int* ihi,
397 double*
scale, blas_int* info);
399 void sgebak_(
char const* job,
char const* side, blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
400 float*
scale, blas_int
const* m,
float* v, blas_int
const* ldv, blas_int* info);
402 void dgebak_(
char const* job,
char const* side, blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
403 double*
scale, blas_int
const* m,
double* v, blas_int
const* ldv, blas_int* info);
405 void cgeev_(
char const* jobvl,
char const* jobvr, blas_int
const* n,
uni20::complex<float>* a, blas_int
const* lda,
407 blas_int
const* ldvr,
uni20::complex<float>* work, blas_int
const* lwork,
float* rwork, blas_int* info);
409 void zgeev_(
char const* jobvl,
char const* jobvr, blas_int
const* n,
uni20::complex<double>* a, blas_int
const* lda,
411 blas_int
const* ldvr,
uni20::complex<double>* work, blas_int
const* lwork,
double* rwork, blas_int* info);
413 void sgees_(
char const* jobvs,
char const* sort,
void* select, blas_int
const* n,
float* a, blas_int
const* lda,
414 blas_int* sdim,
float* wr,
float* wi,
float* vs, blas_int
const* ldvs,
float* work, blas_int
const* lwork,
415 blas_int* bwork, blas_int* info);
417 void dgees_(
char const* jobvs,
char const* sort,
void* select, blas_int
const* n,
double* a, blas_int
const* lda,
418 blas_int* sdim,
double* wr,
double* wi,
double* vs, blas_int
const* ldvs,
double* work,
419 blas_int
const* lwork, blas_int* bwork, blas_int* info);
421 void cgees_(
char const* jobvs,
char const* sort,
void* select, blas_int
const* n,
uni20::complex<float>* a,
423 blas_int
const* ldvs,
uni20::complex<float>* work, blas_int
const* lwork,
float* rwork, blas_int* bwork,
426 void zgees_(
char const* jobvs,
char const* sort,
void* select, blas_int
const* n,
uni20::complex<double>* a,
428 blas_int
const* ldvs,
uni20::complex<double>* work, blas_int
const* lwork,
double* rwork, blas_int* bwork,
431 void shseqr_(
char const* job,
char const* compz, blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
432 float* h, blas_int
const* ldh,
float* wr,
float* wi,
float* z, blas_int
const* ldz,
float* work,
433 blas_int
const* lwork, blas_int* info);
435 void dhseqr_(
char const* job,
char const* compz, blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
436 double* h, blas_int
const* ldh,
double* wr,
double* wi,
double* z, blas_int
const* ldz,
double* work,
437 blas_int
const* lwork, blas_int* info);
439 void strexc_(
char const* compq, blas_int
const* n,
float* t, blas_int
const* ldt,
float* q, blas_int
const* ldq,
440 blas_int* ifst, blas_int* ilst,
float* work, blas_int* info);
442 void dtrexc_(
char const* compq, blas_int
const* n,
double* t, blas_int
const* ldt,
double* q, blas_int
const* ldq,
443 blas_int* ifst, blas_int* ilst,
double* work, blas_int* info);
451 void strsen_(
char const* job,
char const* compq, blas_int* select, blas_int
const* n,
float* t, blas_int
const* ldt,
452 float* q, blas_int
const* ldq,
float* wr,
float* wi, blas_int* m,
float* s,
float* sep,
float* work,
453 blas_int
const* lwork, blas_int* iwork, blas_int
const* liwork, blas_int* info);
455 void dtrsen_(
char const* job,
char const* compq, blas_int* select, blas_int
const* n,
double* t, blas_int
const* ldt,
456 double* q, blas_int
const* ldq,
double* wr,
double* wi, blas_int* m,
double* s,
double* sep,
457 double* work, blas_int
const* lwork, blas_int* iwork, blas_int
const* liwork, blas_int* info);
459 void strevc_(
char const* side,
char const* howmny, blas_int* select, blas_int
const* n,
float* t, blas_int
const* ldt,
460 float* vl, blas_int
const* ldvl,
float* vr, blas_int
const* ldvr, blas_int
const* mm, blas_int* m,
461 float* work, blas_int* info);
463 void dtrevc_(
char const* side,
char const* howmny, blas_int* select, blas_int
const* n,
double* t,
464 blas_int
const* ldt,
double* vl, blas_int
const* ldvl,
double* vr, blas_int
const* ldvr,
465 blas_int
const* mm, blas_int* m,
double* work, blas_int* info);
467 void strsna_(
char const* job,
char const* howmny, blas_int* select, blas_int
const* n,
float* t, blas_int
const* ldt,
468 float* vl, blas_int
const* ldvl,
float* vr, blas_int
const* ldvr,
float* s,
float* sep,
469 blas_int
const* mm, blas_int* m,
float* work, blas_int
const* ldwork, blas_int* iwork, blas_int* info);
471 void dtrsna_(
char const* job,
char const* howmny, blas_int* select, blas_int
const* n,
double* t, blas_int
const* ldt,
472 double* vl, blas_int
const* ldvl,
double* vr, blas_int
const* ldvr,
double* s,
double* sep,
473 blas_int
const* mm, blas_int* m,
double* work, blas_int
const* ldwork, blas_int* iwork, blas_int* info);
475 void sggev_(
char const* jobvl,
char const* jobvr, blas_int
const* n,
float* a, blas_int
const* lda,
float* b,
476 blas_int
const* ldb,
float* alphar,
float* alphai,
float*
beta,
float* vl, blas_int
const* ldvl,
477 float* vr, blas_int
const* ldvr,
float* work, blas_int
const* lwork, blas_int* info);
479 void dggev_(
char const* jobvl,
char const* jobvr, blas_int
const* n,
double* a, blas_int
const* lda,
double* b,
480 blas_int
const* ldb,
double* alphar,
double* alphai,
double*
beta,
double* vl, blas_int
const* ldvl,
481 double* vr, blas_int
const* ldvr,
double* work, blas_int
const* lwork, blas_int* info);
483 void sggevx_(
char const* balanc,
char const* jobvl,
char const* jobvr,
char const* sense, blas_int
const* n,
float* a,
484 blas_int
const* lda,
float* b, blas_int
const* ldb,
float* alphar,
float* alphai,
float*
beta,
float* vl,
485 blas_int
const* ldvl,
float* vr, blas_int
const* ldvr, blas_int* ilo, blas_int* ihi,
float* lscale,
486 float* rscale,
float* abnrm,
float* bbnrm,
float* rconde,
float* rcondv,
float* work,
487 blas_int
const* lwork, blas_int* iwork, blas_int* bwork, blas_int* info);
489 void dggevx_(
char const* balanc,
char const* jobvl,
char const* jobvr,
char const* sense, blas_int
const* n,
490 double* a, blas_int
const* lda,
double* b, blas_int
const* ldb,
double* alphar,
double* alphai,
491 double*
beta,
double* vl, blas_int
const* ldvl,
double* vr, blas_int
const* ldvr, blas_int* ilo,
492 blas_int* ihi,
double* lscale,
double* rscale,
double* abnrm,
double* bbnrm,
double* rconde,
493 double* rcondv,
double* work, blas_int
const* lwork, blas_int* iwork, blas_int* bwork, blas_int* info);
495 void sggbal_(
char const* job, blas_int
const* n,
float* a, blas_int
const* lda,
float* b, blas_int
const* ldb,
496 blas_int* ilo, blas_int* ihi,
float* lscale,
float* rscale,
float* work, blas_int* info);
498 void dggbal_(
char const* job, blas_int
const* n,
double* a, blas_int
const* lda,
double* b, blas_int
const* ldb,
499 blas_int* ilo, blas_int* ihi,
double* lscale,
double* rscale,
double* work, blas_int* info);
501 void sggbak_(
char const* job,
char const* side, blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
502 float* lscale,
float* rscale, blas_int
const* m,
float* v, blas_int
const* ldv, blas_int* info);
504 void dggbak_(
char const* job,
char const* side, blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
505 double* lscale,
double* rscale, blas_int
const* m,
double* v, blas_int
const* ldv, blas_int* info);
507 void sgges_(
char const* jobvsl,
char const* jobvsr,
char const* sort,
void* select, blas_int
const* n,
float* a,
508 blas_int
const* lda,
float* b, blas_int
const* ldb, blas_int* selected_dimension,
float* alphar,
509 float* alphai,
float*
beta,
float* vsl, blas_int
const* ldvsl,
float* vsr, blas_int
const* ldvsr,
510 float* work, blas_int
const* lwork, blas_int* bwork, blas_int* info);
512 void dgges_(
char const* jobvsl,
char const* jobvsr,
char const* sort,
void* select, blas_int
const* n,
double* a,
513 blas_int
const* lda,
double* b, blas_int
const* ldb, blas_int* selected_dimension,
double* alphar,
514 double* alphai,
double*
beta,
double* vsl, blas_int
const* ldvsl,
double* vsr, blas_int
const* ldvsr,
515 double* work, blas_int
const* lwork, blas_int* bwork, blas_int* info);
517 void sgghrd_(
char const* compq,
char const* compz, blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
518 float* a, blas_int
const* lda,
float* b, blas_int
const* ldb,
float* q, blas_int
const* ldq,
float* z,
519 blas_int
const* ldz, blas_int* info);
521 void dgghrd_(
char const* compq,
char const* compz, blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
522 double* a, blas_int
const* lda,
double* b, blas_int
const* ldb,
double* q, blas_int
const* ldq,
523 double* z, blas_int
const* ldz, blas_int* info);
525 void shgeqz_(
char const* job,
char const* compq,
char const* compz, blas_int
const* n, blas_int
const* ilo,
526 blas_int
const* ihi,
float* h, blas_int
const* ldh,
float* t, blas_int
const* ldt,
float* alphar,
527 float* alphai,
float*
beta,
float* q, blas_int
const* ldq,
float* z, blas_int
const* ldz,
float* work,
528 blas_int
const* lwork, blas_int* info);
530 void dhgeqz_(
char const* job,
char const* compq,
char const* compz, blas_int
const* n, blas_int
const* ilo,
531 blas_int
const* ihi,
double* h, blas_int
const* ldh,
double* t, blas_int
const* ldt,
double* alphar,
532 double* alphai,
double*
beta,
double* q, blas_int
const* ldq,
double* z, blas_int
const* ldz,
533 double* work, blas_int
const* lwork, blas_int* info);
535 void stgexc_(blas_int
const* wantq, blas_int
const* wantz, blas_int
const* n,
float* a, blas_int
const* lda,
float* b,
536 blas_int
const* ldb,
float* q, blas_int
const* ldq,
float* z, blas_int
const* ldz, blas_int* first,
537 blas_int* last,
float* work, blas_int
const* lwork, blas_int* info);
539 void dtgexc_(blas_int
const* wantq, blas_int
const* wantz, blas_int
const* n,
double* a, blas_int
const* lda,
540 double* b, blas_int
const* ldb,
double* q, blas_int
const* ldq,
double* z, blas_int
const* ldz,
541 blas_int* first, blas_int* last,
double* work, blas_int
const* lwork, blas_int* info);
543 void stgsen_(blas_int
const* ijob, blas_int
const* wantq, blas_int
const* wantz, blas_int* select, blas_int
const* n,
544 float* a, blas_int
const* lda,
float* b, blas_int
const* ldb,
float* alphar,
float* alphai,
float*
beta,
545 float* q, blas_int
const* ldq,
float* z, blas_int
const* ldz, blas_int* selected_dimension,
float* pl,
546 float* pr,
float* dif,
float* work, blas_int
const* lwork, blas_int* iwork, blas_int
const* liwork,
549 void dtgsen_(blas_int
const* ijob, blas_int
const* wantq, blas_int
const* wantz, blas_int* select, blas_int
const* n,
550 double* a, blas_int
const* lda,
double* b, blas_int
const* ldb,
double* alphar,
double* alphai,
551 double*
beta,
double* q, blas_int
const* ldq,
double* z, blas_int
const* ldz,
552 blas_int* selected_dimension,
double* pl,
double* pr,
double* dif,
double* work, blas_int
const* lwork,
553 blas_int* iwork, blas_int
const* liwork, blas_int* info);
555 void stgevc_(
char const* side,
char const* howmny, blas_int* select, blas_int
const* n,
float* s, blas_int
const* lds,
556 float*
p, blas_int
const* ldp,
float* vl, blas_int
const* ldvl,
float* vr, blas_int
const* ldvr,
557 blas_int
const* mm, blas_int* computed_vectors,
float* work, blas_int* info);
559 void dtgevc_(
char const* side,
char const* howmny, blas_int* select, blas_int
const* n,
double* s,
560 blas_int
const* lds,
double*
p, blas_int
const* ldp,
double* vl, blas_int
const* ldvl,
double* vr,
561 blas_int
const* ldvr, blas_int
const* mm, blas_int* computed_vectors,
double* work, blas_int* info);
563 void stgsna_(
char const* job,
char const* howmny, blas_int* select, blas_int
const* n,
float* a, blas_int
const* lda,
564 float* b, blas_int
const* ldb,
float* vl, blas_int
const* ldvl,
float* vr, blas_int
const* ldvr,
565 float* s,
float* dif, blas_int
const* mm, blas_int* computed_estimates,
float* work,
566 blas_int
const* lwork, blas_int* iwork, blas_int* info);
568 void dtgsna_(
char const* job,
char const* howmny, blas_int* select, blas_int
const* n,
double* a, blas_int
const* lda,
569 double* b, blas_int
const* ldb,
double* vl, blas_int
const* ldvl,
double* vr, blas_int
const* ldvr,
570 double* s,
double* dif, blas_int
const* mm, blas_int* computed_estimates,
double* work,
571 blas_int
const* lwork, blas_int* iwork, blas_int* info);
573 void sorgbr_(
char const* vect, blas_int
const* m, blas_int
const* n, blas_int
const* k,
float* a, blas_int
const* lda,
574 float* tau,
float* work, blas_int
const* lwork, blas_int* info);
576 void dorgbr_(
char const* vect, blas_int
const* m, blas_int
const* n, blas_int
const* k,
double* a,
577 blas_int
const* lda,
double* tau,
double* work, blas_int
const* lwork, blas_int* info);
579 void sorghr_(blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
float* a, blas_int
const* lda,
580 float const* tau,
float* work, blas_int
const* lwork, blas_int* info);
582 void dorghr_(blas_int
const* n, blas_int
const* ilo, blas_int
const* ihi,
double* a, blas_int
const* lda,
583 double const* tau,
double* work, blas_int
const* lwork, blas_int* info);
585 void sorgtr_(
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda,
float const* tau,
float* work,
586 blas_int
const* lwork, blas_int* info);
588 void dorgtr_(
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda,
double const* tau,
double* work,
589 blas_int
const* lwork, blas_int* info);
591 void sormhr_(
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* ilo,
592 blas_int
const* ihi,
float* a, blas_int
const* lda,
float const* tau,
float*
c, blas_int
const* ldc,
593 float* work, blas_int
const* lwork, blas_int* info);
595 void dormhr_(
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n, blas_int
const* ilo,
596 blas_int
const* ihi,
double* a, blas_int
const* lda,
double const* tau,
double*
c, blas_int
const* ldc,
597 double* work, blas_int
const* lwork, blas_int* info);
599 void sormtr_(
char const* side,
char const* uplo,
char const* trans, blas_int
const* m, blas_int
const* n,
float* a,
600 blas_int
const* lda,
float const* tau,
float*
c, blas_int
const* ldc,
float* work, blas_int
const* lwork,
603 void dormtr_(
char const* side,
char const* uplo,
char const* trans, blas_int
const* m, blas_int
const* n,
double* a,
604 blas_int
const* lda,
double const* tau,
double*
c, blas_int
const* ldc,
double* work,
605 blas_int
const* lwork, blas_int* info);
607 void sormbr_(
char const* vect,
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n,
608 blas_int
const* k,
float* a, blas_int
const* lda,
float* tau,
float*
c, blas_int
const* ldc,
float* work,
609 blas_int
const* lwork, blas_int* info);
611 void dormbr_(
char const* vect,
char const* side,
char const* trans, blas_int
const* m, blas_int
const* n,
612 blas_int
const* k,
double* a, blas_int
const* lda,
double* tau,
double*
c, blas_int
const* ldc,
613 double* work, blas_int
const* lwork, blas_int* info);
615 void sgesvd_(
char const* jobu,
char const* jobvt, blas_int
const* m, blas_int
const* n,
float* a, blas_int
const* lda,
616 float* s,
float* u, blas_int
const* ldu,
float* vt, blas_int
const* ldvt,
float* work,
617 blas_int
const* lwork, blas_int* info);
619 void dgesvd_(
char const* jobu,
char const* jobvt, blas_int
const* m, blas_int
const* n,
double* a,
620 blas_int
const* lda,
double* s,
double* u, blas_int
const* ldu,
double* vt, blas_int
const* ldvt,
621 double* work, blas_int
const* lwork, blas_int* info);
623 void cgesvd_(
char const* jobu,
char const* jobvt, blas_int
const* m, blas_int
const* n,
uni20::complex<float>* a,
625 blas_int
const* ldvt,
uni20::complex<float>* work, blas_int
const* lwork,
float* rwork, blas_int* info);
627 void zgesvd_(
char const* jobu,
char const* jobvt, blas_int
const* m, blas_int
const* n,
uni20::complex<double>* a,
630 double* rwork, blas_int* info);
632 void sgesdd_(
char const* jobz, blas_int
const* m, blas_int
const* n,
float* a, blas_int
const* lda,
float* s,
633 float* u, blas_int
const* ldu,
float* vt, blas_int
const* ldvt,
float* work, blas_int
const* lwork,
634 blas_int* iwork, blas_int* info);
636 void dgesdd_(
char const* jobz, blas_int
const* m, blas_int
const* n,
double* a, blas_int
const* lda,
double* s,
637 double* u, blas_int
const* ldu,
double* vt, blas_int
const* ldvt,
double* work, blas_int
const* lwork,
638 blas_int* iwork, blas_int* info);
640 void cgesdd_(
char const* jobz, blas_int
const* m, blas_int
const* n,
uni20::complex<float>* a, blas_int
const* lda,
644 void zgesdd_(
char const* jobz, blas_int
const* m, blas_int
const* n,
uni20::complex<double>* a, blas_int
const* lda,
647 blas_int* iwork, blas_int* info);
649 void sgesvdx_(
char const* jobu,
char const* jobvt,
char const* range, blas_int
const* m, blas_int
const* n,
float* a,
650 blas_int
const* lda,
float const* vl,
float const* vu, blas_int
const* il, blas_int
const* iu,
651 blas_int* ns,
float* s,
float* u, blas_int
const* ldu,
float* vt, blas_int
const* ldvt,
float* work,
652 blas_int
const* lwork, blas_int* iwork, blas_int* info);
654 void dgesvdx_(
char const* jobu,
char const* jobvt,
char const* range, blas_int
const* m, blas_int
const* n,
double* a,
655 blas_int
const* lda,
double const* vl,
double const* vu, blas_int
const* il, blas_int
const* iu,
656 blas_int* ns,
double* s,
double* u, blas_int
const* ldu,
double* vt, blas_int
const* ldvt,
double* work,
657 blas_int
const* lwork, blas_int* iwork, blas_int* info);
659 void cgesvdx_(
char const* jobu,
char const* jobvt,
char const* range, blas_int
const* m, blas_int
const* n,
663 float* rwork, blas_int* iwork, blas_int* info);
665 void zgesvdx_(
char const* jobu,
char const* jobvt,
char const* range, blas_int
const* m, blas_int
const* n,
669 double* rwork, blas_int* iwork, blas_int* info);
671 void sbdsqr_(
char const* uplo, blas_int
const* n, blas_int
const* ncvt, blas_int
const* nru, blas_int
const* ncc,
672 float* d,
float* e,
float* vt, blas_int
const* ldvt,
float* u, blas_int
const* ldu,
float*
c,
673 blas_int
const* ldc,
float* work, blas_int* info);
675 void dbdsqr_(
char const* uplo, blas_int
const* n, blas_int
const* ncvt, blas_int
const* nru, blas_int
const* ncc,
676 double* d,
double* e,
double* vt, blas_int
const* ldvt,
double* u, blas_int
const* ldu,
double*
c,
677 blas_int
const* ldc,
double* work, blas_int* info);
679 void sbdsdc_(
char const* uplo,
char const* compq, blas_int
const* n,
float* d,
float* e,
float* u,
680 blas_int
const* ldu,
float* vt, blas_int
const* ldvt,
float* q, blas_int* iq,
float* work,
681 blas_int* iwork, blas_int* info);
683 void dbdsdc_(
char const* uplo,
char const* compq, blas_int
const* n,
double* d,
double* e,
double* u,
684 blas_int
const* ldu,
double* vt, blas_int
const* ldvt,
double* q, blas_int* iq,
double* work,
685 blas_int* iwork, blas_int* info);
687 void sbdsvdx_(
char const* uplo,
char const* jobz,
char const* range, blas_int
const* n,
float* d,
float* e,
688 float const* vl,
float const* vu, blas_int
const* il, blas_int
const* iu, blas_int* ns,
float* s,
689 float* z, blas_int
const* ldz,
float* work, blas_int* iwork, blas_int* info);
691 void dbdsvdx_(
char const* uplo,
char const* jobz,
char const* range, blas_int
const* n,
double* d,
double* e,
692 double const* vl,
double const* vu, blas_int
const* il, blas_int
const* iu, blas_int* ns,
double* s,
693 double* z, blas_int
const* ldz,
double* work, blas_int* iwork, blas_int* info);
695 void spotrf_(
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda, blas_int* info);
697 void dpotrf_(
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda, blas_int* info);
699 void spstrf_(
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda, blas_int* piv, blas_int* rank,
700 float const* tol,
float* work, blas_int* info);
702 void dpstrf_(
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda, blas_int* piv, blas_int* rank,
703 double const* tol,
double* work, blas_int* info);
705 void spotri_(
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda, blas_int* info);
707 void dpotri_(
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda, blas_int* info);
709 void spotrs_(
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
float* a, blas_int
const* lda,
float* b,
710 blas_int
const* ldb, blas_int* info);
712 void dpotrs_(
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
double* a, blas_int
const* lda,
double* b,
713 blas_int
const* ldb, blas_int* info);
715 void sporfs_(
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
float* a, blas_int
const* lda,
float* af,
716 blas_int
const* ldaf,
float* b, blas_int
const* ldb,
float* x, blas_int
const* ldx,
float* ferr,
717 float* berr,
float* work, blas_int* iwork, blas_int* info);
719 void dporfs_(
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
double* a, blas_int
const* lda,
double* af,
720 blas_int
const* ldaf,
double* b, blas_int
const* ldb,
double* x, blas_int
const* ldx,
double* ferr,
721 double* berr,
double* work, blas_int* iwork, blas_int* info);
723 void sposvx_(
char const* fact,
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
float* a,
724 blas_int
const* lda,
float* af, blas_int
const* ldaf,
char* equed,
float* s,
float* b,
725 blas_int
const* ldb,
float* x, blas_int
const* ldx,
float* rcond,
float* ferr,
float* berr,
float* work,
726 blas_int* iwork, blas_int* info);
728 void dposvx_(
char const* fact,
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
double* a,
729 blas_int
const* lda,
double* af, blas_int
const* ldaf,
char* equed,
double* s,
double* b,
730 blas_int
const* ldb,
double* x, blas_int
const* ldx,
double* rcond,
double* ferr,
double* berr,
731 double* work, blas_int* iwork, blas_int* info);
733 void spoequ_(blas_int
const* n,
float* a, blas_int
const* lda,
float* s,
float* scond,
float* amax, blas_int* info);
735 void dpoequ_(blas_int
const* n,
double* a, blas_int
const* lda,
double* s,
double* scond,
double* amax,
738 void spocon_(
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda,
float const* anorm,
float* rcond,
739 float* work, blas_int* iwork, blas_int* info);
741 void dpocon_(
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda,
double const* anorm,
double* rcond,
742 double* work, blas_int* iwork, blas_int* info);
744 void ssytrf_(
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda, blas_int* ipiv,
float* work,
745 blas_int
const* lwork, blas_int* info);
747 void dsytrf_(
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda, blas_int* ipiv,
double* work,
748 blas_int
const* lwork, blas_int* info);
750 void ssytrs_(
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
float* a, blas_int
const* lda,
751 blas_int
const* ipiv,
float* b, blas_int
const* ldb, blas_int* info);
753 void dsytrs_(
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
double* a, blas_int
const* lda,
754 blas_int
const* ipiv,
double* b, blas_int
const* ldb, blas_int* info);
756 void ssytri_(
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda, blas_int
const* ipiv,
float* work,
759 void dsytri_(
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda, blas_int
const* ipiv,
double* work,
762 void ssyrfs_(
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
float* a, blas_int
const* lda,
float* af,
763 blas_int
const* ldaf, blas_int* ipiv,
float* b, blas_int
const* ldb,
float* x, blas_int
const* ldx,
764 float* ferr,
float* berr,
float* work, blas_int* iwork, blas_int* info);
766 void dsyrfs_(
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
double* a, blas_int
const* lda,
double* af,
767 blas_int
const* ldaf, blas_int* ipiv,
double* b, blas_int
const* ldb,
double* x, blas_int
const* ldx,
768 double* ferr,
double* berr,
double* work, blas_int* iwork, blas_int* info);
770 void ssysvx_(
char const* fact,
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
float* a,
771 blas_int
const* lda,
float* af, blas_int
const* ldaf, blas_int* ipiv,
float* b, blas_int
const* ldb,
772 float* x, blas_int
const* ldx,
float* rcond,
float* ferr,
float* berr,
float* work,
773 blas_int
const* lwork, blas_int* iwork, blas_int* info);
775 void dsysvx_(
char const* fact,
char const* uplo, blas_int
const* n, blas_int
const* nrhs,
double* a,
776 blas_int
const* lda,
double* af, blas_int
const* ldaf, blas_int* ipiv,
double* b, blas_int
const* ldb,
777 double* x, blas_int
const* ldx,
double* rcond,
double* ferr,
double* berr,
double* work,
778 blas_int
const* lwork, blas_int* iwork, blas_int* info);
780 void ssycon_(
char const* uplo, blas_int
const* n,
float* a, blas_int
const* lda, blas_int
const* ipiv,
781 float const* anorm,
float* rcond,
float* work, blas_int* iwork, blas_int* info);
783 void dsycon_(
char const* uplo, blas_int
const* n,
double* a, blas_int
const* lda, blas_int
const* ipiv,
784 double const* anorm,
double* rcond,
double* work, blas_int* iwork, blas_int* info);
786 void strtrs_(
char const* uplo,
char const* trans,
char const* diag, blas_int
const* n, blas_int
const* nrhs,
float* a,
787 blas_int
const* lda,
float* b, blas_int
const* ldb, blas_int* info);
789 void dtrtrs_(
char const* uplo,
char const* trans,
char const* diag, blas_int
const* n, blas_int
const* nrhs,
790 double* a, blas_int
const* lda,
double* b, blas_int
const* ldb, blas_int* info);
792 void strrfs_(
char const* uplo,
char const* trans,
char const* diag, blas_int
const* n, blas_int
const* nrhs,
float* a,
793 blas_int
const* lda,
float* b, blas_int
const* ldb,
float* x, blas_int
const* ldx,
float* ferr,
794 float* berr,
float* work, blas_int* iwork, blas_int* info);
796 void dtrrfs_(
char const* uplo,
char const* trans,
char const* diag, blas_int
const* n, blas_int
const* nrhs,
797 double* a, blas_int
const* lda,
double* b, blas_int
const* ldb,
double* x, blas_int
const* ldx,
798 double* ferr,
double* berr,
double* work, blas_int* iwork, blas_int* info);
800 void strtri_(
char const* uplo,
char const* diag, blas_int
const* n,
float* a, blas_int
const* lda, blas_int* info);
802 void dtrtri_(
char const* uplo,
char const* diag, blas_int
const* n,
double* a, blas_int
const* lda, blas_int* info);
804 void strcon_(
char const*
norm,
char const* uplo,
char const* diag, blas_int
const* n,
float* a, blas_int
const* lda,
805 float* rcond,
float* work, blas_int* iwork, blas_int* info);
807 void dtrcon_(
char const*
norm,
char const* uplo,
char const* diag, blas_int
const* n,
double* a, blas_int
const* lda,
808 double* rcond,
double* work, blas_int* iwork, blas_int* info);
810 void strsyl_(
char const* trana,
char const* tranb, blas_int
const* isgn, blas_int
const* m, blas_int
const* n,
811 float* a, blas_int
const* lda,
float* b, blas_int
const* ldb,
float*
c, blas_int
const* ldc,
812 float*
scale, blas_int* info);
814 void dtrsyl_(
char const* trana,
char const* tranb, blas_int
const* isgn, blas_int
const* m, blas_int
const* n,
815 double* a, blas_int
const* lda,
double* b, blas_int
const* ldb,
double*
c, blas_int
const* ldc,
816 double*
scale, blas_int* info);
820[[nodiscard]]
inline blas_int
gesv(blas_int n, blas_int nrhs,
float* a, blas_int lda, blas_int* ipiv,
float* b,
825 detail::sgesv_(&n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
829[[nodiscard]]
inline blas_int
gesv(blas_int n, blas_int nrhs,
double* a, blas_int lda, blas_int* ipiv,
double* b,
834 detail::dgesv_(&n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
843 detail::cgesv_(&n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
852 detail::zgesv_(&n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
856[[nodiscard]]
inline blas_int
gesvx(
char fact,
char trans, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* af,
857 blas_int ldaf, blas_int* ipiv,
char& equed,
float* row_scale,
float* column_scale,
858 float* b, blas_int ldb,
float* x, blas_int ldx,
float& rcond,
float* forward_error,
859 float* backward_error,
float* work, blas_int* iwork)
862 UNI20_EXTERNAL_API_CALL(LAPACK, sgesvx_, fact, trans, n, nrhs, a, lda, af, ldaf, ipiv, equed, row_scale, column_scale,
863 b, ldb, x, ldx, work, iwork);
864 detail::sgesvx_(&fact, &trans, &n, &nrhs, a, &lda, af, &ldaf, ipiv, &equed, row_scale, column_scale, b, &ldb, x, &ldx,
865 &rcond, forward_error, backward_error, work, iwork, &info);
869[[nodiscard]]
inline blas_int
gesvx(
char fact,
char trans, blas_int n, blas_int nrhs,
double* a, blas_int lda,
870 double* af, blas_int ldaf, blas_int* ipiv,
char& equed,
double* row_scale,
871 double* column_scale,
double* b, blas_int ldb,
double* x, blas_int ldx,
872 double& rcond,
double* forward_error,
double* backward_error,
double* work,
876 UNI20_EXTERNAL_API_CALL(LAPACK, dgesvx_, fact, trans, n, nrhs, a, lda, af, ldaf, ipiv, equed, row_scale, column_scale,
877 b, ldb, x, ldx, work, iwork);
878 detail::dgesvx_(&fact, &trans, &n, &nrhs, a, &lda, af, &ldaf, ipiv, &equed, row_scale, column_scale, b, &ldb, x, &ldx,
879 &rcond, forward_error, backward_error, work, iwork, &info);
883[[nodiscard]]
inline blas_int
geequ(blas_int m, blas_int n,
float* a, blas_int lda,
float* row_scale,
884 float* column_scale,
float& row_condition,
float& column_condition,
float& max_abs)
888 detail::sgeequ_(&m, &n, a, &lda, row_scale, column_scale, &row_condition, &column_condition, &max_abs, &info);
892[[nodiscard]]
inline blas_int
geequ(blas_int m, blas_int n,
double* a, blas_int lda,
double* row_scale,
893 double* column_scale,
double& row_condition,
double& column_condition,
898 detail::dgeequ_(&m, &n, a, &lda, row_scale, column_scale, &row_condition, &column_condition, &max_abs, &info);
902[[nodiscard]]
inline blas_int
getrf(blas_int m, blas_int n,
float* a, blas_int lda, blas_int* ipiv)
906 detail::sgetrf_(&m, &n, a, &lda, ipiv, &info);
910[[nodiscard]]
inline blas_int
getrf(blas_int m, blas_int n,
double* a, blas_int lda, blas_int* ipiv)
914 detail::dgetrf_(&m, &n, a, &lda, ipiv, &info);
922 detail::cgetrf_(&m, &n, a, &lda, ipiv, &info);
930 detail::zgetrf_(&m, &n, a, &lda, ipiv, &info);
934[[nodiscard]]
inline blas_int
getrs(
char trans, blas_int n, blas_int nrhs,
float* a, blas_int lda, blas_int
const* ipiv,
935 float* b, blas_int ldb)
939 detail::sgetrs_(&trans, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
943[[nodiscard]]
inline blas_int
getrs(
char trans, blas_int n, blas_int nrhs,
double* a, blas_int lda,
944 blas_int
const* ipiv,
double* b, blas_int ldb)
948 detail::dgetrs_(&trans, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
957 detail::cgetrs_(&trans, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
966 detail::zgetrs_(&trans, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
970[[nodiscard]]
inline blas_int
gerfs(
char trans, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* factors,
971 blas_int factor_lda, blas_int
const* ipiv,
float* b, blas_int ldb,
float* x,
972 blas_int ldx,
float* forward_error,
float* backward_error,
float* work,
976 UNI20_EXTERNAL_API_CALL(LAPACK, sgerfs_, trans, n, nrhs, a, lda, factors, factor_lda, ipiv, b, ldb, x, ldx,
977 forward_error, backward_error, work, iwork);
978 detail::sgerfs_(&trans, &n, &nrhs, a, &lda, factors, &factor_lda, ipiv, b, &ldb, x, &ldx, forward_error,
979 backward_error, work, iwork, &info);
983[[nodiscard]]
inline blas_int
gerfs(
char trans, blas_int n, blas_int nrhs,
double* a, blas_int lda,
double* factors,
984 blas_int factor_lda, blas_int
const* ipiv,
double* b, blas_int ldb,
double* x,
985 blas_int ldx,
double* forward_error,
double* backward_error,
double* work,
989 UNI20_EXTERNAL_API_CALL(LAPACK, dgerfs_, trans, n, nrhs, a, lda, factors, factor_lda, ipiv, b, ldb, x, ldx,
990 forward_error, backward_error, work, iwork);
991 detail::dgerfs_(&trans, &n, &nrhs, a, &lda, factors, &factor_lda, ipiv, b, &ldb, x, &ldx, forward_error,
992 backward_error, work, iwork, &info);
996[[nodiscard]]
inline blas_int
getri(blas_int n,
float* a, blas_int lda, blas_int* ipiv,
float* work, blas_int lwork)
1000 detail::sgetri_(&n, a, &lda, ipiv, work, &lwork, &info);
1004[[nodiscard]]
inline blas_int
getri(blas_int n,
double* a, blas_int lda, blas_int* ipiv,
double* work, blas_int lwork)
1008 detail::dgetri_(&n, a, &lda, ipiv, work, &lwork, &info);
1017 detail::cgetri_(&n, a, &lda, ipiv, work, &lwork, &info);
1026 detail::zgetri_(&n, a, &lda, ipiv, work, &lwork, &info);
1030[[nodiscard]]
inline blas_int
gecon(
char norm, blas_int n,
float const* a, blas_int lda,
float anorm,
float& rcond,
1031 float* work, blas_int* iwork)
1035 detail::sgecon_(&
norm, &n, a, &lda, &anorm, &rcond, work, iwork, &info);
1039[[nodiscard]]
inline blas_int
gecon(
char norm, blas_int n,
double const* a, blas_int lda,
double anorm,
double& rcond,
1040 double* work, blas_int* iwork)
1044 detail::dgecon_(&
norm, &n, a, &lda, &anorm, &rcond, work, iwork, &info);
1053 detail::cgecon_(&
norm, &n, a, &lda, &anorm, &rcond, work, rwork, &info);
1062 detail::zgecon_(&
norm, &n, a, &lda, &anorm, &rcond, work, rwork, &info);
1066[[nodiscard]]
inline blas_int
gels(
char trans, blas_int m, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* b,
1067 blas_int ldb,
float* work, blas_int lwork)
1070 UNI20_EXTERNAL_API_CALL(LAPACK, sgels_, trans, m, n, nrhs, a, lda, b, ldb, work, lwork);
1071 detail::sgels_(&trans, &m, &n, &nrhs, a, &lda, b, &ldb, work, &lwork, &info);
1075[[nodiscard]]
inline blas_int
gels(
char trans, blas_int m, blas_int n, blas_int nrhs,
double* a, blas_int lda,
1076 double* b, blas_int ldb,
double* work, blas_int lwork)
1079 UNI20_EXTERNAL_API_CALL(LAPACK, dgels_, trans, m, n, nrhs, a, lda, b, ldb, work, lwork);
1080 detail::dgels_(&trans, &m, &n, &nrhs, a, &lda, b, &ldb, work, &lwork, &info);
1084[[nodiscard]]
inline blas_int
gelss(blas_int m, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* b,
1085 blas_int ldb,
float* s,
float rcond, blas_int& rank,
float* work, blas_int lwork)
1088 UNI20_EXTERNAL_API_CALL(LAPACK, sgelss_, m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork);
1089 detail::sgelss_(&m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, &rank, work, &lwork, &info);
1093[[nodiscard]]
inline blas_int
gelss(blas_int m, blas_int n, blas_int nrhs,
double* a, blas_int lda,
double* b,
1094 blas_int ldb,
double* s,
double rcond, blas_int& rank,
double* work, blas_int lwork)
1097 UNI20_EXTERNAL_API_CALL(LAPACK, dgelss_, m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork);
1098 detail::dgelss_(&m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, &rank, work, &lwork, &info);
1108 UNI20_EXTERNAL_API_CALL(LAPACK, cgelss_, m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork);
1109 detail::cgelss_(&m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, &rank, work, &lwork, rwork, &info);
1119 UNI20_EXTERNAL_API_CALL(LAPACK, zgelss_, m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork);
1120 detail::zgelss_(&m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, &rank, work, &lwork, rwork, &info);
1124[[nodiscard]]
inline blas_int
gelsd(blas_int m, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* b,
1125 blas_int ldb,
float* s,
float rcond, blas_int& rank,
float* work, blas_int lwork,
1129 UNI20_EXTERNAL_API_CALL(LAPACK, sgelsd_, m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, iwork);
1130 detail::sgelsd_(&m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, &rank, work, &lwork, iwork, &info);
1134[[nodiscard]]
inline blas_int
gelsd(blas_int m, blas_int n, blas_int nrhs,
double* a, blas_int lda,
double* b,
1135 blas_int ldb,
double* s,
double rcond, blas_int& rank,
double* work, blas_int lwork,
1139 UNI20_EXTERNAL_API_CALL(LAPACK, dgelsd_, m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, iwork);
1140 detail::dgelsd_(&m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, &rank, work, &lwork, iwork, &info);
1144[[nodiscard]]
inline blas_int
gelsy(blas_int m, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* b,
1145 blas_int ldb, blas_int* jpvt,
float rcond, blas_int& rank,
float* work,
1149 UNI20_EXTERNAL_API_CALL(LAPACK, sgelsy_, m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, lwork);
1150 detail::sgelsy_(&m, &n, &nrhs, a, &lda, b, &ldb, jpvt, &rcond, &rank, work, &lwork, &info);
1154[[nodiscard]]
inline blas_int
gelsy(blas_int m, blas_int n, blas_int nrhs,
double* a, blas_int lda,
double* b,
1155 blas_int ldb, blas_int* jpvt,
double rcond, blas_int& rank,
double* work,
1159 UNI20_EXTERNAL_API_CALL(LAPACK, dgelsy_, m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, lwork);
1160 detail::dgelsy_(&m, &n, &nrhs, a, &lda, b, &ldb, jpvt, &rcond, &rank, work, &lwork, &info);
1164[[nodiscard]]
inline blas_int
geqrf(blas_int m, blas_int n,
float* a, blas_int lda,
float* tau,
float* work,
1169 detail::sgeqrf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1173[[nodiscard]]
inline blas_int
geqrf(blas_int m, blas_int n,
double* a, blas_int lda,
double* tau,
double* work,
1178 detail::dgeqrf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1187 detail::zgeqrf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1196 detail::cgeqrf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1200[[nodiscard]]
inline blas_int
gelqf(blas_int m, blas_int n,
float* a, blas_int lda,
float* tau,
float* work,
1205 detail::sgelqf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1209[[nodiscard]]
inline blas_int
gelqf(blas_int m, blas_int n,
double* a, blas_int lda,
double* tau,
double* work,
1214 detail::dgelqf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1223 detail::zgelqf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1232 detail::cgelqf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1236[[nodiscard]]
inline blas_int
geqlf(blas_int m, blas_int n,
float* a, blas_int lda,
float* tau,
float* work,
1241 detail::sgeqlf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1245[[nodiscard]]
inline blas_int
geqlf(blas_int m, blas_int n,
double* a, blas_int lda,
double* tau,
double* work,
1250 detail::dgeqlf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1254[[nodiscard]]
inline blas_int
gerqf(blas_int m, blas_int n,
float* a, blas_int lda,
float* tau,
float* work,
1259 detail::sgerqf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1263[[nodiscard]]
inline blas_int
gerqf(blas_int m, blas_int n,
double* a, blas_int lda,
double* tau,
double* work,
1268 detail::dgerqf_(&m, &n, a, &lda, tau, work, &lwork, &info);
1272[[nodiscard]]
inline blas_int
orgqr(blas_int m, blas_int n, blas_int k,
float* a, blas_int lda,
float* tau,
float* work,
1277 detail::sorgqr_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1281[[nodiscard]]
inline blas_int
orgqr(blas_int m, blas_int n, blas_int k,
double* a, blas_int lda,
double* tau,
1282 double* work, blas_int lwork)
1286 detail::dorgqr_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1295 detail::zungqr_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1304 detail::cungqr_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1308[[nodiscard]]
inline blas_int
orglq(blas_int m, blas_int n, blas_int k,
float* a, blas_int lda,
float* tau,
float* work,
1313 detail::sorglq_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1317[[nodiscard]]
inline blas_int
orglq(blas_int m, blas_int n, blas_int k,
double* a, blas_int lda,
double* tau,
1318 double* work, blas_int lwork)
1322 detail::dorglq_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1331 detail::zunglq_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1340 detail::cunglq_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1344[[nodiscard]]
inline blas_int
orgql(blas_int m, blas_int n, blas_int k,
float* a, blas_int lda,
float* tau,
float* work,
1349 detail::sorgql_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1353[[nodiscard]]
inline blas_int
orgql(blas_int m, blas_int n, blas_int k,
double* a, blas_int lda,
double* tau,
1354 double* work, blas_int lwork)
1358 detail::dorgql_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1362[[nodiscard]]
inline blas_int
orgrq(blas_int m, blas_int n, blas_int k,
float* a, blas_int lda,
float* tau,
float* work,
1367 detail::sorgrq_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1371[[nodiscard]]
inline blas_int
orgrq(blas_int m, blas_int n, blas_int k,
double* a, blas_int lda,
double* tau,
1372 double* work, blas_int lwork)
1376 detail::dorgrq_(&m, &n, &k, a, &lda, tau, work, &lwork, &info);
1380[[nodiscard]]
inline blas_int
ormqr(
char side,
char trans, blas_int m, blas_int n, blas_int k,
float* a, blas_int lda,
1381 float* tau,
float*
c, blas_int ldc,
float* work, blas_int lwork)
1384 UNI20_EXTERNAL_API_CALL(LAPACK, sormqr_, side, trans, m, n, k, a, lda, tau,
c, ldc, work, lwork);
1385 detail::sormqr_(&side, &trans, &m, &n, &k, a, &lda, tau,
c, &ldc, work, &lwork, &info);
1389[[nodiscard]]
inline blas_int
ormqr(
char side,
char trans, blas_int m, blas_int n, blas_int k,
double* a, blas_int lda,
1390 double* tau,
double*
c, blas_int ldc,
double* work, blas_int lwork)
1393 UNI20_EXTERNAL_API_CALL(LAPACK, dormqr_, side, trans, m, n, k, a, lda, tau,
c, ldc, work, lwork);
1394 detail::dormqr_(&side, &trans, &m, &n, &k, a, &lda, tau,
c, &ldc, work, &lwork, &info);
1398[[nodiscard]]
inline blas_int
ormlq(
char side,
char trans, blas_int m, blas_int n, blas_int k,
float* a, blas_int lda,
1399 float* tau,
float*
c, blas_int ldc,
float* work, blas_int lwork)
1402 UNI20_EXTERNAL_API_CALL(LAPACK, sormlq_, side, trans, m, n, k, a, lda, tau,
c, ldc, work, lwork);
1403 detail::sormlq_(&side, &trans, &m, &n, &k, a, &lda, tau,
c, &ldc, work, &lwork, &info);
1407[[nodiscard]]
inline blas_int
ormlq(
char side,
char trans, blas_int m, blas_int n, blas_int k,
double* a, blas_int lda,
1408 double* tau,
double*
c, blas_int ldc,
double* work, blas_int lwork)
1411 UNI20_EXTERNAL_API_CALL(LAPACK, dormlq_, side, trans, m, n, k, a, lda, tau,
c, ldc, work, lwork);
1412 detail::dormlq_(&side, &trans, &m, &n, &k, a, &lda, tau,
c, &ldc, work, &lwork, &info);
1416[[nodiscard]]
inline blas_int
ormql(
char side,
char trans, blas_int m, blas_int n, blas_int k,
float* a, blas_int lda,
1417 float* tau,
float*
c, blas_int ldc,
float* work, blas_int lwork)
1420 UNI20_EXTERNAL_API_CALL(LAPACK, sormql_, side, trans, m, n, k, a, lda, tau,
c, ldc, work, lwork);
1421 detail::sormql_(&side, &trans, &m, &n, &k, a, &lda, tau,
c, &ldc, work, &lwork, &info);
1425[[nodiscard]]
inline blas_int
ormql(
char side,
char trans, blas_int m, blas_int n, blas_int k,
double* a, blas_int lda,
1426 double* tau,
double*
c, blas_int ldc,
double* work, blas_int lwork)
1429 UNI20_EXTERNAL_API_CALL(LAPACK, dormql_, side, trans, m, n, k, a, lda, tau,
c, ldc, work, lwork);
1430 detail::dormql_(&side, &trans, &m, &n, &k, a, &lda, tau,
c, &ldc, work, &lwork, &info);
1434[[nodiscard]]
inline blas_int
ormrq(
char side,
char trans, blas_int m, blas_int n, blas_int k,
float* a, blas_int lda,
1435 float* tau,
float*
c, blas_int ldc,
float* work, blas_int lwork)
1438 UNI20_EXTERNAL_API_CALL(LAPACK, sormrq_, side, trans, m, n, k, a, lda, tau,
c, ldc, work, lwork);
1439 detail::sormrq_(&side, &trans, &m, &n, &k, a, &lda, tau,
c, &ldc, work, &lwork, &info);
1443[[nodiscard]]
inline blas_int
ormrq(
char side,
char trans, blas_int m, blas_int n, blas_int k,
double* a, blas_int lda,
1444 double* tau,
double*
c, blas_int ldc,
double* work, blas_int lwork)
1447 UNI20_EXTERNAL_API_CALL(LAPACK, dormrq_, side, trans, m, n, k, a, lda, tau,
c, ldc, work, lwork);
1448 detail::dormrq_(&side, &trans, &m, &n, &k, a, &lda, tau,
c, &ldc, work, &lwork, &info);
1452[[nodiscard]]
inline blas_int
gebrd(blas_int m, blas_int n,
float* a, blas_int lda,
float* d,
float* e,
float* tauq,
1453 float* taup,
float* work, blas_int lwork)
1456 UNI20_EXTERNAL_API_CALL(LAPACK, sgebrd_, m, n, a, lda, d, e, tauq, taup, work, lwork);
1457 detail::sgebrd_(&m, &n, a, &lda, d, e, tauq, taup, work, &lwork, &info);
1461[[nodiscard]]
inline blas_int
gebrd(blas_int m, blas_int n,
double* a, blas_int lda,
double* d,
double* e,
double* tauq,
1462 double* taup,
double* work, blas_int lwork)
1465 UNI20_EXTERNAL_API_CALL(LAPACK, dgebrd_, m, n, a, lda, d, e, tauq, taup, work, lwork);
1466 detail::dgebrd_(&m, &n, a, &lda, d, e, tauq, taup, work, &lwork, &info);
1470[[nodiscard]]
inline blas_int
gehrd(blas_int n, blas_int first, blas_int last,
float* a, blas_int lda,
float* tau,
1471 float* work, blas_int lwork)
1475 detail::sgehrd_(&n, &first, &last, a, &lda, tau, work, &lwork, &info);
1479[[nodiscard]]
inline blas_int
gehrd(blas_int n, blas_int first, blas_int last,
double* a, blas_int lda,
double* tau,
1480 double* work, blas_int lwork)
1484 detail::dgehrd_(&n, &first, &last, a, &lda, tau, work, &lwork, &info);
1488[[nodiscard]]
inline blas_int
geqp3(blas_int m, blas_int n,
float* a, blas_int lda, blas_int* jpvt,
float* tau,
1489 float* work, blas_int lwork)
1493 detail::sgeqp3_(&m, &n, a, &lda, jpvt, tau, work, &lwork, &info);
1497[[nodiscard]]
inline blas_int
geqp3(blas_int m, blas_int n,
double* a, blas_int lda, blas_int* jpvt,
double* tau,
1498 double* work, blas_int lwork)
1502 detail::dgeqp3_(&m, &n, a, &lda, jpvt, tau, work, &lwork, &info);
1506[[nodiscard]]
inline blas_int
sytrd(
char uplo, blas_int n,
float* a, blas_int lda,
float* d,
float* e,
float* tau,
1507 float* work, blas_int lwork)
1510 UNI20_EXTERNAL_API_CALL(LAPACK, ssytrd_, uplo, n, a, lda, d, e, tau, work, lwork);
1511 detail::ssytrd_(&uplo, &n, a, &lda, d, e, tau, work, &lwork, &info);
1515[[nodiscard]]
inline blas_int
sytrd(
char uplo, blas_int n,
double* a, blas_int lda,
double* d,
double* e,
double* tau,
1516 double* work, blas_int lwork)
1519 UNI20_EXTERNAL_API_CALL(LAPACK, dsytrd_, uplo, n, a, lda, d, e, tau, work, lwork);
1520 detail::dsytrd_(&uplo, &n, a, &lda, d, e, tau, work, &lwork, &info);
1524[[nodiscard]]
inline blas_int
syev(
char jobz,
char uplo, blas_int n,
float* a, blas_int lda,
float* w,
float* work,
1529 detail::ssyev_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, &info);
1533[[nodiscard]]
inline blas_int
syev(
char jobz,
char uplo, blas_int n,
double* a, blas_int lda,
double* w,
double* work,
1538 detail::dsyev_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, &info);
1542[[nodiscard]]
inline blas_int
syevd(
char jobz,
char uplo, blas_int n,
float* a, blas_int lda,
float* w,
float* work,
1543 blas_int lwork, blas_int* iwork, blas_int liwork)
1546 UNI20_EXTERNAL_API_CALL(LAPACK, ssyevd_, jobz, uplo, n, a, lda, w, work, lwork, iwork, liwork);
1547 detail::ssyevd_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, iwork, &liwork, &info);
1551[[nodiscard]]
inline blas_int
syevd(
char jobz,
char uplo, blas_int n,
double* a, blas_int lda,
double* w,
double* work,
1552 blas_int lwork, blas_int* iwork, blas_int liwork)
1555 UNI20_EXTERNAL_API_CALL(LAPACK, dsyevd_, jobz, uplo, n, a, lda, w, work, lwork, iwork, liwork);
1556 detail::dsyevd_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, iwork, &liwork, &info);
1560[[nodiscard]]
inline blas_int
syevr(
char jobz,
char range,
char uplo, blas_int n,
float* a, blas_int lda,
float vl,
1561 float vu, blas_int il, blas_int iu,
float abstol, blas_int& selected_count,
1562 float* w,
float* z, blas_int ldz, blas_int* isuppz,
float* work, blas_int lwork,
1563 blas_int* iwork, blas_int liwork)
1566 UNI20_EXTERNAL_API_CALL(LAPACK, ssyevr_, jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, selected_count, w, z,
1567 ldz, isuppz, work, lwork, iwork, liwork);
1568 detail::ssyevr_(&jobz, &range, &uplo, &n, a, &lda, &vl, &vu, &il, &iu, &abstol, &selected_count, w, z, &ldz, isuppz,
1569 work, &lwork, iwork, &liwork, &info);
1573[[nodiscard]]
inline blas_int
syevr(
char jobz,
char range,
char uplo, blas_int n,
double* a, blas_int lda,
double vl,
1574 double vu, blas_int il, blas_int iu,
double abstol, blas_int& selected_count,
1575 double* w,
double* z, blas_int ldz, blas_int* isuppz,
double* work, blas_int lwork,
1576 blas_int* iwork, blas_int liwork)
1579 UNI20_EXTERNAL_API_CALL(LAPACK, dsyevr_, jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, selected_count, w, z,
1580 ldz, isuppz, work, lwork, iwork, liwork);
1581 detail::dsyevr_(&jobz, &range, &uplo, &n, a, &lda, &vl, &vu, &il, &iu, &abstol, &selected_count, w, z, &ldz, isuppz,
1582 work, &lwork, iwork, &liwork, &info);
1586[[nodiscard]]
inline blas_int
sygv(blas_int itype,
char jobz,
char uplo, blas_int n,
float* a, blas_int lda,
float* b,
1587 blas_int ldb,
float* w,
float* work, blas_int lwork)
1590 UNI20_EXTERNAL_API_CALL(LAPACK, ssygv_, itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork);
1591 detail::ssygv_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, &info);
1595[[nodiscard]]
inline blas_int
sygv(blas_int itype,
char jobz,
char uplo, blas_int n,
double* a, blas_int lda,
double* b,
1596 blas_int ldb,
double* w,
double* work, blas_int lwork)
1599 UNI20_EXTERNAL_API_CALL(LAPACK, dsygv_, itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork);
1600 detail::dsygv_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, &info);
1604[[nodiscard]]
inline blas_int
sygvd(blas_int itype,
char jobz,
char uplo, blas_int n,
float* a, blas_int lda,
float* b,
1605 blas_int ldb,
float* w,
float* work, blas_int lwork, blas_int* iwork,
1609 UNI20_EXTERNAL_API_CALL(LAPACK, ssygvd_, itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, iwork, liwork);
1610 detail::ssygvd_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, iwork, &liwork, &info);
1614[[nodiscard]]
inline blas_int
sygvd(blas_int itype,
char jobz,
char uplo, blas_int n,
double* a, blas_int lda,
1615 double* b, blas_int ldb,
double* w,
double* work, blas_int lwork, blas_int* iwork,
1619 UNI20_EXTERNAL_API_CALL(LAPACK, dsygvd_, itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, iwork, liwork);
1620 detail::dsygvd_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, iwork, &liwork, &info);
1624[[nodiscard]]
inline blas_int
sygvx(blas_int itype,
char jobz,
char range,
char uplo, blas_int n,
float* a,
1625 blas_int lda,
float* b, blas_int ldb,
float vl,
float vu, blas_int il, blas_int iu,
1626 float abstol, blas_int& selected_count,
float* w,
float* z, blas_int ldz,
1627 float* work, blas_int lwork, blas_int* iwork, blas_int* ifail)
1630 UNI20_EXTERNAL_API_CALL(LAPACK, ssygvx_, itype, jobz, range, uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol,
1631 selected_count, w, z, ldz, work, lwork, iwork, ifail);
1632 detail::ssygvx_(&itype, &jobz, &range, &uplo, &n, a, &lda, b, &ldb, &vl, &vu, &il, &iu, &abstol, &selected_count, w,
1633 z, &ldz, work, &lwork, iwork, ifail, &info);
1637[[nodiscard]]
inline blas_int
sygvx(blas_int itype,
char jobz,
char range,
char uplo, blas_int n,
double* a,
1638 blas_int lda,
double* b, blas_int ldb,
double vl,
double vu, blas_int il,
1639 blas_int iu,
double abstol, blas_int& selected_count,
double* w,
double* z,
1640 blas_int ldz,
double* work, blas_int lwork, blas_int* iwork, blas_int* ifail)
1643 UNI20_EXTERNAL_API_CALL(LAPACK, dsygvx_, itype, jobz, range, uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol,
1644 selected_count, w, z, ldz, work, lwork, iwork, ifail);
1645 detail::dsygvx_(&itype, &jobz, &range, &uplo, &n, a, &lda, b, &ldb, &vl, &vu, &il, &iu, &abstol, &selected_count, w,
1646 z, &ldz, work, &lwork, iwork, ifail, &info);
1654 UNI20_EXTERNAL_API_CALL(LAPACK, cheev_, jobz, uplo, n, a, lda, w, work, lwork, rwork);
1655 detail::cheev_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, rwork, &info);
1663 UNI20_EXTERNAL_API_CALL(LAPACK, zheev_, jobz, uplo, n, a, lda, w, work, lwork, rwork);
1664 detail::zheev_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, rwork, &info);
1670 blas_int* iwork, blas_int liwork)
1673 UNI20_EXTERNAL_API_CALL(LAPACK, cheevd_, jobz, uplo, n, a, lda, w, work, lwork, rwork, lrwork, iwork, liwork);
1674 detail::cheevd_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, rwork, &lrwork, iwork, &liwork, &info);
1680 blas_int lrwork, blas_int* iwork, blas_int liwork)
1683 UNI20_EXTERNAL_API_CALL(LAPACK, zheevd_, jobz, uplo, n, a, lda, w, work, lwork, rwork, lrwork, iwork, liwork);
1684 detail::zheevd_(&jobz, &uplo, &n, a, &lda, w, work, &lwork, rwork, &lrwork, iwork, &liwork, &info);
1689 blas_int lda,
float vl,
float vu, blas_int il, blas_int iu,
float abstol,
1692 blas_int lrwork, blas_int* iwork, blas_int liwork)
1695 UNI20_EXTERNAL_API_CALL(LAPACK, cheevr_, jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, selected_count, w, z,
1696 ldz, isuppz, work, lwork, rwork, lrwork, iwork, liwork);
1697 detail::cheevr_(&jobz, &range, &uplo, &n, a, &lda, &vl, &vu, &il, &iu, &abstol, &selected_count, w, z, &ldz, isuppz,
1698 work, &lwork, rwork, &lrwork, iwork, &liwork, &info);
1703 blas_int lda,
double vl,
double vu, blas_int il, blas_int iu,
double abstol,
1706 blas_int lrwork, blas_int* iwork, blas_int liwork)
1709 UNI20_EXTERNAL_API_CALL(LAPACK, zheevr_, jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, selected_count, w, z,
1710 ldz, isuppz, work, lwork, rwork, lrwork, iwork, liwork);
1711 detail::zheevr_(&jobz, &range, &uplo, &n, a, &lda, &vl, &vu, &il, &iu, &abstol, &selected_count, w, z, &ldz, isuppz,
1712 work, &lwork, rwork, &lrwork, iwork, &liwork, &info);
1721 UNI20_EXTERNAL_API_CALL(LAPACK, chegv_, itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork);
1722 detail::chegv_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, rwork, &info);
1731 UNI20_EXTERNAL_API_CALL(LAPACK, zhegv_, itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork);
1732 detail::zhegv_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, rwork, &info);
1739 blas_int* iwork, blas_int liwork)
1742 UNI20_EXTERNAL_API_CALL(LAPACK, chegvd_, itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork, lrwork, iwork,
1744 detail::chegvd_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, rwork, &lrwork, iwork, &liwork, &info);
1751 blas_int* iwork, blas_int liwork)
1754 UNI20_EXTERNAL_API_CALL(LAPACK, zhegvd_, itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork, lrwork, iwork,
1756 detail::zhegvd_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, rwork, &lrwork, iwork, &liwork, &info);
1760[[nodiscard]]
inline blas_int
hegvx(blas_int itype,
char jobz,
char range,
char uplo, blas_int n,
1762 float vl,
float vu, blas_int il, blas_int iu,
float abstol,
1768 UNI20_EXTERNAL_API_CALL(LAPACK, chegvx_, itype, jobz, range, uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol,
1769 selected_count, w, z, ldz, work, lwork, rwork, iwork, ifail);
1770 detail::chegvx_(&itype, &jobz, &range, &uplo, &n, a, &lda, b, &ldb, &vl, &vu, &il, &iu, &abstol, &selected_count, w,
1771 z, &ldz, work, &lwork, rwork, iwork, ifail, &info);
1775[[nodiscard]]
inline blas_int
hegvx(blas_int itype,
char jobz,
char range,
char uplo, blas_int n,
1777 double vl,
double vu, blas_int il, blas_int iu,
double abstol,
1783 UNI20_EXTERNAL_API_CALL(LAPACK, zhegvx_, itype, jobz, range, uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol,
1784 selected_count, w, z, ldz, work, lwork, rwork, iwork, ifail);
1785 detail::zhegvx_(&itype, &jobz, &range, &uplo, &n, a, &lda, b, &ldb, &vl, &vu, &il, &iu, &abstol, &selected_count, w,
1786 z, &ldz, work, &lwork, rwork, iwork, ifail, &info);
1790[[nodiscard]]
inline blas_int
geev(
char jobvl,
char jobvr, blas_int n,
float* a, blas_int lda,
float* wr,
float* wi,
1791 float* vl, blas_int ldvl,
float* vr, blas_int ldvr,
float* work, blas_int lwork)
1794 UNI20_EXTERNAL_API_CALL(LAPACK, sgeev_, jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork);
1795 detail::sgeev_(&jobvl, &jobvr, &n, a, &lda, wr, wi, vl, &ldvl, vr, &ldvr, work, &lwork, &info);
1799[[nodiscard]]
inline blas_int
geev(
char jobvl,
char jobvr, blas_int n,
double* a, blas_int lda,
double* wr,
double* wi,
1800 double* vl, blas_int ldvl,
double* vr, blas_int ldvr,
double* work, blas_int lwork)
1803 UNI20_EXTERNAL_API_CALL(LAPACK, dgeev_, jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork);
1804 detail::dgeev_(&jobvl, &jobvr, &n, a, &lda, wr, wi, vl, &ldvl, vr, &ldvr, work, &lwork, &info);
1808[[nodiscard]]
inline blas_int
geevx(
char balanc,
char jobvl,
char jobvr,
char sense, blas_int n,
float* a, blas_int lda,
1809 float* wr,
float* wi,
float* vl, blas_int ldvl,
float* vr, blas_int ldvr,
1810 blas_int& ilo, blas_int& ihi,
float*
scale,
float& abnrm,
float* rconde,
1811 float* rcondv,
float* work, blas_int lwork, blas_int* iwork)
1814 UNI20_EXTERNAL_API_CALL(LAPACK, sgeevx_, balanc, jobvl, jobvr, sense, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, ilo, ihi,
1815 scale, abnrm, rconde, rcondv, work, lwork, iwork);
1816 detail::sgeevx_(&balanc, &jobvl, &jobvr, &sense, &n, a, &lda, wr, wi, vl, &ldvl, vr, &ldvr, &ilo, &ihi,
scale, &abnrm,
1817 rconde, rcondv, work, &lwork, iwork, &info);
1821[[nodiscard]]
inline blas_int
geevx(
char balanc,
char jobvl,
char jobvr,
char sense, blas_int n,
double* a,
1822 blas_int lda,
double* wr,
double* wi,
double* vl, blas_int ldvl,
double* vr,
1823 blas_int ldvr, blas_int& ilo, blas_int& ihi,
double*
scale,
double& abnrm,
1824 double* rconde,
double* rcondv,
double* work, blas_int lwork, blas_int* iwork)
1827 UNI20_EXTERNAL_API_CALL(LAPACK, dgeevx_, balanc, jobvl, jobvr, sense, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, ilo, ihi,
1828 scale, abnrm, rconde, rcondv, work, lwork, iwork);
1829 detail::dgeevx_(&balanc, &jobvl, &jobvr, &sense, &n, a, &lda, wr, wi, vl, &ldvl, vr, &ldvr, &ilo, &ihi,
scale, &abnrm,
1830 rconde, rcondv, work, &lwork, iwork, &info);
1834[[nodiscard]]
inline blas_int
gebal(
char job, blas_int n,
float* a, blas_int lda, blas_int& first, blas_int& last,
1839 detail::sgebal_(&job, &n, a, &lda, &first, &last,
scale, &info);
1843[[nodiscard]]
inline blas_int
gebal(
char job, blas_int n,
double* a, blas_int lda, blas_int& first, blas_int& last,
1848 detail::dgebal_(&job, &n, a, &lda, &first, &last,
scale, &info);
1852[[nodiscard]]
inline blas_int
gebak(
char job,
char side, blas_int n, blas_int first, blas_int last,
float*
scale,
1853 blas_int vector_count,
float* vectors, blas_int leading_dimension)
1856 UNI20_EXTERNAL_API_CALL(LAPACK, sgebak_, job, side, n, first, last,
scale, vector_count, vectors, leading_dimension);
1857 detail::sgebak_(&job, &side, &n, &first, &last,
scale, &vector_count, vectors, &leading_dimension, &info);
1861[[nodiscard]]
inline blas_int
gebak(
char job,
char side, blas_int n, blas_int first, blas_int last,
double*
scale,
1862 blas_int vector_count,
double* vectors, blas_int leading_dimension)
1865 UNI20_EXTERNAL_API_CALL(LAPACK, dgebak_, job, side, n, first, last,
scale, vector_count, vectors, leading_dimension);
1866 detail::dgebak_(&job, &side, &n, &first, &last,
scale, &vector_count, vectors, &leading_dimension, &info);
1873 blas_int lwork,
float* rwork)
1876 UNI20_EXTERNAL_API_CALL(LAPACK, cgeev_, jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork);
1877 detail::cgeev_(&jobvl, &jobvr, &n, a, &lda, w, vl, &ldvl, vr, &ldvr, work, &lwork, rwork, &info);
1884 blas_int lwork,
double* rwork)
1887 UNI20_EXTERNAL_API_CALL(LAPACK, zgeev_, jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork);
1888 detail::zgeev_(&jobvl, &jobvr, &n, a, &lda, w, vl, &ldvl, vr, &ldvr, work, &lwork, rwork, &info);
1892[[nodiscard]]
inline blas_int
gees(
char jobvs,
char sort, blas_int n,
float* a, blas_int lda,
1893 blas_int& selected_dimension,
float* wr,
float* wi,
float* vs, blas_int ldvs,
1894 float* work, blas_int lwork, blas_int* bwork)
1897 UNI20_EXTERNAL_API_CALL(LAPACK, sgees_, jobvs, sort, n, a, lda, selected_dimension, wr, wi, vs, ldvs, work, lwork,
1899 detail::sgees_(&jobvs, &sort,
nullptr, &n, a, &lda, &selected_dimension, wr, wi, vs, &ldvs, work, &lwork, bwork,
1904[[nodiscard]]
inline blas_int
gees(
char jobvs,
char sort, blas_int n,
double* a, blas_int lda,
1905 blas_int& selected_dimension,
double* wr,
double* wi,
double* vs, blas_int ldvs,
1906 double* work, blas_int lwork, blas_int* bwork)
1909 UNI20_EXTERNAL_API_CALL(LAPACK, dgees_, jobvs, sort, n, a, lda, selected_dimension, wr, wi, vs, ldvs, work, lwork,
1911 detail::dgees_(&jobvs, &sort,
nullptr, &n, a, &lda, &selected_dimension, wr, wi, vs, &ldvs, work, &lwork, bwork,
1922 UNI20_EXTERNAL_API_CALL(LAPACK, cgees_, jobvs, sort, n, a, lda, selected_dimension, w, vs, ldvs, work, lwork, rwork,
1924 detail::cgees_(&jobvs, &sort,
nullptr, &n, a, &lda, &selected_dimension, w, vs, &ldvs, work, &lwork, rwork, bwork,
1935 UNI20_EXTERNAL_API_CALL(LAPACK, zgees_, jobvs, sort, n, a, lda, selected_dimension, w, vs, ldvs, work, lwork, rwork,
1937 detail::zgees_(&jobvs, &sort,
nullptr, &n, a, &lda, &selected_dimension, w, vs, &ldvs, work, &lwork, rwork, bwork,
1942[[nodiscard]]
inline blas_int
hseqr(
char job,
char compz, blas_int n, blas_int first, blas_int last,
float* h,
1943 blas_int ldh,
float* wr,
float* wi,
float* z, blas_int ldz,
float* work,
1947 UNI20_EXTERNAL_API_CALL(LAPACK, shseqr_, job, compz, n, first, last, h, ldh, wr, wi, z, ldz, work, lwork);
1948 detail::shseqr_(&job, &compz, &n, &first, &last, h, &ldh, wr, wi, z, &ldz, work, &lwork, &info);
1952[[nodiscard]]
inline blas_int
hseqr(
char job,
char compz, blas_int n, blas_int first, blas_int last,
double* h,
1953 blas_int ldh,
double* wr,
double* wi,
double* z, blas_int ldz,
double* work,
1957 UNI20_EXTERNAL_API_CALL(LAPACK, dhseqr_, job, compz, n, first, last, h, ldh, wr, wi, z, ldz, work, lwork);
1958 detail::dhseqr_(&job, &compz, &n, &first, &last, h, &ldh, wr, wi, z, &ldz, work, &lwork, &info);
1962[[nodiscard]]
inline blas_int
trexc(
char compq, blas_int n,
float* t, blas_int ldt,
float* q, blas_int ldq,
1963 blas_int& first, blas_int& last,
float* work)
1966 UNI20_EXTERNAL_API_CALL(LAPACK, strexc_, compq, n, t, ldt, q, ldq, first, last, work);
1967 detail::strexc_(&compq, &n, t, &ldt, q, &ldq, &first, &last, work, &info);
1971[[nodiscard]]
inline blas_int
trexc(
char compq, blas_int n,
double* t, blas_int ldt,
double* q, blas_int ldq,
1972 blas_int& first, blas_int& last,
double* work)
1975 UNI20_EXTERNAL_API_CALL(LAPACK, dtrexc_, compq, n, t, ldt, q, ldq, first, last, work);
1976 detail::dtrexc_(&compq, &n, t, &ldt, q, &ldq, &first, &last, work, &info);
1985 detail::ctrexc_(&compq, &n, t, &ldt, q, &ldq, &first, &last, &info);
1994 detail::ztrexc_(&compq, &n, t, &ldt, q, &ldq, &first, &last, &info);
1998[[nodiscard]]
inline blas_int
trsen(
char job,
char compq, blas_int* select, blas_int n,
float* t, blas_int ldt,
1999 float* q, blas_int ldq,
float* wr,
float* wi, blas_int& selected_dimension,
2000 float& reciprocal_eigenvalue_cluster_condition,
2001 float& reciprocal_invariant_subspace_condition,
float* work, blas_int lwork,
2002 blas_int* iwork, blas_int liwork)
2005 UNI20_EXTERNAL_API_CALL(LAPACK, strsen_, job, compq, select, n, t, ldt, q, ldq, wr, wi, selected_dimension,
2006 reciprocal_eigenvalue_cluster_condition, reciprocal_invariant_subspace_condition, work, lwork,
2008 detail::strsen_(&job, &compq, select, &n, t, &ldt, q, &ldq, wr, wi, &selected_dimension,
2009 &reciprocal_eigenvalue_cluster_condition, &reciprocal_invariant_subspace_condition, work, &lwork,
2010 iwork, &liwork, &info);
2014[[nodiscard]]
inline blas_int
trsen(
char job,
char compq, blas_int* select, blas_int n,
double* t, blas_int ldt,
2015 double* q, blas_int ldq,
double* wr,
double* wi, blas_int& selected_dimension,
2016 double& reciprocal_eigenvalue_cluster_condition,
2017 double& reciprocal_invariant_subspace_condition,
double* work, blas_int lwork,
2018 blas_int* iwork, blas_int liwork)
2021 UNI20_EXTERNAL_API_CALL(LAPACK, dtrsen_, job, compq, select, n, t, ldt, q, ldq, wr, wi, selected_dimension,
2022 reciprocal_eigenvalue_cluster_condition, reciprocal_invariant_subspace_condition, work, lwork,
2024 detail::dtrsen_(&job, &compq, select, &n, t, &ldt, q, &ldq, wr, wi, &selected_dimension,
2025 &reciprocal_eigenvalue_cluster_condition, &reciprocal_invariant_subspace_condition, work, &lwork,
2026 iwork, &liwork, &info);
2030[[nodiscard]]
inline blas_int
trevc(
char side,
char howmny, blas_int* select, blas_int n,
float* t, blas_int ldt,
2031 float* vl, blas_int ldvl,
float* vr, blas_int ldvr, blas_int mm,
2032 blas_int& computed_vectors,
float* work)
2035 UNI20_EXTERNAL_API_CALL(LAPACK, strevc_, side, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr, mm, computed_vectors,
2037 detail::strevc_(&side, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr, &mm, &computed_vectors, work, &info);
2041[[nodiscard]]
inline blas_int
trevc(
char side,
char howmny, blas_int* select, blas_int n,
double* t, blas_int ldt,
2042 double* vl, blas_int ldvl,
double* vr, blas_int ldvr, blas_int mm,
2043 blas_int& computed_vectors,
double* work)
2046 UNI20_EXTERNAL_API_CALL(LAPACK, dtrevc_, side, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr, mm, computed_vectors,
2048 detail::dtrevc_(&side, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr, &mm, &computed_vectors, work, &info);
2052[[nodiscard]]
inline blas_int
trsna(
char job,
char howmny, blas_int* select, blas_int n,
float* t, blas_int ldt,
2053 float* vl, blas_int ldvl,
float* vr, blas_int ldvr,
2054 float* reciprocal_eigenvalue_condition_numbers,
2055 float* reciprocal_eigenvector_condition_numbers, blas_int mm,
2056 blas_int& computed_estimates,
float* work, blas_int ldwork, blas_int* iwork)
2059 UNI20_EXTERNAL_API_CALL(LAPACK, strsna_, job, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr,
2060 reciprocal_eigenvalue_condition_numbers, reciprocal_eigenvector_condition_numbers, mm,
2061 computed_estimates, work, ldwork, iwork);
2062 detail::strsna_(&job, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr, reciprocal_eigenvalue_condition_numbers,
2063 reciprocal_eigenvector_condition_numbers, &mm, &computed_estimates, work, &ldwork, iwork, &info);
2067[[nodiscard]]
inline blas_int
trsna(
char job,
char howmny, blas_int* select, blas_int n,
double* t, blas_int ldt,
2068 double* vl, blas_int ldvl,
double* vr, blas_int ldvr,
2069 double* reciprocal_eigenvalue_condition_numbers,
2070 double* reciprocal_eigenvector_condition_numbers, blas_int mm,
2071 blas_int& computed_estimates,
double* work, blas_int ldwork, blas_int* iwork)
2074 UNI20_EXTERNAL_API_CALL(LAPACK, dtrsna_, job, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr,
2075 reciprocal_eigenvalue_condition_numbers, reciprocal_eigenvector_condition_numbers, mm,
2076 computed_estimates, work, ldwork, iwork);
2077 detail::dtrsna_(&job, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr, reciprocal_eigenvalue_condition_numbers,
2078 reciprocal_eigenvector_condition_numbers, &mm, &computed_estimates, work, &ldwork, iwork, &info);
2082[[nodiscard]]
inline blas_int
ggev(
char jobvl,
char jobvr, blas_int n,
float* a, blas_int lda,
float* b, blas_int ldb,
2083 float* alphar,
float* alphai,
float*
beta,
float* vl, blas_int ldvl,
float* vr,
2084 blas_int ldvr,
float* work, blas_int lwork)
2087 UNI20_EXTERNAL_API_CALL(LAPACK, sggev_, jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai,
beta, vl, ldvl, vr, ldvr,
2089 detail::sggev_(&jobvl, &jobvr, &n, a, &lda, b, &ldb, alphar, alphai,
beta, vl, &ldvl, vr, &ldvr, work, &lwork, &info);
2093[[nodiscard]]
inline blas_int
ggev(
char jobvl,
char jobvr, blas_int n,
double* a, blas_int lda,
double* b, blas_int ldb,
2094 double* alphar,
double* alphai,
double*
beta,
double* vl, blas_int ldvl,
double* vr,
2095 blas_int ldvr,
double* work, blas_int lwork)
2098 UNI20_EXTERNAL_API_CALL(LAPACK, dggev_, jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai,
beta, vl, ldvl, vr, ldvr,
2100 detail::dggev_(&jobvl, &jobvr, &n, a, &lda, b, &ldb, alphar, alphai,
beta, vl, &ldvl, vr, &ldvr, work, &lwork, &info);
2104[[nodiscard]]
inline blas_int
ggevx(
char balanc,
char jobvl,
char jobvr,
char sense, blas_int n,
float* a, blas_int lda,
2105 float* b, blas_int ldb,
float* alphar,
float* alphai,
float*
beta,
float* vl,
2106 blas_int ldvl,
float* vr, blas_int ldvr, blas_int& ilo, blas_int& ihi,
2107 float* lscale,
float* rscale,
float& abnrm,
float& bbnrm,
float* rconde,
2108 float* rcondv,
float* work, blas_int lwork, blas_int* iwork, blas_int* bwork)
2111 UNI20_EXTERNAL_API_CALL(LAPACK, sggevx_, balanc, jobvl, jobvr, sense, n, a, lda, b, ldb, alphar, alphai,
beta, vl,
2112 ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, iwork,
2114 detail::sggevx_(&balanc, &jobvl, &jobvr, &sense, &n, a, &lda, b, &ldb, alphar, alphai,
beta, vl, &ldvl, vr, &ldvr,
2115 &ilo, &ihi, lscale, rscale, &abnrm, &bbnrm, rconde, rcondv, work, &lwork, iwork, bwork, &info);
2119[[nodiscard]]
inline blas_int
ggevx(
char balanc,
char jobvl,
char jobvr,
char sense, blas_int n,
double* a,
2120 blas_int lda,
double* b, blas_int ldb,
double* alphar,
double* alphai,
double*
beta,
2121 double* vl, blas_int ldvl,
double* vr, blas_int ldvr, blas_int& ilo, blas_int& ihi,
2122 double* lscale,
double* rscale,
double& abnrm,
double& bbnrm,
double* rconde,
2123 double* rcondv,
double* work, blas_int lwork, blas_int* iwork, blas_int* bwork)
2126 UNI20_EXTERNAL_API_CALL(LAPACK, dggevx_, balanc, jobvl, jobvr, sense, n, a, lda, b, ldb, alphar, alphai,
beta, vl,
2127 ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, iwork,
2129 detail::dggevx_(&balanc, &jobvl, &jobvr, &sense, &n, a, &lda, b, &ldb, alphar, alphai,
beta, vl, &ldvl, vr, &ldvr,
2130 &ilo, &ihi, lscale, rscale, &abnrm, &bbnrm, rconde, rcondv, work, &lwork, iwork, bwork, &info);
2134[[nodiscard]]
inline blas_int
ggbal(
char job, blas_int n,
float* a, blas_int lda,
float* b, blas_int ldb,
2135 blas_int& first, blas_int& last,
float* lscale,
float* rscale,
float* work)
2138 UNI20_EXTERNAL_API_CALL(LAPACK, sggbal_, job, n, a, lda, b, ldb, first, last, lscale, rscale, work);
2139 detail::sggbal_(&job, &n, a, &lda, b, &ldb, &first, &last, lscale, rscale, work, &info);
2143[[nodiscard]]
inline blas_int
ggbal(
char job, blas_int n,
double* a, blas_int lda,
double* b, blas_int ldb,
2144 blas_int& first, blas_int& last,
double* lscale,
double* rscale,
double* work)
2147 UNI20_EXTERNAL_API_CALL(LAPACK, dggbal_, job, n, a, lda, b, ldb, first, last, lscale, rscale, work);
2148 detail::dggbal_(&job, &n, a, &lda, b, &ldb, &first, &last, lscale, rscale, work, &info);
2152[[nodiscard]]
inline blas_int
ggbak(
char job,
char side, blas_int n, blas_int first, blas_int last,
float* lscale,
2153 float* rscale, blas_int vector_count,
float* vectors, blas_int leading_dimension)
2156 UNI20_EXTERNAL_API_CALL(LAPACK, sggbak_, job, side, n, first, last, lscale, rscale, vector_count, vectors,
2158 detail::sggbak_(&job, &side, &n, &first, &last, lscale, rscale, &vector_count, vectors, &leading_dimension, &info);
2162[[nodiscard]]
inline blas_int
ggbak(
char job,
char side, blas_int n, blas_int first, blas_int last,
double* lscale,
2163 double* rscale, blas_int vector_count,
double* vectors, blas_int leading_dimension)
2166 UNI20_EXTERNAL_API_CALL(LAPACK, dggbak_, job, side, n, first, last, lscale, rscale, vector_count, vectors,
2168 detail::dggbak_(&job, &side, &n, &first, &last, lscale, rscale, &vector_count, vectors, &leading_dimension, &info);
2172[[nodiscard]]
inline blas_int
gges(
char jobvsl,
char jobvsr,
char sort, blas_int n,
float* a, blas_int lda,
float* b,
2173 blas_int ldb, blas_int& selected_dimension,
float* alphar,
float* alphai,
2174 float*
beta,
float* vsl, blas_int ldvsl,
float* vsr, blas_int ldvsr,
float* work,
2175 blas_int lwork, blas_int* bwork)
2178 UNI20_EXTERNAL_API_CALL(LAPACK, sgges_, jobvsl, jobvsr, sort, n, a, lda, b, ldb, selected_dimension, alphar, alphai,
2179 beta, vsl, ldvsl, vsr, ldvsr, work, lwork, bwork);
2180 detail::sgges_(&jobvsl, &jobvsr, &sort,
nullptr, &n, a, &lda, b, &ldb, &selected_dimension, alphar, alphai,
beta, vsl,
2181 &ldvsl, vsr, &ldvsr, work, &lwork, bwork, &info);
2185[[nodiscard]]
inline blas_int
gges(
char jobvsl,
char jobvsr,
char sort, blas_int n,
double* a, blas_int lda,
double* b,
2186 blas_int ldb, blas_int& selected_dimension,
double* alphar,
double* alphai,
2187 double*
beta,
double* vsl, blas_int ldvsl,
double* vsr, blas_int ldvsr,
double* work,
2188 blas_int lwork, blas_int* bwork)
2191 UNI20_EXTERNAL_API_CALL(LAPACK, dgges_, jobvsl, jobvsr, sort, n, a, lda, b, ldb, selected_dimension, alphar, alphai,
2192 beta, vsl, ldvsl, vsr, ldvsr, work, lwork, bwork);
2193 detail::dgges_(&jobvsl, &jobvsr, &sort,
nullptr, &n, a, &lda, b, &ldb, &selected_dimension, alphar, alphai,
beta, vsl,
2194 &ldvsl, vsr, &ldvsr, work, &lwork, bwork, &info);
2198[[nodiscard]]
inline blas_int
gghrd(
char compq,
char compz, blas_int n, blas_int first, blas_int last,
float* a,
2199 blas_int lda,
float* b, blas_int ldb,
float* q, blas_int ldq,
float* z,
2203 UNI20_EXTERNAL_API_CALL(LAPACK, sgghrd_, compq, compz, n, first, last, a, lda, b, ldb, q, ldq, z, ldz);
2204 detail::sgghrd_(&compq, &compz, &n, &first, &last, a, &lda, b, &ldb, q, &ldq, z, &ldz, &info);
2208[[nodiscard]]
inline blas_int
gghrd(
char compq,
char compz, blas_int n, blas_int first, blas_int last,
double* a,
2209 blas_int lda,
double* b, blas_int ldb,
double* q, blas_int ldq,
double* z,
2213 UNI20_EXTERNAL_API_CALL(LAPACK, dgghrd_, compq, compz, n, first, last, a, lda, b, ldb, q, ldq, z, ldz);
2214 detail::dgghrd_(&compq, &compz, &n, &first, &last, a, &lda, b, &ldb, q, &ldq, z, &ldz, &info);
2218[[nodiscard]]
inline blas_int
hgeqz(
char job,
char compq,
char compz, blas_int n, blas_int first, blas_int last,
2219 float* h, blas_int ldh,
float* t, blas_int ldt,
float* alphar,
float* alphai,
2220 float*
beta,
float* q, blas_int ldq,
float* z, blas_int ldz,
float* work,
2224 UNI20_EXTERNAL_API_CALL(LAPACK, shgeqz_, job, compq, compz, n, first, last, h, ldh, t, ldt, alphar, alphai,
beta, q,
2225 ldq, z, ldz, work, lwork);
2226 detail::shgeqz_(&job, &compq, &compz, &n, &first, &last, h, &ldh, t, &ldt, alphar, alphai,
beta, q, &ldq, z, &ldz,
2227 work, &lwork, &info);
2231[[nodiscard]]
inline blas_int
hgeqz(
char job,
char compq,
char compz, blas_int n, blas_int first, blas_int last,
2232 double* h, blas_int ldh,
double* t, blas_int ldt,
double* alphar,
double* alphai,
2233 double*
beta,
double* q, blas_int ldq,
double* z, blas_int ldz,
double* work,
2237 UNI20_EXTERNAL_API_CALL(LAPACK, dhgeqz_, job, compq, compz, n, first, last, h, ldh, t, ldt, alphar, alphai,
beta, q,
2238 ldq, z, ldz, work, lwork);
2239 detail::dhgeqz_(&job, &compq, &compz, &n, &first, &last, h, &ldh, t, &ldt, alphar, alphai,
beta, q, &ldq, z, &ldz,
2240 work, &lwork, &info);
2244[[nodiscard]]
inline blas_int
tgexc(
bool wantq,
bool wantz, blas_int n,
float* a, blas_int lda,
float* b, blas_int ldb,
2245 float* q, blas_int ldq,
float* z, blas_int ldz, blas_int& first, blas_int& last,
2246 float* work, blas_int lwork)
2249 blas_int
const fortran_wantq = wantq ? 1 : 0;
2250 blas_int
const fortran_wantz = wantz ? 1 : 0;
2251 UNI20_EXTERNAL_API_CALL(LAPACK, stgexc_, wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, first, last, work, lwork);
2252 detail::stgexc_(&fortran_wantq, &fortran_wantz, &n, a, &lda, b, &ldb, q, &ldq, z, &ldz, &first, &last, work, &lwork,
2257[[nodiscard]]
inline blas_int
tgexc(
bool wantq,
bool wantz, blas_int n,
double* a, blas_int lda,
double* b,
2258 blas_int ldb,
double* q, blas_int ldq,
double* z, blas_int ldz, blas_int& first,
2259 blas_int& last,
double* work, blas_int lwork)
2262 blas_int
const fortran_wantq = wantq ? 1 : 0;
2263 blas_int
const fortran_wantz = wantz ? 1 : 0;
2264 UNI20_EXTERNAL_API_CALL(LAPACK, dtgexc_, wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, first, last, work, lwork);
2265 detail::dtgexc_(&fortran_wantq, &fortran_wantz, &n, a, &lda, b, &ldb, q, &ldq, z, &ldz, &first, &last, work, &lwork,
2270[[nodiscard]]
inline blas_int
tgsen(blas_int ijob,
bool wantq,
bool wantz, blas_int* select, blas_int n,
float* a,
2271 blas_int lda,
float* b, blas_int ldb,
float* alphar,
float* alphai,
float*
beta,
2272 float* q, blas_int ldq,
float* z, blas_int ldz, blas_int& selected_dimension,
2273 float& pl,
float& pr,
float* dif,
float* work, blas_int lwork, blas_int* iwork,
2277 blas_int
const fortran_wantq = wantq ? 1 : 0;
2278 blas_int
const fortran_wantz = wantz ? 1 : 0;
2279 UNI20_EXTERNAL_API_CALL(LAPACK, stgsen_, ijob, wantq, wantz, select, n, a, lda, b, ldb, alphar, alphai,
beta, q, ldq,
2280 z, ldz, selected_dimension, pl, pr, dif, work, lwork, iwork, liwork);
2281 detail::stgsen_(&ijob, &fortran_wantq, &fortran_wantz, select, &n, a, &lda, b, &ldb, alphar, alphai,
beta, q, &ldq, z,
2282 &ldz, &selected_dimension, &pl, &pr, dif, work, &lwork, iwork, &liwork, &info);
2286[[nodiscard]]
inline blas_int
tgsen(blas_int ijob,
bool wantq,
bool wantz, blas_int* select, blas_int n,
double* a,
2287 blas_int lda,
double* b, blas_int ldb,
double* alphar,
double* alphai,
double*
beta,
2288 double* q, blas_int ldq,
double* z, blas_int ldz, blas_int& selected_dimension,
2289 double& pl,
double& pr,
double* dif,
double* work, blas_int lwork, blas_int* iwork,
2293 blas_int
const fortran_wantq = wantq ? 1 : 0;
2294 blas_int
const fortran_wantz = wantz ? 1 : 0;
2295 UNI20_EXTERNAL_API_CALL(LAPACK, dtgsen_, ijob, wantq, wantz, select, n, a, lda, b, ldb, alphar, alphai,
beta, q, ldq,
2296 z, ldz, selected_dimension, pl, pr, dif, work, lwork, iwork, liwork);
2297 detail::dtgsen_(&ijob, &fortran_wantq, &fortran_wantz, select, &n, a, &lda, b, &ldb, alphar, alphai,
beta, q, &ldq, z,
2298 &ldz, &selected_dimension, &pl, &pr, dif, work, &lwork, iwork, &liwork, &info);
2302[[nodiscard]]
inline blas_int
tgevc(
char side,
char howmny, blas_int* select, blas_int n,
float* s, blas_int lds,
2303 float*
p, blas_int ldp,
float* vl, blas_int ldvl,
float* vr, blas_int ldvr,
2304 blas_int mm, blas_int& computed_vectors,
float* work)
2307 UNI20_EXTERNAL_API_CALL(LAPACK, stgevc_, side, howmny, select, n, s, lds,
p, ldp, vl, ldvl, vr, ldvr, mm,
2308 computed_vectors, work);
2309 detail::stgevc_(&side, &howmny, select, &n, s, &lds,
p, &ldp, vl, &ldvl, vr, &ldvr, &mm, &computed_vectors, work,
2314[[nodiscard]]
inline blas_int
tgevc(
char side,
char howmny, blas_int* select, blas_int n,
double* s, blas_int lds,
2315 double*
p, blas_int ldp,
double* vl, blas_int ldvl,
double* vr, blas_int ldvr,
2316 blas_int mm, blas_int& computed_vectors,
double* work)
2319 UNI20_EXTERNAL_API_CALL(LAPACK, dtgevc_, side, howmny, select, n, s, lds,
p, ldp, vl, ldvl, vr, ldvr, mm,
2320 computed_vectors, work);
2321 detail::dtgevc_(&side, &howmny, select, &n, s, &lds,
p, &ldp, vl, &ldvl, vr, &ldvr, &mm, &computed_vectors, work,
2326[[nodiscard]]
inline blas_int
tgsna(
char job,
char howmny, blas_int* select, blas_int n,
float* a, blas_int lda,
2327 float* b, blas_int ldb,
float* vl, blas_int ldvl,
float* vr, blas_int ldvr,
2328 float* reciprocal_eigenvalue_condition_numbers,
2329 float* reciprocal_eigenvector_condition_numbers, blas_int mm,
2330 blas_int& computed_estimates,
float* work, blas_int lwork, blas_int* iwork)
2333 UNI20_EXTERNAL_API_CALL(LAPACK, stgsna_, job, howmny, select, n, a, lda, b, ldb, vl, ldvl, vr, ldvr,
2334 reciprocal_eigenvalue_condition_numbers, reciprocal_eigenvector_condition_numbers, mm,
2335 computed_estimates, work, lwork, iwork);
2336 detail::stgsna_(&job, &howmny, select, &n, a, &lda, b, &ldb, vl, &ldvl, vr, &ldvr,
2337 reciprocal_eigenvalue_condition_numbers, reciprocal_eigenvector_condition_numbers, &mm,
2338 &computed_estimates, work, &lwork, iwork, &info);
2342[[nodiscard]]
inline blas_int
tgsna(
char job,
char howmny, blas_int* select, blas_int n,
double* a, blas_int lda,
2343 double* b, blas_int ldb,
double* vl, blas_int ldvl,
double* vr, blas_int ldvr,
2344 double* reciprocal_eigenvalue_condition_numbers,
2345 double* reciprocal_eigenvector_condition_numbers, blas_int mm,
2346 blas_int& computed_estimates,
double* work, blas_int lwork, blas_int* iwork)
2349 UNI20_EXTERNAL_API_CALL(LAPACK, dtgsna_, job, howmny, select, n, a, lda, b, ldb, vl, ldvl, vr, ldvr,
2350 reciprocal_eigenvalue_condition_numbers, reciprocal_eigenvector_condition_numbers, mm,
2351 computed_estimates, work, lwork, iwork);
2352 detail::dtgsna_(&job, &howmny, select, &n, a, &lda, b, &ldb, vl, &ldvl, vr, &ldvr,
2353 reciprocal_eigenvalue_condition_numbers, reciprocal_eigenvector_condition_numbers, &mm,
2354 &computed_estimates, work, &lwork, iwork, &info);
2358[[nodiscard]]
inline blas_int
orgbr(
char vect, blas_int m, blas_int n, blas_int k,
float* a, blas_int lda,
float* tau,
2359 float* work, blas_int lwork)
2362 UNI20_EXTERNAL_API_CALL(LAPACK, sorgbr_, vect, m, n, k, a, lda, tau, work, lwork);
2363 detail::sorgbr_(&vect, &m, &n, &k, a, &lda, tau, work, &lwork, &info);
2367[[nodiscard]]
inline blas_int
orgbr(
char vect, blas_int m, blas_int n, blas_int k,
double* a, blas_int lda,
double* tau,
2368 double* work, blas_int lwork)
2371 UNI20_EXTERNAL_API_CALL(LAPACK, dorgbr_, vect, m, n, k, a, lda, tau, work, lwork);
2372 detail::dorgbr_(&vect, &m, &n, &k, a, &lda, tau, work, &lwork, &info);
2376[[nodiscard]]
inline blas_int
orghr(blas_int n, blas_int first, blas_int last,
float* a, blas_int lda,
float const* tau,
2377 float* work, blas_int lwork)
2381 detail::sorghr_(&n, &first, &last, a, &lda, tau, work, &lwork, &info);
2385[[nodiscard]]
inline blas_int
orghr(blas_int n, blas_int first, blas_int last,
double* a, blas_int lda,
2386 double const* tau,
double* work, blas_int lwork)
2390 detail::dorghr_(&n, &first, &last, a, &lda, tau, work, &lwork, &info);
2394[[nodiscard]]
inline blas_int
orgtr(
char uplo, blas_int n,
float* a, blas_int lda,
float const* tau,
float* work,
2399 detail::sorgtr_(&uplo, &n, a, &lda, tau, work, &lwork, &info);
2403[[nodiscard]]
inline blas_int
orgtr(
char uplo, blas_int n,
double* a, blas_int lda,
double const* tau,
double* work,
2408 detail::dorgtr_(&uplo, &n, a, &lda, tau, work, &lwork, &info);
2412[[nodiscard]]
inline blas_int
ormhr(
char side,
char trans, blas_int m, blas_int n, blas_int first, blas_int last,
2413 float* a, blas_int lda,
float const* tau,
float*
c, blas_int ldc,
float* work,
2417 UNI20_EXTERNAL_API_CALL(LAPACK, sormhr_, side, trans, m, n, first, last, a, lda, tau,
c, ldc, work, lwork);
2418 detail::sormhr_(&side, &trans, &m, &n, &first, &last, a, &lda, tau,
c, &ldc, work, &lwork, &info);
2422[[nodiscard]]
inline blas_int
ormhr(
char side,
char trans, blas_int m, blas_int n, blas_int first, blas_int last,
2423 double* a, blas_int lda,
double const* tau,
double*
c, blas_int ldc,
double* work,
2427 UNI20_EXTERNAL_API_CALL(LAPACK, dormhr_, side, trans, m, n, first, last, a, lda, tau,
c, ldc, work, lwork);
2428 detail::dormhr_(&side, &trans, &m, &n, &first, &last, a, &lda, tau,
c, &ldc, work, &lwork, &info);
2432[[nodiscard]]
inline blas_int
ormtr(
char side,
char uplo,
char trans, blas_int m, blas_int n,
float* a, blas_int lda,
2433 float const* tau,
float*
c, blas_int ldc,
float* work, blas_int lwork)
2436 UNI20_EXTERNAL_API_CALL(LAPACK, sormtr_, side, uplo, trans, m, n, a, lda, tau,
c, ldc, work, lwork);
2437 detail::sormtr_(&side, &uplo, &trans, &m, &n, a, &lda, tau,
c, &ldc, work, &lwork, &info);
2441[[nodiscard]]
inline blas_int
ormtr(
char side,
char uplo,
char trans, blas_int m, blas_int n,
double* a, blas_int lda,
2442 double const* tau,
double*
c, blas_int ldc,
double* work, blas_int lwork)
2445 UNI20_EXTERNAL_API_CALL(LAPACK, dormtr_, side, uplo, trans, m, n, a, lda, tau,
c, ldc, work, lwork);
2446 detail::dormtr_(&side, &uplo, &trans, &m, &n, a, &lda, tau,
c, &ldc, work, &lwork, &info);
2450[[nodiscard]]
inline blas_int
ormbr(
char vect,
char side,
char trans, blas_int m, blas_int n, blas_int k,
float* a,
2451 blas_int lda,
float* tau,
float*
c, blas_int ldc,
float* work, blas_int lwork)
2454 UNI20_EXTERNAL_API_CALL(LAPACK, sormbr_, vect, side, trans, m, n, k, a, lda, tau,
c, ldc, work, lwork);
2455 detail::sormbr_(&vect, &side, &trans, &m, &n, &k, a, &lda, tau,
c, &ldc, work, &lwork, &info);
2459[[nodiscard]]
inline blas_int
ormbr(
char vect,
char side,
char trans, blas_int m, blas_int n, blas_int k,
double* a,
2460 blas_int lda,
double* tau,
double*
c, blas_int ldc,
double* work, blas_int lwork)
2463 UNI20_EXTERNAL_API_CALL(LAPACK, dormbr_, vect, side, trans, m, n, k, a, lda, tau,
c, ldc, work, lwork);
2464 detail::dormbr_(&vect, &side, &trans, &m, &n, &k, a, &lda, tau,
c, &ldc, work, &lwork, &info);
2468[[nodiscard]]
inline blas_int
gesvd(
char jobu,
char jobvt, blas_int m, blas_int n,
float* a, blas_int lda,
float* s,
2469 float* u, blas_int ldu,
float* vt, blas_int ldvt,
float* work, blas_int lwork)
2472 UNI20_EXTERNAL_API_CALL(LAPACK, sgesvd_, jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork);
2473 detail::sgesvd_(&jobu, &jobvt, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork, &info);
2477[[nodiscard]]
inline blas_int
gesvd(
char jobu,
char jobvt, blas_int m, blas_int n,
double* a, blas_int lda,
double* s,
2478 double* u, blas_int ldu,
double* vt, blas_int ldvt,
double* work, blas_int lwork)
2481 UNI20_EXTERNAL_API_CALL(LAPACK, dgesvd_, jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork);
2482 detail::dgesvd_(&jobu, &jobvt, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork, &info);
2489 blas_int lwork,
float* rwork)
2492 UNI20_EXTERNAL_API_CALL(LAPACK, cgesvd_, jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork);
2493 detail::cgesvd_(&jobu, &jobvt, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork, rwork, &info);
2500 blas_int lwork,
double* rwork)
2503 UNI20_EXTERNAL_API_CALL(LAPACK, zgesvd_, jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork);
2504 detail::zgesvd_(&jobu, &jobvt, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork, rwork, &info);
2508[[nodiscard]]
inline blas_int
gesdd(
char jobz, blas_int m, blas_int n,
float* a, blas_int lda,
float* s,
float* u,
2509 blas_int ldu,
float* vt, blas_int ldvt,
float* work, blas_int lwork,
2513 UNI20_EXTERNAL_API_CALL(LAPACK, sgesdd_, jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork);
2514 detail::sgesdd_(&jobz, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork, iwork, &info);
2518[[nodiscard]]
inline blas_int
gesdd(
char jobz, blas_int m, blas_int n,
double* a, blas_int lda,
double* s,
double* u,
2519 blas_int ldu,
double* vt, blas_int ldvt,
double* work, blas_int lwork,
2523 UNI20_EXTERNAL_API_CALL(LAPACK, dgesdd_, jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork);
2524 detail::dgesdd_(&jobz, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork, iwork, &info);
2533 UNI20_EXTERNAL_API_CALL(LAPACK, cgesdd_, jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork);
2534 detail::cgesdd_(&jobz, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork, rwork, iwork, &info);
2544 UNI20_EXTERNAL_API_CALL(LAPACK, zgesdd_, jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork);
2545 detail::zgesdd_(&jobz, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work, &lwork, rwork, iwork, &info);
2549[[nodiscard]]
inline blas_int
gesvdx(
char jobu,
char jobvt,
char range, blas_int m, blas_int n,
float* a, blas_int lda,
2550 float vl,
float vu, blas_int il, blas_int iu, blas_int& selected_count,
2551 float* singular_values,
float* u, blas_int ldu,
float* vt, blas_int ldvt,
2552 float* work, blas_int lwork, blas_int* iwork)
2555 UNI20_EXTERNAL_API_CALL(LAPACK, sgesvdx_, jobu, jobvt, range, m, n, a, lda, vl, vu, il, iu, selected_count,
2556 singular_values, u, ldu, vt, ldvt, work, lwork, iwork);
2557 detail::sgesvdx_(&jobu, &jobvt, &range, &m, &n, a, &lda, &vl, &vu, &il, &iu, &selected_count, singular_values, u,
2558 &ldu, vt, &ldvt, work, &lwork, iwork, &info);
2562[[nodiscard]]
inline blas_int
gesvdx(
char jobu,
char jobvt,
char range, blas_int m, blas_int n,
double* a, blas_int lda,
2563 double vl,
double vu, blas_int il, blas_int iu, blas_int& selected_count,
2564 double* singular_values,
double* u, blas_int ldu,
double* vt, blas_int ldvt,
2565 double* work, blas_int lwork, blas_int* iwork)
2568 UNI20_EXTERNAL_API_CALL(LAPACK, dgesvdx_, jobu, jobvt, range, m, n, a, lda, vl, vu, il, iu, selected_count,
2569 singular_values, u, ldu, vt, ldvt, work, lwork, iwork);
2570 detail::dgesvdx_(&jobu, &jobvt, &range, &m, &n, a, &lda, &vl, &vu, &il, &iu, &selected_count, singular_values, u,
2571 &ldu, vt, &ldvt, work, &lwork, iwork, &info);
2575[[nodiscard]]
inline blas_int
gesvdx(
char jobu,
char jobvt,
char range, blas_int m, blas_int n,
2577 blas_int iu, blas_int& selected_count,
float* singular_values,
2582 UNI20_EXTERNAL_API_CALL(LAPACK, cgesvdx_, jobu, jobvt, range, m, n, a, lda, vl, vu, il, iu, selected_count,
2583 singular_values, u, ldu, vt, ldvt, work, lwork, rwork, iwork);
2584 detail::cgesvdx_(&jobu, &jobvt, &range, &m, &n, a, &lda, &vl, &vu, &il, &iu, &selected_count, singular_values, u,
2585 &ldu, vt, &ldvt, work, &lwork, rwork, iwork, &info);
2589[[nodiscard]]
inline blas_int
gesvdx(
char jobu,
char jobvt,
char range, blas_int m, blas_int n,
2591 blas_int iu, blas_int& selected_count,
double* singular_values,
2596 UNI20_EXTERNAL_API_CALL(LAPACK, zgesvdx_, jobu, jobvt, range, m, n, a, lda, vl, vu, il, iu, selected_count,
2597 singular_values, u, ldu, vt, ldvt, work, lwork, rwork, iwork);
2598 detail::zgesvdx_(&jobu, &jobvt, &range, &m, &n, a, &lda, &vl, &vu, &il, &iu, &selected_count, singular_values, u,
2599 &ldu, vt, &ldvt, work, &lwork, rwork, iwork, &info);
2603[[nodiscard]]
inline blas_int
bdsqr(
char uplo, blas_int n, blas_int ncvt, blas_int nru, blas_int ncc,
float* d,
2604 float* e,
float* vt, blas_int ldvt,
float* u, blas_int ldu,
float*
c, blas_int ldc,
2608 UNI20_EXTERNAL_API_CALL(LAPACK, sbdsqr_, uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u, ldu,
c, ldc, work);
2609 detail::sbdsqr_(&uplo, &n, &ncvt, &nru, &ncc, d, e, vt, &ldvt, u, &ldu,
c, &ldc, work, &info);
2613[[nodiscard]]
inline blas_int
bdsqr(
char uplo, blas_int n, blas_int ncvt, blas_int nru, blas_int ncc,
double* d,
2614 double* e,
double* vt, blas_int ldvt,
double* u, blas_int ldu,
double*
c,
2615 blas_int ldc,
double* work)
2618 UNI20_EXTERNAL_API_CALL(LAPACK, dbdsqr_, uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u, ldu,
c, ldc, work);
2619 detail::dbdsqr_(&uplo, &n, &ncvt, &nru, &ncc, d, e, vt, &ldvt, u, &ldu,
c, &ldc, work, &info);
2623[[nodiscard]]
inline blas_int
bdsdc(
char uplo,
char compq, blas_int n,
float* d,
float* e,
float* u, blas_int ldu,
2624 float* vt, blas_int ldvt,
float* q, blas_int* iq,
float* work, blas_int* iwork)
2627 UNI20_EXTERNAL_API_CALL(LAPACK, sbdsdc_, uplo, compq, n, d, e, u, ldu, vt, ldvt, q, iq, work, iwork);
2628 detail::sbdsdc_(&uplo, &compq, &n, d, e, u, &ldu, vt, &ldvt, q, iq, work, iwork, &info);
2632[[nodiscard]]
inline blas_int
bdsdc(
char uplo,
char compq, blas_int n,
double* d,
double* e,
double* u, blas_int ldu,
2633 double* vt, blas_int ldvt,
double* q, blas_int* iq,
double* work, blas_int* iwork)
2636 UNI20_EXTERNAL_API_CALL(LAPACK, dbdsdc_, uplo, compq, n, d, e, u, ldu, vt, ldvt, q, iq, work, iwork);
2637 detail::dbdsdc_(&uplo, &compq, &n, d, e, u, &ldu, vt, &ldvt, q, iq, work, iwork, &info);
2641[[nodiscard]]
inline blas_int
bdsvdx(
char uplo,
char jobz,
char range, blas_int n,
float* d,
float* e,
float vl,
2642 float vu, blas_int il, blas_int iu, blas_int& selected_count,
2643 float* singular_values,
float* z, blas_int ldz,
float* work, blas_int* iwork)
2646 UNI20_EXTERNAL_API_CALL(LAPACK, sbdsvdx_, uplo, jobz, range, n, d, e, vl, vu, il, iu, selected_count, singular_values,
2647 z, ldz, work, iwork);
2648 detail::sbdsvdx_(&uplo, &jobz, &range, &n, d, e, &vl, &vu, &il, &iu, &selected_count, singular_values, z, &ldz, work,
2653[[nodiscard]]
inline blas_int
bdsvdx(
char uplo,
char jobz,
char range, blas_int n,
double* d,
double* e,
double vl,
2654 double vu, blas_int il, blas_int iu, blas_int& selected_count,
2655 double* singular_values,
double* z, blas_int ldz,
double* work, blas_int* iwork)
2658 UNI20_EXTERNAL_API_CALL(LAPACK, dbdsvdx_, uplo, jobz, range, n, d, e, vl, vu, il, iu, selected_count, singular_values,
2659 z, ldz, work, iwork);
2660 detail::dbdsvdx_(&uplo, &jobz, &range, &n, d, e, &vl, &vu, &il, &iu, &selected_count, singular_values, z, &ldz, work,
2665[[nodiscard]]
inline blas_int
potrf(
char uplo, blas_int n,
float* a, blas_int lda)
2669 detail::spotrf_(&uplo, &n, a, &lda, &info);
2673[[nodiscard]]
inline blas_int
potrf(
char uplo, blas_int n,
double* a, blas_int lda)
2677 detail::dpotrf_(&uplo, &n, a, &lda, &info);
2681[[nodiscard]]
inline blas_int
pstrf(
char uplo, blas_int n,
float* a, blas_int lda, blas_int* pivots, blas_int& rank,
2682 float tolerance,
float* work)
2686 detail::spstrf_(&uplo, &n, a, &lda, pivots, &rank, &tolerance, work, &info);
2690[[nodiscard]]
inline blas_int
pstrf(
char uplo, blas_int n,
double* a, blas_int lda, blas_int* pivots, blas_int& rank,
2691 double tolerance,
double* work)
2695 detail::dpstrf_(&uplo, &n, a, &lda, pivots, &rank, &tolerance, work, &info);
2699[[nodiscard]]
inline blas_int
potri(
char uplo, blas_int n,
float* a, blas_int lda)
2703 detail::spotri_(&uplo, &n, a, &lda, &info);
2707[[nodiscard]]
inline blas_int
potri(
char uplo, blas_int n,
double* a, blas_int lda)
2711 detail::dpotri_(&uplo, &n, a, &lda, &info);
2715[[nodiscard]]
inline blas_int
potrs(
char uplo, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* b,
2720 detail::spotrs_(&uplo, &n, &nrhs, a, &lda, b, &ldb, &info);
2724[[nodiscard]]
inline blas_int
potrs(
char uplo, blas_int n, blas_int nrhs,
double* a, blas_int lda,
double* b,
2729 detail::dpotrs_(&uplo, &n, &nrhs, a, &lda, b, &ldb, &info);
2733[[nodiscard]]
inline blas_int
porfs(
char uplo, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* factors,
2734 blas_int factor_lda,
float* b, blas_int ldb,
float* x, blas_int ldx,
2735 float* forward_error,
float* backward_error,
float* work, blas_int* iwork)
2738 UNI20_EXTERNAL_API_CALL(LAPACK, sporfs_, uplo, n, nrhs, a, lda, factors, factor_lda, b, ldb, x, ldx, forward_error,
2739 backward_error, work, iwork);
2740 detail::sporfs_(&uplo, &n, &nrhs, a, &lda, factors, &factor_lda, b, &ldb, x, &ldx, forward_error, backward_error,
2741 work, iwork, &info);
2745[[nodiscard]]
inline blas_int
porfs(
char uplo, blas_int n, blas_int nrhs,
double* a, blas_int lda,
double* factors,
2746 blas_int factor_lda,
double* b, blas_int ldb,
double* x, blas_int ldx,
2747 double* forward_error,
double* backward_error,
double* work, blas_int* iwork)
2750 UNI20_EXTERNAL_API_CALL(LAPACK, dporfs_, uplo, n, nrhs, a, lda, factors, factor_lda, b, ldb, x, ldx, forward_error,
2751 backward_error, work, iwork);
2752 detail::dporfs_(&uplo, &n, &nrhs, a, &lda, factors, &factor_lda, b, &ldb, x, &ldx, forward_error, backward_error,
2753 work, iwork, &info);
2757[[nodiscard]]
inline blas_int
posvx(
char fact,
char uplo, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* af,
2758 blas_int ldaf,
char& equed,
float*
scale,
float* b, blas_int ldb,
float* x,
2759 blas_int ldx,
float& rcond,
float* forward_error,
float* backward_error,
2760 float* work, blas_int* iwork)
2763 UNI20_EXTERNAL_API_CALL(LAPACK, sposvx_, fact, uplo, n, nrhs, a, lda, af, ldaf, equed,
scale, b, ldb, x, ldx, work,
2765 detail::sposvx_(&fact, &uplo, &n, &nrhs, a, &lda, af, &ldaf, &equed,
scale, b, &ldb, x, &ldx, &rcond, forward_error,
2766 backward_error, work, iwork, &info);
2770[[nodiscard]]
inline blas_int
posvx(
char fact,
char uplo, blas_int n, blas_int nrhs,
double* a, blas_int lda,
2771 double* af, blas_int ldaf,
char& equed,
double*
scale,
double* b, blas_int ldb,
2772 double* x, blas_int ldx,
double& rcond,
double* forward_error,
2773 double* backward_error,
double* work, blas_int* iwork)
2776 UNI20_EXTERNAL_API_CALL(LAPACK, dposvx_, fact, uplo, n, nrhs, a, lda, af, ldaf, equed,
scale, b, ldb, x, ldx, work,
2778 detail::dposvx_(&fact, &uplo, &n, &nrhs, a, &lda, af, &ldaf, &equed,
scale, b, &ldb, x, &ldx, &rcond, forward_error,
2779 backward_error, work, iwork, &info);
2783[[nodiscard]]
inline blas_int
poequ(blas_int n,
float* a, blas_int lda,
float*
scale,
float& scale_condition,
2788 detail::spoequ_(&n, a, &lda,
scale, &scale_condition, &max_abs, &info);
2792[[nodiscard]]
inline blas_int
poequ(blas_int n,
double* a, blas_int lda,
double*
scale,
double& scale_condition,
2797 detail::dpoequ_(&n, a, &lda,
scale, &scale_condition, &max_abs, &info);
2801[[nodiscard]]
inline blas_int
pocon(
char uplo, blas_int n,
float* a, blas_int lda,
float matrix_one_norm,
float& rcond,
2802 float* work, blas_int* iwork)
2806 detail::spocon_(&uplo, &n, a, &lda, &matrix_one_norm, &rcond, work, iwork, &info);
2810[[nodiscard]]
inline blas_int
pocon(
char uplo, blas_int n,
double* a, blas_int lda,
double matrix_one_norm,
2811 double& rcond,
double* work, blas_int* iwork)
2815 detail::dpocon_(&uplo, &n, a, &lda, &matrix_one_norm, &rcond, work, iwork, &info);
2819[[nodiscard]]
inline blas_int
sytrf(
char uplo, blas_int n,
float* a, blas_int lda, blas_int* ipiv,
float* work,
2824 detail::ssytrf_(&uplo, &n, a, &lda, ipiv, work, &lwork, &info);
2828[[nodiscard]]
inline blas_int
sytrf(
char uplo, blas_int n,
double* a, blas_int lda, blas_int* ipiv,
double* work,
2833 detail::dsytrf_(&uplo, &n, a, &lda, ipiv, work, &lwork, &info);
2837[[nodiscard]]
inline blas_int
sytrs(
char uplo, blas_int n, blas_int nrhs,
float* a, blas_int lda, blas_int
const* ipiv,
2838 float* b, blas_int ldb)
2842 detail::ssytrs_(&uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
2846[[nodiscard]]
inline blas_int
sytrs(
char uplo, blas_int n, blas_int nrhs,
double* a, blas_int lda, blas_int
const* ipiv,
2847 double* b, blas_int ldb)
2851 detail::dsytrs_(&uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
2855[[nodiscard]]
inline blas_int
sytri(
char uplo, blas_int n,
float* a, blas_int lda, blas_int
const* ipiv,
float* work)
2859 detail::ssytri_(&uplo, &n, a, &lda, ipiv, work, &info);
2863[[nodiscard]]
inline blas_int
sytri(
char uplo, blas_int n,
double* a, blas_int lda, blas_int
const* ipiv,
double* work)
2867 detail::dsytri_(&uplo, &n, a, &lda, ipiv, work, &info);
2871[[nodiscard]]
inline blas_int
syrfs(
char uplo, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* factors,
2872 blas_int factor_lda, blas_int
const* ipiv,
float* b, blas_int ldb,
float* x,
2873 blas_int ldx,
float* forward_error,
float* backward_error,
float* work,
2877 UNI20_EXTERNAL_API_CALL(LAPACK, ssyrfs_, uplo, n, nrhs, a, lda, factors, factor_lda, ipiv, b, ldb, x, ldx,
2878 forward_error, backward_error, work, iwork);
2879 detail::ssyrfs_(&uplo, &n, &nrhs, a, &lda, factors, &factor_lda,
const_cast<blas_int*
>(ipiv), b, &ldb, x, &ldx,
2880 forward_error, backward_error, work, iwork, &info);
2884[[nodiscard]]
inline blas_int
syrfs(
char uplo, blas_int n, blas_int nrhs,
double* a, blas_int lda,
double* factors,
2885 blas_int factor_lda, blas_int
const* ipiv,
double* b, blas_int ldb,
double* x,
2886 blas_int ldx,
double* forward_error,
double* backward_error,
double* work,
2890 UNI20_EXTERNAL_API_CALL(LAPACK, dsyrfs_, uplo, n, nrhs, a, lda, factors, factor_lda, ipiv, b, ldb, x, ldx,
2891 forward_error, backward_error, work, iwork);
2892 detail::dsyrfs_(&uplo, &n, &nrhs, a, &lda, factors, &factor_lda,
const_cast<blas_int*
>(ipiv), b, &ldb, x, &ldx,
2893 forward_error, backward_error, work, iwork, &info);
2897[[nodiscard]]
inline blas_int
sysvx(
char fact,
char uplo, blas_int n, blas_int nrhs,
float* a, blas_int lda,
float* af,
2898 blas_int ldaf, blas_int* ipiv,
float* b, blas_int ldb,
float* x, blas_int ldx,
2899 float& rcond,
float* forward_error,
float* backward_error,
float* work,
2900 blas_int lwork, blas_int* iwork)
2903 UNI20_EXTERNAL_API_CALL(LAPACK, ssysvx_, fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, work, lwork,
2905 detail::ssysvx_(&fact, &uplo, &n, &nrhs, a, &lda, af, &ldaf, ipiv, b, &ldb, x, &ldx, &rcond, forward_error,
2906 backward_error, work, &lwork, iwork, &info);
2910[[nodiscard]]
inline blas_int
sysvx(
char fact,
char uplo, blas_int n, blas_int nrhs,
double* a, blas_int lda,
2911 double* af, blas_int ldaf, blas_int* ipiv,
double* b, blas_int ldb,
double* x,
2912 blas_int ldx,
double& rcond,
double* forward_error,
double* backward_error,
2913 double* work, blas_int lwork, blas_int* iwork)
2916 UNI20_EXTERNAL_API_CALL(LAPACK, dsysvx_, fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, work, lwork,
2918 detail::dsysvx_(&fact, &uplo, &n, &nrhs, a, &lda, af, &ldaf, ipiv, b, &ldb, x, &ldx, &rcond, forward_error,
2919 backward_error, work, &lwork, iwork, &info);
2923[[nodiscard]]
inline blas_int
sycon(
char uplo, blas_int n,
float* a, blas_int lda, blas_int
const* ipiv,
2924 float matrix_one_norm,
float& rcond,
float* work, blas_int* iwork)
2928 detail::ssycon_(&uplo, &n, a, &lda, ipiv, &matrix_one_norm, &rcond, work, iwork, &info);
2932[[nodiscard]]
inline blas_int
sycon(
char uplo, blas_int n,
double* a, blas_int lda, blas_int
const* ipiv,
2933 double matrix_one_norm,
double& rcond,
double* work, blas_int* iwork)
2937 detail::dsycon_(&uplo, &n, a, &lda, ipiv, &matrix_one_norm, &rcond, work, iwork, &info);
2941[[nodiscard]]
inline blas_int
trtrs(
char uplo,
char trans,
char diag, blas_int n, blas_int nrhs,
float* a, blas_int lda,
2942 float* b, blas_int ldb)
2945 UNI20_EXTERNAL_API_CALL(LAPACK, strtrs_, uplo, trans, diag, n, nrhs, a, lda, b, ldb);
2946 detail::strtrs_(&uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, &info);
2950[[nodiscard]]
inline blas_int
trtrs(
char uplo,
char trans,
char diag, blas_int n, blas_int nrhs,
double* a,
2951 blas_int lda,
double* b, blas_int ldb)
2954 UNI20_EXTERNAL_API_CALL(LAPACK, dtrtrs_, uplo, trans, diag, n, nrhs, a, lda, b, ldb);
2955 detail::dtrtrs_(&uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, &info);
2959[[nodiscard]]
inline blas_int
trrfs(
char uplo,
char trans,
char diag, blas_int n, blas_int nrhs,
float* a, blas_int lda,
2960 float* b, blas_int ldb,
float* x, blas_int ldx,
float* forward_error,
2961 float* backward_error,
float* work, blas_int* iwork)
2964 UNI20_EXTERNAL_API_CALL(LAPACK, strrfs_, uplo, trans, diag, n, nrhs, a, lda, b, ldb, x, ldx, forward_error,
2965 backward_error, work, iwork);
2966 detail::strrfs_(&uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, x, &ldx, forward_error, backward_error, work,
2971[[nodiscard]]
inline blas_int
trrfs(
char uplo,
char trans,
char diag, blas_int n, blas_int nrhs,
double* a,
2972 blas_int lda,
double* b, blas_int ldb,
double* x, blas_int ldx,
2973 double* forward_error,
double* backward_error,
double* work, blas_int* iwork)
2976 UNI20_EXTERNAL_API_CALL(LAPACK, dtrrfs_, uplo, trans, diag, n, nrhs, a, lda, b, ldb, x, ldx, forward_error,
2977 backward_error, work, iwork);
2978 detail::dtrrfs_(&uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, x, &ldx, forward_error, backward_error, work,
2983[[nodiscard]]
inline blas_int
trtri(
char uplo,
char diag, blas_int n,
float* a, blas_int lda)
2987 detail::strtri_(&uplo, &diag, &n, a, &lda, &info);
2991[[nodiscard]]
inline blas_int
trtri(
char uplo,
char diag, blas_int n,
double* a, blas_int lda)
2995 detail::dtrtri_(&uplo, &diag, &n, a, &lda, &info);
2999[[nodiscard]]
inline blas_int
trcon(
char norm,
char uplo,
char diag, blas_int n,
float* a, blas_int lda,
float& rcond,
3000 float* work, blas_int* iwork)
3004 detail::strcon_(&
norm, &uplo, &diag, &n, a, &lda, &rcond, work, iwork, &info);
3008[[nodiscard]]
inline blas_int
trcon(
char norm,
char uplo,
char diag, blas_int n,
double* a, blas_int lda,
double& rcond,
3009 double* work, blas_int* iwork)
3013 detail::dtrcon_(&
norm, &uplo, &diag, &n, a, &lda, &rcond, work, iwork, &info);
3017[[nodiscard]]
inline blas_int
trsyl(
char trans_a,
char trans_b, blas_int sign, blas_int m, blas_int n,
float* a,
3018 blas_int lda,
float* b, blas_int ldb,
float*
c, blas_int ldc,
float&
scale)
3021 UNI20_EXTERNAL_API_CALL(LAPACK, strsyl_, trans_a, trans_b, sign, m, n, a, lda, b, ldb,
c, ldc);
3022 detail::strsyl_(&trans_a, &trans_b, &sign, &m, &n, a, &lda, b, &ldb,
c, &ldc, &
scale, &info);
3026[[nodiscard]]
inline blas_int
trsyl(
char trans_a,
char trans_b, blas_int sign, blas_int m, blas_int n,
double* a,
3027 blas_int lda,
double* b, blas_int ldb,
double*
c, blas_int ldc,
double&
scale)
3030 UNI20_EXTERNAL_API_CALL(LAPACK, dtrsyl_, trans_a, trans_b, sign, m, n, a, lda, b, ldb,
c, ldc);
3031 detail::dtrsyl_(&trans_a, &trans_b, &sign, &m, &n, a, &lda, b, &ldb,
c, &ldc, &
scale, &info);
#define UNI20_EXTERNAL_API_CALL(module, func,...)
Emits a trace log entry for an outgoing backend API call.
Definition backend.hpp:90
typename detail::complex_type< Real >::type complex
Project-level complex scalar spelling.
Definition types.hpp:66
Definition mplapack/band.hpp:25
blas_int trevc(char side, char howmny, blas_int *select, blas_int n, uni20::float128 *t, blas_int ldt, uni20::float128 *vl, blas_int ldvl, uni20::float128 *vr, blas_int ldvr, blas_int mm, blas_int &computed_vectors, uni20::float128 *work)
Definition mplapack/general.hpp:934
blas_int sygv(blas_int itype, char jobz, char uplo, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *w, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:537
blas_int getri(blas_int n, uni20::float128 *a, blas_int lda, blas_int *ipiv, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:150
blas_int syevd(char jobz, char uplo, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *w, uni20::float128 *work, blas_int lwork, blas_int *iwork, blas_int liwork)
Definition mplapack/general.hpp:492
blas_int gesdd(char jobz, blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *s, uni20::float128 *u, blas_int ldu, uni20::float128 *vt, blas_int ldvt, uni20::float128 *work, blas_int lwork, blas_int *iwork)
Definition mplapack/general.hpp:1371
blas_int gghrd(char compq, char compz, blas_int n, blas_int first, blas_int last, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *q, blas_int ldq, uni20::float128 *z, blas_int ldz)
Definition mplapack/general.hpp:1120
blas_int tgexc(bool wantq, bool wantz, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *q, blas_int ldq, uni20::float128 *z, blas_int ldz, blas_int &first, blas_int &last, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1148
blas_int gges(char jobvsl, char jobvsr, char sort, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, blas_int &selected_dimension, uni20::float128 *alphar, uni20::float128 *alphai, uni20::float128 *beta, uni20::float128 *vsl, blas_int ldvsl, uni20::float128 *vsr, blas_int ldvsr, uni20::float128 *work, blas_int lwork, blas_int *bwork)
Definition mplapack/general.hpp:1089
blas_int hegv(blas_int itype, char jobz, char uplo, blas_int n, uni20::complex< uni20::float128 > *a, blas_int lda, uni20::complex< uni20::float128 > *b, blas_int ldb, uni20::float128 *w, uni20::complex< uni20::float128 > *work, blas_int lwork, uni20::float128 *rwork)
Definition mplapack/general.hpp:653
blas_int sygvd(blas_int itype, char jobz, char uplo, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *w, uni20::float128 *work, blas_int lwork, blas_int *iwork, blas_int liwork)
Definition mplapack/general.hpp:548
blas_int gebal(char job, blas_int n, uni20::float128 *a, blas_int lda, blas_int &first, blas_int &last, uni20::float128 *scale)
Definition mplapack/general.hpp:748
blas_int ormqr(char side, char trans, blas_int m, blas_int n, blas_int k, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *c, blas_int ldc, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:391
blas_int orgrq(blas_int m, blas_int n, blas_int k, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:381
blas_int orghr(blas_int n, blas_int first, blas_int last, uni20::float128 *a, blas_int lda, uni20::float128 const *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1289
blas_int orglq(blas_int m, blas_int n, blas_int k, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:350
blas_int gerqf(blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:319
blas_int potrs(char uplo, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb)
Definition mplapack/general.hpp:1518
blas_int trsyl(char trans_a, char trans_b, blas_int sign, blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *c, blas_int ldc, uni20::float128 &scale)
Definition mplapack/general.hpp:1708
blas_int getrf(blas_int m, blas_int n, uni20::float128 *a, blas_int lda, blas_int *ipiv)
Definition mplapack/general.hpp:85
blas_int sygvx(blas_int itype, char jobz, char range, char uplo, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 vl, uni20::float128 vu, blas_int il, blas_int iu, uni20::float128 abstol, blas_int &selected_count, uni20::float128 *w, uni20::float128 *z, blas_int ldz, uni20::float128 *work, blas_int lwork, blas_int *iwork, blas_int *ifail)
Definition mplapack/general.hpp:563
blas_int hegvd(blas_int itype, char jobz, char uplo, blas_int n, uni20::complex< uni20::float128 > *a, blas_int lda, uni20::complex< uni20::float128 > *b, blas_int ldb, uni20::float128 *w, uni20::complex< uni20::float128 > *work, blas_int lwork, uni20::float128 *rwork, blas_int lrwork, blas_int *iwork, blas_int liwork)
Definition mplapack/general.hpp:664
blas_int orgtr(char uplo, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 const *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1300
blas_int gebak(char job, char side, blas_int n, blas_int first, blas_int last, uni20::float128 *scale, blas_int vector_count, uni20::float128 *vectors, blas_int leading_dimension)
Definition mplapack/general.hpp:762
blas_int syevr(char jobz, char range, char uplo, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 vl, uni20::float128 vu, blas_int il, blas_int iu, uni20::float128 abstol, blas_int &selected_count, uni20::float128 *w, uni20::float128 *z, blas_int ldz, blas_int *isuppz, uni20::float128 *work, blas_int lwork, blas_int *iwork, blas_int liwork)
Definition mplapack/general.hpp:506
blas_int hseqr(char job, char compz, blas_int n, blas_int first, blas_int last, uni20::float128 *h, blas_int ldh, uni20::float128 *wr, uni20::float128 *wi, uni20::float128 *z, blas_int ldz, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:854
blas_int sytri(char uplo, blas_int n, uni20::float128 *a, blas_int lda, blas_int const *ipiv, uni20::float128 *work)
Definition mplapack/general.hpp:1604
blas_int ormrq(char side, char trans, blas_int m, blas_int n, blas_int k, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *c, blas_int ldc, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:427
blas_int gesvx(char fact, char trans, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *af, blas_int ldaf, blas_int *ipiv, char &equed, uni20::float128 *row_scale, uni20::float128 *column_scale, uni20::float128 *b, blas_int ldb, uni20::float128 *x, blas_int ldx, uni20::float128 &rcond, uni20::float128 *forward_error, uni20::float128 *backward_error, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:53
blas_int geev(char jobvl, char jobvr, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *wr, uni20::float128 *wi, uni20::float128 *vl, blas_int ldvl, uni20::float128 *vr, blas_int ldvr, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:715
blas_int trrfs(char uplo, char trans, char diag, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *x, blas_int ldx, uni20::float128 *forward_error, uni20::float128 *backward_error, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:1674
blas_int tgevc(char side, char howmny, blas_int *select, blas_int n, uni20::float128 *s, blas_int lds, uni20::float128 *p, blas_int ldp, uni20::float128 *vl, blas_int ldvl, uni20::float128 *vr, blas_int ldvr, blas_int mm, blas_int &computed_vectors, uni20::float128 *work)
Definition mplapack/general.hpp:1205
blas_int syev(char jobz, char uplo, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *w, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:482
blas_int poequ(blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *scale, uni20::float128 &scale_condition, uni20::float128 &max_abs)
Definition mplapack/general.hpp:1560
blas_int tgsna(char job, char howmny, blas_int *select, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *vl, blas_int ldvl, uni20::float128 *vr, blas_int ldvr, uni20::float128 *reciprocal_eigenvalue_condition_numbers, uni20::float128 *reciprocal_eigenvector_condition_numbers, blas_int mm, blas_int &computed_estimates, uni20::float128 *work, blas_int lwork, blas_int *iwork)
Definition mplapack/general.hpp:1238
blas_int gelsy(blas_int m, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, blas_int *jpvt, uni20::float128 rcond, blas_int &rank, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:251
blas_int trtri(char uplo, char diag, blas_int n, uni20::float128 *a, blas_int lda)
Definition mplapack/general.hpp:1689
blas_int trsna(char job, char howmny, blas_int *select, blas_int n, uni20::float128 *t, blas_int ldt, uni20::float128 *vl, blas_int ldvl, uni20::float128 *vr, blas_int ldvr, uni20::float128 *reciprocal_eigenvalue_condition_numbers, uni20::float128 *reciprocal_eigenvector_condition_numbers, blas_int mm, blas_int &computed_estimates, uni20::float128 *work, blas_int ldwork, blas_int *iwork)
Definition mplapack/general.hpp:966
blas_int gehrd(blas_int n, blas_int first, blas_int last, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:450
blas_int gerfs(char trans, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *factors, blas_int factor_lda, blas_int const *ipiv, uni20::float128 *b, blas_int ldb, uni20::float128 *x, blas_int ldx, uni20::float128 *forward_error, uni20::float128 *backward_error, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:133
blas_int ggevx(char balanc, char jobvl, char jobvr, char sense, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *alphar, uni20::float128 *alphai, uni20::float128 *beta, uni20::float128 *vl, blas_int ldvl, uni20::float128 *vr, blas_int ldvr, blas_int &ilo, blas_int &ihi, uni20::float128 *lscale, uni20::float128 *rscale, uni20::float128 &abnrm, uni20::float128 &bbnrm, uni20::float128 *rconde, uni20::float128 *rcondv, uni20::float128 *work, blas_int lwork, blas_int *iwork, blas_int *bwork)
Definition mplapack/general.hpp:1019
blas_int bdsvdx(char uplo, char jobz, char range, blas_int n, uni20::float128 *d, uni20::float128 *e, uni20::float128 vl, uni20::float128 vu, blas_int il, blas_int iu, blas_int &selected_count, uni20::float128 *singular_values, uni20::float128 *z, blas_int ldz, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:1470
blas_int sysvx(char fact, char uplo, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *af, blas_int ldaf, blas_int *ipiv, uni20::float128 *b, blas_int ldb, uni20::float128 *x, blas_int ldx, uni20::float128 &rcond, uni20::float128 *forward_error, uni20::float128 *backward_error, uni20::float128 *work, blas_int lwork, blas_int *iwork)
Definition mplapack/general.hpp:1632
blas_int ggbal(char job, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, blas_int &first, blas_int &last, uni20::float128 *lscale, uni20::float128 *rscale, uni20::float128 *work)
Definition mplapack/general.hpp:1061
blas_int sycon(char uplo, blas_int n, uni20::float128 *a, blas_int lda, blas_int const *ipiv, uni20::float128 matrix_one_norm, uni20::float128 &rcond, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:1651
blas_int trexc(char compq, blas_int n, uni20::float128 *t, blas_int ldt, uni20::float128 *q, blas_int ldq, blas_int &first, blas_int &last, uni20::float128 *work)
Definition mplapack/general.hpp:866
blas_int bdsqr(char uplo, blas_int n, blas_int ncvt, blas_int nru, blas_int ncc, uni20::float128 *d, uni20::float128 *e, uni20::float128 *vt, blas_int ldvt, uni20::float128 *u, blas_int ldu, uni20::float128 *c, blas_int ldc, uni20::float128 *work)
Definition mplapack/general.hpp:1442
blas_int gecon(char norm, blas_int n, uni20::float128 const *a, blas_int lda, uni20::float128 anorm, uni20::float128 &rcond, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:172
blas_int gels(char trans, blas_int m, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:195
blas_int ggev(char jobvl, char jobvr, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *alphar, uni20::float128 *alphai, uni20::float128 *beta, uni20::float128 *vl, blas_int ldvl, uni20::float128 *vr, blas_int ldvr, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1005
blas_int heevr(char jobz, char range, char uplo, blas_int n, uni20::complex< uni20::float128 > *a, blas_int lda, uni20::float128 vl, uni20::float128 vu, blas_int il, blas_int iu, uni20::float128 abstol, blas_int &selected_count, uni20::float128 *w, uni20::complex< uni20::float128 > *z, blas_int ldz, blas_int *isuppz, uni20::complex< uni20::float128 > *work, blas_int lwork, uni20::float128 *rwork, blas_int lrwork, blas_int *iwork, blas_int liwork)
Definition mplapack/general.hpp:620
blas_int orgql(blas_int m, blas_int n, blas_int k, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:371
blas_int ormbr(char vect, char side, char trans, blas_int m, blas_int n, blas_int k, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *c, blas_int ldc, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1334
blas_int gelss(blas_int m, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *s, uni20::float128 rcond, blas_int &rank, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:206
blas_int potrf(char uplo, blas_int n, uni20::float128 *a, blas_int lda)
Definition mplapack/general.hpp:1488
blas_int hgeqz(char job, char compq, char compz, blas_int n, blas_int first, blas_int last, uni20::float128 *h, blas_int ldh, uni20::float128 *t, blas_int ldt, uni20::float128 *alphar, uni20::float128 *alphai, uni20::float128 *beta, uni20::float128 *q, blas_int ldq, uni20::float128 *z, blas_int ldz, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1132
blas_int geqrf(blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:267
blas_int hegvx(blas_int itype, char jobz, char range, char uplo, blas_int n, uni20::complex< uni20::float128 > *a, blas_int lda, uni20::complex< uni20::float128 > *b, blas_int ldb, uni20::float128 vl, uni20::float128 vu, blas_int il, blas_int iu, uni20::float128 abstol, blas_int &selected_count, uni20::float128 *w, uni20::complex< uni20::float128 > *z, blas_int ldz, uni20::complex< uni20::float128 > *work, blas_int lwork, uni20::float128 *rwork, blas_int *iwork, blas_int *ifail)
Definition mplapack/general.hpp:682
blas_int gesvdx(char jobu, char jobvt, char range, blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 vl, uni20::float128 vu, blas_int il, blas_int iu, blas_int &selected_count, uni20::float128 *singular_values, uni20::float128 *u, blas_int ldu, uni20::float128 *vt, blas_int ldvt, uni20::float128 *work, blas_int lwork, blas_int *iwork)
Definition mplapack/general.hpp:1399
blas_int sytrs(char uplo, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, blas_int const *ipiv, uni20::float128 *b, blas_int ldb)
Definition mplapack/general.hpp:1593
blas_int gelsd(blas_int m, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *s, uni20::float128 rcond, blas_int &rank, uni20::float128 *work, blas_int lwork, blas_int *iwork)
Definition mplapack/general.hpp:235
blas_int trcon(char norm, char uplo, char diag, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 &rcond, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:1697
blas_int potri(char uplo, blas_int n, uni20::float128 *a, blas_int lda)
Definition mplapack/general.hpp:1510
blas_int pocon(char uplo, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 matrix_one_norm, uni20::float128 &rcond, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:1569
blas_int geqp3(blas_int m, blas_int n, uni20::float128 *a, blas_int lda, blas_int *jpvt, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:460
blas_int posvx(char fact, char uplo, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *af, blas_int ldaf, char &equed, uni20::float128 *scale, uni20::float128 *b, blas_int ldb, uni20::float128 *x, blas_int ldx, uni20::float128 &rcond, uni20::float128 *forward_error, uni20::float128 *backward_error, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:1543
blas_int ggbak(char job, char side, blas_int n, blas_int first, blas_int last, uni20::float128 *lscale, uni20::float128 *rscale, blas_int vector_count, uni20::float128 *vectors, blas_int leading_dimension)
Definition mplapack/general.hpp:1076
blas_int heevd(char jobz, char uplo, blas_int n, uni20::complex< uni20::float128 > *a, blas_int lda, uni20::float128 *w, uni20::complex< uni20::float128 > *work, blas_int lwork, uni20::float128 *rwork, blas_int lrwork, blas_int *iwork, blas_int liwork)
Definition mplapack/general.hpp:605
blas_int sytrd(char uplo, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *d, uni20::float128 *e, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:472
blas_int gees(char jobvs, char sort, blas_int n, uni20::float128 *a, blas_int lda, blas_int &selected_dimension, uni20::float128 *wr, uni20::float128 *wi, uni20::float128 *vs, blas_int ldvs, uni20::float128 *work, blas_int lwork, blas_int *bwork)
Definition mplapack/general.hpp:787
blas_int orgqr(blas_int m, blas_int n, blas_int k, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:329
blas_int ormql(char side, char trans, blas_int m, blas_int n, blas_int k, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *c, blas_int ldc, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:415
blas_int geqlf(blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:309
blas_int gelqf(blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:288
blas_int orgbr(char vect, blas_int m, blas_int n, blas_int k, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1279
blas_int heev(char jobz, char uplo, blas_int n, uni20::complex< uni20::float128 > *a, blas_int lda, uni20::float128 *w, uni20::complex< uni20::float128 > *work, blas_int lwork, uni20::float128 *rwork)
Definition mplapack/general.hpp:594
blas_int geevx(char balanc, char jobvl, char jobvr, char sense, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *wr, uni20::float128 *wi, uni20::float128 *vl, blas_int ldvl, uni20::float128 *vr, blas_int ldvr, blas_int &ilo, blas_int &ihi, uni20::float128 *scale, uni20::float128 &abnrm, uni20::float128 *rconde, uni20::float128 *rcondv, uni20::float128 *work, blas_int lwork, blas_int *iwork)
Definition mplapack/general.hpp:727
blas_int gesv(blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, blas_int *ipiv, uni20::float128 *b, blas_int ldb)
Definition mplapack/general.hpp:29
blas_int trtrs(char uplo, char trans, char diag, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb)
Definition mplapack/general.hpp:1664
blas_int gesvd(char jobu, char jobvt, blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *s, uni20::float128 *u, blas_int ldu, uni20::float128 *vt, blas_int ldvt, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1346
blas_int sytrf(char uplo, blas_int n, uni20::float128 *a, blas_int lda, blas_int *ipiv, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1581
blas_int tgsen(blas_int ijob, bool wantq, bool wantz, blas_int *select, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *b, blas_int ldb, uni20::float128 *alphar, uni20::float128 *alphai, uni20::float128 *beta, uni20::float128 *q, blas_int ldq, uni20::float128 *z, blas_int ldz, blas_int &selected_dimension, uni20::float128 &pl, uni20::float128 &pr, uni20::float128 *dif, uni20::float128 *work, blas_int lwork, blas_int *iwork, blas_int liwork)
Definition mplapack/general.hpp:1165
blas_int ormhr(char side, char trans, blas_int m, blas_int n, blas_int first, blas_int last, uni20::float128 *a, blas_int lda, uni20::float128 const *tau, uni20::float128 *c, blas_int ldc, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1310
blas_int ormlq(char side, char trans, blas_int m, blas_int n, blas_int k, uni20::float128 *a, blas_int lda, uni20::float128 *tau, uni20::float128 *c, blas_int ldc, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:403
blas_int bdsdc(char uplo, char compq, blas_int n, uni20::float128 *d, uni20::float128 *e, uni20::float128 *u, blas_int ldu, uni20::float128 *vt, blas_int ldvt, uni20::float128 *q, blas_int *iq, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:1455
blas_int syrfs(char uplo, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *factors, blas_int factor_lda, blas_int const *ipiv, uni20::float128 *b, blas_int ldb, uni20::float128 *x, blas_int ldx, uni20::float128 *forward_error, uni20::float128 *backward_error, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:1615
blas_int ormtr(char side, char uplo, char trans, blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 const *tau, uni20::float128 *c, blas_int ldc, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:1322
blas_int pstrf(char uplo, blas_int n, uni20::float128 *a, blas_int lda, blas_int *pivots, blas_int &rank, uni20::float128 tolerance, uni20::float128 *work)
Definition mplapack/general.hpp:1496
blas_int getrs(char trans, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, blas_int const *ipiv, uni20::float128 *b, blas_int ldb)
Definition mplapack/general.hpp:110
blas_int trsen(char job, char compq, blas_int *select, blas_int n, uni20::float128 *t, blas_int ldt, uni20::float128 *q, blas_int ldq, uni20::float128 *wr, uni20::float128 *wi, blas_int &selected_dimension, uni20::float128 &reciprocal_eigenvalue_cluster_condition, uni20::float128 &reciprocal_invariant_subspace_condition, uni20::float128 *work, blas_int lwork, blas_int *iwork, blas_int liwork)
Definition mplapack/general.hpp:894
blas_int porfs(char uplo, blas_int n, blas_int nrhs, uni20::float128 *a, blas_int lda, uni20::float128 *factors, blas_int factor_lda, uni20::float128 *b, blas_int ldb, uni20::float128 *x, blas_int ldx, uni20::float128 *forward_error, uni20::float128 *backward_error, uni20::float128 *work, blas_int *iwork)
Definition mplapack/general.hpp:1528
blas_int gebrd(blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *d, uni20::float128 *e, uni20::float128 *tauq, uni20::float128 *taup, uni20::float128 *work, blas_int lwork)
Definition mplapack/general.hpp:439
blas_int geequ(blas_int m, blas_int n, uni20::float128 *a, blas_int lda, uni20::float128 *row_scale, uni20::float128 *column_scale, uni20::float128 &row_condition, uni20::float128 &column_condition, uni20::float128 &max_abs)
Definition mplapack/general.hpp:73
Definition data_table.cpp:8
mpreal norm(mpcomplex const &z)
Definition mpcomplex.hpp:494
void scale(Tensor &tensor, Scalar factor)
Multiply every stored numerical block by a scalar in place.
Definition block_tensor_linear.hpp:400
mpreal beta(mpreal const &a, mpreal const &x)
Real Beta function; positive rational/integer pairs retain exact values.
Definition mpreal_special.hpp:164