11 subroutine dgesvd(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, &
13 use iso_fortran_env,
only : int32, real64
14 character,
intent(in) :: jobu, jobvt
15 integer(int32),
intent(in) :: m, n, lda, ldu, ldvt, lwork
16 integer(int32),
intent(out) :: info
17 real(real64),
intent(inout) :: a(lda,*)
18 real(real64),
intent(out) :: s(*), u(ldu,*), vt(ldvt,*), work(*)
21 subroutine zgesvd(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, &
22 work, lwork, rwork, info)
23 use iso_fortran_env,
only : int32, real64
24 character,
intent(in) :: jobu, jobvt
25 integer(int32),
intent(in) :: m, n, lda, ldu, ldvt, lwork
26 integer(int32),
intent(out) :: info
27 complex(real64),
intent(inout) :: a(lda,*)
28 real(real64),
intent(out) :: s(*), rwork(*)
29 complex(real64),
intent(out) :: u(ldu,*), vt(ldvt,*), work(*)
46 subroutine dsyev(jobz, uplo, n, a, lda, w, work, lwork, info)
47 use iso_fortran_env,
only : int32, real64
48 character,
intent(in) :: jobz, uplo
49 integer(int32),
intent(in) :: n, lda, lwork
50 real(real64),
intent(inout) :: a(lda,*)
51 real(real64),
intent(out) :: w(*), work(*)
52 integer(int32),
intent(out) :: info
55 subroutine dgeev(jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, &
57 use iso_fortran_env,
only : int32, real64
58 character,
intent(in) :: jobvl, jobvr
59 integer(int32),
intent(in) :: n, lda, ldvl, ldvr, lwork
60 real(real64),
intent(inout) :: a(lda,*)
61 real(real64),
intent(out) :: wr(*), wi(*), vl(ldvl,*), vr(ldvr,*), &
63 integer(int32),
intent(out) :: info
66 subroutine dggev(jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai, &
67 beta, vl, ldvl, vr, ldvr, work, lwork, info)
68 use iso_fortran_env,
only : int32, real64
69 character,
intent(in) :: jobvl, jobvr
70 integer(int32) :: n, lda, ldb, ldvl, ldvr, lwork
71 real(real64),
intent(inout) :: a(lda,*), b(ldb,*)
72 real(real64),
intent(out) :: alphar(*), alphai(*), beta(*), &
73 vl(ldvl,*), vr(ldvr,*), work(*)
74 integer(int32),
intent(out) :: info
77 subroutine zgeev(jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, &
79 use iso_fortran_env,
only : int32, real64
80 character,
intent(in) :: jobvl, jobvr
81 integer(int32),
intent(in) :: n, lda, ldvl, ldvr, lwork
82 complex(real64),
intent(inout) :: a(lda,*)
83 complex(real64),
intent(out) :: w(*), vl(ldvl,*), vr(ldvr,*), &
85 real(real64),
intent(out) :: rwork(*)
86 integer(int32),
intent(out) :: info
122 subroutine zgeqp3(m, n, a, lda, jpvt, tau, work, lwork, rwork, info)
123 use iso_fortran_env,
only : int32, real64
124 integer(int32),
intent(in) :: m, n, lda, lwork
125 complex(real64),
intent(inout) :: a(lda,*)
126 integer(int32),
intent(inout) :: jpvt(*)
127 complex(real64),
intent(out) :: tau(*), work(*)
128 real(real64),
intent(out) :: rwork(*)
129 integer(int32),
intent(out) :: info
150 subroutine dormqr(side, trans, m, n, k, a, lda, tau, c, ldc, work, &
152 use iso_fortran_env,
only : int32, real64
153 character,
intent(in) :: side, trans
154 integer(int32),
intent(in) :: m, n, k, lda, ldc, lwork
155 real(real64),
intent(in) :: a(lda,*), tau(*)
156 real(real64),
intent(inout) :: c(ldc,*)
157 real(real64),
intent(out) :: work(*)
158 integer(int32),
intent(out) :: info
161 subroutine zunmqr(side, trans, m, n, k, a, lda, tau, c, ldc, work, &
163 use iso_fortran_env,
only : int32, real64
164 character,
intent(in) :: side, trans
165 integer(int32),
intent(in) :: m, n, k, lda, ldc, lwork
166 complex(real64),
intent(in) :: a(lda,*), tau(*)
167 complex(real64),
intent(inout) :: c(ldc,*)
168 complex(real64),
intent(out) :: work(*)
169 integer(int32),
intent(out) :: info
204 subroutine dormrz(side, trans, m, n, k, l, a, lda, tau, c, ldc, work, &
206 use iso_fortran_env,
only : int32, real64
207 character,
intent(in) :: side, trans
208 integer(int32),
intent(in) :: m, n, k, l, lda, ldc, lwork
209 real(real64),
intent(in) :: a(lda,*), tau(*)
210 real(real64),
intent(inout) :: c(ldc,*)
211 real(real64),
intent(out) :: work(*)
212 integer(int32),
intent(out) :: info
215 subroutine zunmrz(side, trans, m, n, k, l, a, lda, tau, c, ldc, work, &
217 use iso_fortran_env,
only : int32, real64
218 character,
intent(in) :: side, trans
219 integer(int32),
intent(in) :: m, n, k, l, lda, ldc, lwork
220 complex(real64),
intent(in) :: a(lda,*), tau(*)
221 complex(real64),
intent(inout) :: c(ldc,*)
222 complex(real64),
intent(out) :: work(*)
223 integer(int32),
intent(out) :: info
260 subroutine dormlq(side, trans, m, n, k, a, lda, tau, c, ldc, work, &
262 use iso_fortran_env,
only : int32, real64
263 character,
intent(in) :: side, trans
264 integer(int32) :: m, n, k, lda, ldc, lwork
265 real(real64),
intent(in) :: a(lda,*), tau(*)
266 real(real64),
intent(inout) :: c(ldc,*)
267 real(real64),
intent(out) :: work(*)
268 integer(int32),
intent(out) :: info
271 subroutine zunmlq(side, trans, m, n, k, a, lda, tau, c, ldc, work, &
273 use iso_fortran_env,
only : int32, real64
274 character,
intent(in) :: side, trans
275 integer(int32) :: m, n, k, lda, ldc, lwork
276 complex(real64),
intent(in) :: a(lda,*), tau(*)
277 complex(real64),
intent(inout) :: c(ldc,*)
278 complex(real64),
intent(out) :: work(*)
279 integer(int32),
intent(out) :: info
302 subroutine dlaic1(job, j, x, sest, w, gamma, sestpr, s, c)
303 use iso_fortran_env,
only : int32, real64
304 integer(int32),
intent(in) :: job, j
305 real(real64),
intent(in) :: x(j), w(j), sest, gamma
306 real(real64),
intent(out) :: sestpr, s, c
336 subroutine dgetri(n, a, lda, ipiv, work, lwork, info)
337 use iso_fortran_env,
only : int32, real64
338 integer(int32),
intent(in) :: n, lda, lwork, ipiv(*)
339 real(real64),
intent(inout) :: a(lda,*)
340 real(real64),
intent(out) :: work(*)
341 integer(int32),
intent(out) :: info
344 subroutine zgetri(n, a, lda, ipiv, work, lwork, info)
345 use iso_fortran_env,
only : int32, real64
346 integer(int32),
intent(in) :: n, lda, lwork, ipiv(*)
347 complex(real64),
intent(inout) :: a(lda,*)
348 complex(real64),
intent(out) :: work(*)
349 integer(int32),
intent(out) :: info
352 subroutine dgels(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info)
353 use iso_fortran_env,
only : int32, real64
354 character,
intent(in) :: trans
355 integer(int32),
intent(in) :: m, n, nrhs, lda, ldb, lwork
356 real(real64),
intent(inout) :: a(lda,*), b(ldb,*)
357 real(real64),
intent(out) :: work(*)
358 integer(int32),
intent(out) :: info
361 subroutine zgels(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info)
362 use iso_fortran_env,
only : int32, real64
363 character,
intent(in) :: trans
364 integer(int32),
intent(in) :: m, n, nrhs, lda, ldb, lwork
365 complex(real64),
intent(inout) :: a(lda,*), b(ldb,*)
366 complex(real64),
intent(out) :: work(*)
367 integer(int32),
intent(out) :: info
370 subroutine dgelsy(m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, &
372 use iso_fortran_env,
only : int32, real64
373 integer(int32),
intent(in) :: m, n, nrhs, lda, ldb, lwork
374 real(real64),
intent(inout) :: a(lda,*), b(ldb,*)
375 integer(int32),
intent(inout) :: jpvt(*)
376 real(real64),
intent(in) :: rcond
377 integer(int32),
intent(out) :: rank, info
378 real(real64),
intent(out) :: work(*)
381 subroutine zgelsy(m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank, work, &
383 use iso_fortran_env,
only : int32, real64
384 integer(int32),
intent(in) :: m, n, nrhs, lda, ldb, lwork
385 complex(real64),
intent(inout) :: a(lda,*), b(ldb,*)
386 integer(int32),
intent(inout) :: jpvt(*)
387 real(real64),
intent(in) :: rcond
388 integer(int32),
intent(out) :: rank, info
389 complex(real64),
intent(out) :: work(*)
390 real(real64),
intent(out) :: rwork(*)
393 subroutine dgelss(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, &
395 use iso_fortran_env,
only : int32, real64
396 integer(int32),
intent(in) :: m, n, nrhs, lda, ldb, lwork
397 real(real64),
intent(inout) :: a(lda,*), b(ldb,*)
398 real(real64),
intent(out) :: s(*)
399 real(real64),
intent(in) :: rcond
400 integer(int32),
intent(out) :: rank, info
401 real(real64),
intent(out) :: work(*)
404 subroutine zgelss(m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, &
406 use iso_fortran_env,
only : int32, real64
407 integer(int32),
intent(in) :: m, n, nrhs, lda, ldb, lwork
408 complex(real64),
intent(inout) :: a(lda,*), b(ldb,*)
409 real(real64),
intent(out) :: s(*)
410 real(real64),
intent(in) :: rcond
411 integer(int32),
intent(out) :: rank, info
412 complex(real64),
intent(out) :: work(*)
413 real(real64),
intent(out) :: rwork(*)