qrupdate-ng
1.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
qrupdate.f90
Go to the documentation of this file.
1
! Copyright (C) 2026 Martin Köhler <koehlerm(AT)mpi-magdeburg.mpg.de>
2
!
3
! This file is part of qrupdate-ng.
4
!
5
! qrupdate is free software; you can redistribute it and/or modify
6
! it under the terms of the GNU General Public License as published by
7
! the Free Software Foundation; either version 3 of the License, or
8
! (at your option) any later version.
9
!
10
! This program is distributed in the hope that it will be useful,
11
! but WITHOUT ANY WARRANTY; without even the implied warranty of
12
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
! GNU General Public License for more details.
14
!
15
! You should have received a copy of the GNU General Public License
16
! along with this software; see the file COPYING. If not, see
17
! <http://www.gnu.org/licenses/>.
18
!
19
20
module
qrupdate
21
use
iso_fortran_env
22
implicit none
23
24
interface
25
subroutine
caxcpy
(n, a, x, incx, y, incy)
26
use
iso_fortran_env
27
integer
,
intent(in)
:: n
28
complex(real32)
,
intent(in)
:: a
29
complex(real32)
,
intent(in)
:: x
30
integer
,
intent(in)
:: incx
31
complex(real32)
,
intent(inout)
:: y
32
integer
,
intent(in)
:: incy
33
end subroutine
caxcpy
34
end interface
35
36
interface
37
subroutine
cch1dn
(n, R, ldr, u, rw, info)
38
use
iso_fortran_env
39
integer
,
intent(in)
:: n
40
complex(real32)
,
intent(inout)
:: R
41
integer
,
intent(in)
:: ldr
42
complex(real32)
,
intent(inout)
:: u
43
real
(real32),
intent(out)
:: rw
44
integer
,
intent(out)
:: info
45
end subroutine
cch1dn
46
end interface
47
48
interface
49
subroutine
cch1up
(n, R, ldr, u, w)
50
use
iso_fortran_env
51
integer
,
intent(in)
:: n
52
complex(real32)
,
intent(inout)
:: R
53
integer
,
intent(in)
:: ldr
54
complex(real32)
,
intent(inout)
:: u
55
real
(real32),
intent(out)
:: w
56
end subroutine
cch1up
57
end interface
58
59
interface
60
subroutine
cchdex
(n, R, ldr, j, rw)
61
use
iso_fortran_env
62
integer
,
intent(in)
:: n
63
complex(real32)
,
intent(inout)
:: R
64
integer
,
intent(in)
:: ldr
65
integer
,
intent(in)
:: j
66
real
(real32),
intent(out)
:: rw
67
end subroutine
cchdex
68
end interface
69
70
interface
71
subroutine
cchinx
(n, R, ldr, j, u, rw, info)
72
use
iso_fortran_env
73
integer
,
intent(in)
:: n
74
complex(real32)
,
intent(inout)
:: R
75
integer
,
intent(in)
:: ldr
76
integer
,
intent(in)
:: j
77
complex(real32)
,
intent(inout)
:: u
78
real
(real32),
intent(out)
:: rw
79
integer
,
intent(out)
:: info
80
end subroutine
cchinx
81
end interface
82
83
interface
84
subroutine
cchshx
(n, R, ldr, i, j, w, rw)
85
use
iso_fortran_env
86
integer
,
intent(in)
:: n
87
complex(real32)
,
intent(inout)
:: R
88
integer
,
intent(in)
:: ldr
89
integer
,
intent(in)
:: i
90
integer
,
intent(in)
:: j
91
complex(real32)
,
intent(out)
:: w
92
real
(real32),
intent(out)
:: rw
93
end subroutine
cchshx
94
end interface
95
96
interface
97
subroutine
cgqvec
(m, n, Q, ldq, u)
98
use
iso_fortran_env
99
integer
,
intent(in)
:: m
100
integer
,
intent(in)
:: n
101
complex(real32)
,
intent(in)
:: Q
102
integer
,
intent(in)
:: ldq
103
complex(real32)
,
intent(out)
:: u
104
end subroutine
cgqvec
105
end interface
106
107
interface
108
subroutine
clu1up
(m, n, L, ldl, R, ldr, u, v)
109
use
iso_fortran_env
110
integer
,
intent(in)
:: m
111
integer
,
intent(in)
:: n
112
complex(real32)
,
intent(inout)
:: L
113
integer
,
intent(in)
:: ldl
114
complex(real32)
,
intent(inout)
:: R
115
integer
,
intent(in)
:: ldr
116
complex(real32)
,
intent(inout)
:: u
117
complex(real32)
,
intent(inout)
:: v
118
end subroutine
clu1up
119
end interface
120
121
interface
122
subroutine
clup1up
(m, n, L, ldl, R, ldr, p, u, v, w)
123
use
iso_fortran_env
124
integer
,
intent(in)
:: m
125
integer
,
intent(in)
:: n
126
complex(real32)
,
intent(inout)
:: L
127
integer
,
intent(in)
:: ldl
128
complex(real32)
,
intent(inout)
:: R
129
integer
,
intent(in)
:: ldr
130
integer
,
intent(in)
:: p
131
complex(real32)
,
intent(in)
:: u
132
complex(real32)
,
intent(in)
:: v
133
complex(real32)
,
intent(out)
:: w
134
end subroutine
clup1up
135
end interface
136
137
interface
138
subroutine
cqhqr
(m, n, R, ldr, c, s)
139
use
iso_fortran_env
140
integer
,
intent(in)
:: m
141
integer
,
intent(in)
:: n
142
complex(real32)
,
intent(inout)
:: R
143
integer
,
intent(in)
:: ldr
144
real
(real32),
intent(out)
:: c
145
complex(real32)
,
intent(out)
:: s
146
end subroutine
cqhqr
147
end interface
148
149
interface
150
subroutine
cqr1up
(m, n, k, Q, ldq, R, ldr, u, v, w, rw)
151
use
iso_fortran_env
152
integer
,
intent(in)
:: m
153
integer
,
intent(in)
:: n
154
integer
,
intent(in)
:: k
155
complex(real32)
,
intent(inout)
:: Q
156
integer
,
intent(in)
:: ldq
157
complex(real32)
,
intent(inout)
:: R
158
integer
,
intent(in)
:: ldr
159
complex(real32)
,
intent(inout)
:: u
160
complex(real32)
,
intent(inout)
:: v
161
complex(real32)
,
intent(out)
:: w
162
real
(real32),
intent(out)
:: rw
163
end subroutine
cqr1up
164
end interface
165
166
interface
167
subroutine
cqrdec
(m, n, k, Q, ldq, R, ldr, j, rw)
168
use
iso_fortran_env
169
integer
,
intent(in)
:: m
170
integer
,
intent(in)
:: n
171
integer
,
intent(in)
:: k
172
complex(real32)
,
intent(inout)
:: Q
173
integer
,
intent(in)
:: ldq
174
complex(real32)
,
intent(inout)
:: R
175
integer
,
intent(in)
:: ldr
176
integer
,
intent(in)
:: j
177
real
(real32),
intent(out)
:: rw
178
end subroutine
cqrdec
179
end interface
180
181
interface
182
subroutine
cqrder
(m, n, Q, ldq, R, ldr, j, w, rw)
183
use
iso_fortran_env
184
integer
,
intent(in)
:: m
185
integer
,
intent(in)
:: n
186
complex(real32)
,
intent(inout)
:: Q
187
integer
,
intent(in)
:: ldq
188
complex(real32)
,
intent(inout)
:: R
189
integer
,
intent(in)
:: ldr
190
integer
,
intent(in)
:: j
191
complex(real32)
,
intent(out)
:: w
192
real
(real32),
intent(out)
:: rw
193
end subroutine
cqrder
194
end interface
195
196
interface
197
subroutine
cqrinc
(m, n, k, Q, ldq, R, ldr, j, x, rw)
198
use
iso_fortran_env
199
integer
,
intent(in)
:: m
200
integer
,
intent(in)
:: n
201
integer
,
intent(in)
:: k
202
complex(real32)
,
intent(inout)
:: Q
203
integer
,
intent(in)
:: ldq
204
complex(real32)
,
intent(inout)
:: R
205
integer
,
intent(in)
:: ldr
206
integer
,
intent(in)
:: j
207
complex(real32)
,
intent(in)
:: x
208
real
(real32),
intent(out)
:: rw
209
end subroutine
cqrinc
210
end interface
211
212
interface
213
subroutine
cqrinr
(m, n, Q, ldq, R, ldr, j, x, rw)
214
use
iso_fortran_env
215
integer
,
intent(in)
:: m
216
integer
,
intent(in)
:: n
217
complex(real32)
,
intent(inout)
:: Q
218
integer
,
intent(in)
:: ldq
219
complex(real32)
,
intent(inout)
:: R
220
integer
,
intent(in)
:: ldr
221
integer
,
intent(in)
:: j
222
complex(real32)
,
intent(inout)
:: x
223
real
(real32),
intent(out)
:: rw
224
end subroutine
cqrinr
225
end interface
226
227
interface
228
subroutine
cqrot
(dir, m, n, Q, ldq, c, s)
229
use
iso_fortran_env
230
character
,
intent(in)
:: dir
231
integer
,
intent(in)
:: m
232
integer
,
intent(in)
:: n
233
complex(real32)
,
intent(inout)
:: Q
234
integer
,
intent(in)
:: ldq
235
real
(real32),
intent(in)
:: c
236
complex(real32)
,
intent(in)
:: s
237
end subroutine
cqrot
238
end interface
239
240
interface
241
subroutine
cqrqh
(m, n, R, ldr, c, s)
242
use
iso_fortran_env
243
integer
,
intent(in)
:: m
244
integer
,
intent(in)
:: n
245
complex(real32)
,
intent(inout)
:: R
246
integer
,
intent(in)
:: ldr
247
real
(real32),
intent(in)
:: c
248
complex(real32)
,
intent(in)
:: s
249
end subroutine
cqrqh
250
end interface
251
252
interface
253
subroutine
cqrshc
(m, n, k, Q, ldq, R, ldr, i, j, w, rw)
254
use
iso_fortran_env
255
integer
,
intent(in)
:: m
256
integer
,
intent(in)
:: n
257
integer
,
intent(in)
:: k
258
complex(real32)
,
intent(inout)
:: Q
259
integer
,
intent(in)
:: ldq
260
complex(real32)
,
intent(inout)
:: R
261
integer
,
intent(in)
:: ldr
262
integer
,
intent(in)
:: i
263
integer
,
intent(in)
:: j
264
complex(real32)
,
intent(out)
:: w
265
real
(real32),
intent(out)
:: rw
266
end subroutine
cqrshc
267
end interface
268
269
interface
270
subroutine
cqrtv1
(n, u, w)
271
use
iso_fortran_env
272
integer
,
intent(in)
:: n
273
complex(real32)
,
intent(inout)
:: u
274
real
(real32),
intent(out)
:: w
275
end subroutine
cqrtv1
276
end interface
277
278
interface
279
subroutine
dch1dn
(n, R, ldr, u, w, info)
280
use
iso_fortran_env
281
integer
,
intent(in)
:: n
282
real
(real64),
intent(inout)
:: R
283
integer
,
intent(in)
:: ldr
284
real
(real64),
intent(inout)
:: u
285
real
(real64),
intent(out)
:: w
286
integer
,
intent(out)
:: info
287
end subroutine
dch1dn
288
end interface
289
290
interface
291
subroutine
dch1up
(n, R, ldr, u, w)
292
use
iso_fortran_env
293
integer
,
intent(in)
:: n
294
real
(real64),
intent(inout)
:: R
295
integer
,
intent(in)
:: ldr
296
real
(real64),
intent(inout)
:: u
297
real
(real64),
intent(out)
:: w
298
end subroutine
dch1up
299
end interface
300
301
interface
302
subroutine
dchdex
(n, R, ldr, j, w)
303
use
iso_fortran_env
304
integer
,
intent(in)
:: n
305
real
(real64),
intent(inout)
:: R
306
integer
,
intent(in)
:: ldr
307
integer
,
intent(in)
:: j
308
real
(real64),
intent(out)
:: w
309
end subroutine
dchdex
310
end interface
311
312
interface
313
subroutine
dchinx
(n, R, ldr, j, u, w, info)
314
use
iso_fortran_env
315
integer
,
intent(in)
:: n
316
real
(real64),
intent(inout)
:: R
317
integer
,
intent(in)
:: ldr
318
integer
,
intent(in)
:: j
319
real
(real64),
intent(inout)
:: u
320
real
(real64),
intent(out)
:: w
321
integer
,
intent(out)
:: info
322
end subroutine
dchinx
323
end interface
324
325
interface
326
subroutine
dchshx
(n, R, ldr, i, j, w)
327
use
iso_fortran_env
328
integer
,
intent(in)
:: n
329
real
(real64),
intent(inout)
:: R
330
integer
,
intent(in)
:: ldr
331
integer
,
intent(in)
:: i
332
integer
,
intent(in)
:: j
333
real
(real64),
intent(out)
:: w
334
end subroutine
dchshx
335
end interface
336
337
interface
338
subroutine
dgqvec
(m, n, Q, ldq, u)
339
use
iso_fortran_env
340
integer
,
intent(in)
:: m
341
integer
,
intent(in)
:: n
342
real
(real64),
intent(in)
:: Q
343
integer
,
intent(in)
:: ldq
344
real
(real64),
intent(out)
:: u
345
end subroutine
dgqvec
346
end interface
347
348
interface
349
subroutine
dlu1up
(m, n, L, ldl, R, ldr, u, v)
350
use
iso_fortran_env
351
integer
,
intent(in)
:: m
352
integer
,
intent(in)
:: n
353
real
(real64),
intent(inout)
:: L
354
integer
,
intent(in)
:: ldl
355
real
(real64),
intent(inout)
:: R
356
integer
,
intent(in)
:: ldr
357
real
(real64),
intent(inout)
:: u
358
real
(real64),
intent(inout)
:: v
359
end subroutine
dlu1up
360
end interface
361
362
interface
363
subroutine
dlup1up
(m, n, L, ldl, R, ldr, p, u, v, w)
364
use
iso_fortran_env
365
integer
,
intent(in)
:: m
366
integer
,
intent(in)
:: n
367
real
(real64),
intent(inout)
:: L
368
integer
,
intent(in)
:: ldl
369
real
(real64),
intent(inout)
:: R
370
integer
,
intent(in)
:: ldr
371
integer
,
intent(in)
:: p
372
real
(real64),
intent(in)
:: u
373
real
(real64),
intent(in)
:: v
374
real
(real64),
intent(out)
:: w
375
end subroutine
dlup1up
376
end interface
377
378
interface
379
subroutine
dqhqr
(m, n, R, ldr, c, s)
380
use
iso_fortran_env
381
integer
,
intent(in)
:: m
382
integer
,
intent(in)
:: n
383
real
(real64),
intent(inout)
:: R
384
integer
,
intent(in)
:: ldr
385
real
(real64),
intent(out)
:: c
386
real
(real64),
intent(out)
:: s
387
end subroutine
dqhqr
388
end interface
389
390
interface
391
subroutine
dqr1up
(m, n, k, Q, ldq, R, ldr, u, v, w)
392
use
iso_fortran_env
393
integer
,
intent(in)
:: m
394
integer
,
intent(in)
:: n
395
integer
,
intent(in)
:: k
396
real
(real64),
intent(inout)
:: Q
397
integer
,
intent(in)
:: ldq
398
real
(real64),
intent(inout)
:: R
399
integer
,
intent(in)
:: ldr
400
real
(real64),
intent(inout)
:: u
401
real
(real64),
intent(inout)
:: v
402
real
(real64),
intent(out)
:: w
403
end subroutine
dqr1up
404
end interface
405
406
interface
407
subroutine
dqrdec
(m, n, k, Q, ldq, R, ldr, j, w)
408
use
iso_fortran_env
409
integer
,
intent(in)
:: m
410
integer
,
intent(in)
:: n
411
integer
,
intent(in)
:: k
412
real
(real64),
intent(inout)
:: Q
413
integer
,
intent(in)
:: ldq
414
real
(real64),
intent(inout)
:: R
415
integer
,
intent(in)
:: ldr
416
integer
,
intent(in)
:: j
417
real
(real64),
intent(out)
:: w
418
end subroutine
dqrdec
419
end interface
420
421
interface
422
subroutine
dqrder
(m, n, Q, ldq, R, ldr, j, w)
423
use
iso_fortran_env
424
integer
,
intent(in)
:: m
425
integer
,
intent(in)
:: n
426
real
(real64),
intent(inout)
:: Q
427
integer
,
intent(in)
:: ldq
428
real
(real64),
intent(inout)
:: R
429
integer
,
intent(in)
:: ldr
430
integer
,
intent(in)
:: j
431
real
(real64),
intent(out)
:: w
432
end subroutine
dqrder
433
end interface
434
435
interface
436
subroutine
dqrinc
(m, n, k, Q, ldq, R, ldr, j, x, w)
437
use
iso_fortran_env
438
integer
,
intent(in)
:: m
439
integer
,
intent(in)
:: n
440
integer
,
intent(in)
:: k
441
real
(real64),
intent(inout)
:: Q
442
integer
,
intent(in)
:: ldq
443
real
(real64),
intent(inout)
:: R
444
integer
,
intent(in)
:: ldr
445
integer
,
intent(in)
:: j
446
real
(real64),
intent(in)
:: x
447
real
(real64),
intent(out)
:: w
448
end subroutine
dqrinc
449
end interface
450
451
interface
452
subroutine
dqrinr
(m, n, Q, ldq, R, ldr, j, x, w)
453
use
iso_fortran_env
454
integer
,
intent(in)
:: m
455
integer
,
intent(in)
:: n
456
real
(real64),
intent(inout)
:: Q
457
integer
,
intent(in)
:: ldq
458
real
(real64),
intent(inout)
:: R
459
integer
,
intent(in)
:: ldr
460
integer
,
intent(in)
:: j
461
real
(real64),
intent(inout)
:: x
462
real
(real64),
intent(out)
:: w
463
end subroutine
dqrinr
464
end interface
465
466
interface
467
subroutine
dqrot
(dir, m, n, Q, ldq, c, s)
468
use
iso_fortran_env
469
character
,
intent(in)
:: dir
470
integer
,
intent(in)
:: m
471
integer
,
intent(in)
:: n
472
real
(real64),
intent(inout)
:: Q
473
integer
,
intent(in)
:: ldq
474
real
(real64),
intent(in)
:: c
475
real
(real64),
intent(in)
:: s
476
end subroutine
dqrot
477
end interface
478
479
interface
480
subroutine
dqrqh
(m, n, R, ldr, c, s)
481
use
iso_fortran_env
482
integer
,
intent(in)
:: m
483
integer
,
intent(in)
:: n
484
real
(real64),
intent(inout)
:: R
485
integer
,
intent(in)
:: ldr
486
real
(real64),
intent(in)
:: c
487
real
(real64),
intent(in)
:: s
488
end subroutine
dqrqh
489
end interface
490
491
interface
492
subroutine
dqrshc
(m, n, k, Q, ldq, R, ldr, i, j, w)
493
use
iso_fortran_env
494
integer
,
intent(in)
:: m
495
integer
,
intent(in)
:: n
496
integer
,
intent(in)
:: k
497
real
(real64),
intent(inout)
:: Q
498
integer
,
intent(in)
:: ldq
499
real
(real64),
intent(inout)
:: R
500
integer
,
intent(in)
:: ldr
501
integer
,
intent(in)
:: i
502
integer
,
intent(in)
:: j
503
real
(real64),
intent(out)
:: w
504
end subroutine
dqrshc
505
end interface
506
507
interface
508
subroutine
dqrtv1
(n, u, w)
509
use
iso_fortran_env
510
integer
,
intent(in)
:: n
511
real
(real64),
intent(inout)
:: u
512
real
(real64),
intent(out)
:: w
513
end subroutine
dqrtv1
514
end interface
515
516
interface
517
subroutine
sch1dn
(n, R, ldr, u, w, info)
518
use
iso_fortran_env
519
integer
,
intent(in)
:: n
520
real
(real32),
intent(inout)
:: R
521
integer
,
intent(in)
:: ldr
522
real
(real32),
intent(inout)
:: u
523
real
(real32),
intent(out)
:: w
524
integer
,
intent(out)
:: info
525
end subroutine
sch1dn
526
end interface
527
528
interface
529
subroutine
sch1up
(n, R, ldr, u, w)
530
use
iso_fortran_env
531
integer
,
intent(in)
:: n
532
real
(real32),
intent(inout)
:: R
533
integer
,
intent(in)
:: ldr
534
real
(real32),
intent(inout)
:: u
535
real
(real32),
intent(out)
:: w
536
end subroutine
sch1up
537
end interface
538
539
interface
540
subroutine
schdex
(n, R, ldr, j, w)
541
use
iso_fortran_env
542
integer
,
intent(in)
:: n
543
real
(real32),
intent(inout)
:: R
544
integer
,
intent(in)
:: ldr
545
integer
,
intent(in)
:: j
546
real
(real32),
intent(out)
:: w
547
end subroutine
schdex
548
end interface
549
550
interface
551
subroutine
schinx
(n, R, ldr, j, u, w, info)
552
use
iso_fortran_env
553
integer
,
intent(in)
:: n
554
real
(real32),
intent(inout)
:: R
555
integer
,
intent(in)
:: ldr
556
integer
,
intent(in)
:: j
557
real
(real32),
intent(inout)
:: u
558
real
(real32),
intent(out)
:: w
559
integer
,
intent(out)
:: info
560
end subroutine
schinx
561
end interface
562
563
interface
564
subroutine
schshx
(n, R, ldr, i, j, w)
565
use
iso_fortran_env
566
integer
,
intent(in)
:: n
567
real
(real32),
intent(inout)
:: R
568
integer
,
intent(in)
:: ldr
569
integer
,
intent(in)
:: i
570
integer
,
intent(in)
:: j
571
real
(real32),
intent(out)
:: w
572
end subroutine
schshx
573
end interface
574
575
interface
576
subroutine
sgqvec
(m, n, Q, ldq, u)
577
use
iso_fortran_env
578
integer
,
intent(in)
:: m
579
integer
,
intent(in)
:: n
580
real
(real32),
intent(in)
:: Q
581
integer
,
intent(in)
:: ldq
582
real
(real32),
intent(out)
:: u
583
end subroutine
sgqvec
584
end interface
585
586
interface
587
subroutine
slu1up
(m, n, L, ldl, R, ldr, u, v)
588
use
iso_fortran_env
589
integer
,
intent(in)
:: m
590
integer
,
intent(in)
:: n
591
real
(real32),
intent(inout)
:: L
592
integer
,
intent(in)
:: ldl
593
real
(real32),
intent(inout)
:: R
594
integer
,
intent(in)
:: ldr
595
real
(real32),
intent(inout)
:: u
596
real
(real32),
intent(inout)
:: v
597
end subroutine
slu1up
598
end interface
599
600
interface
601
subroutine
slup1up
(m, n, L, ldl, R, ldr, p, u, v, w)
602
use
iso_fortran_env
603
integer
,
intent(in)
:: m
604
integer
,
intent(in)
:: n
605
real
(real32),
intent(inout)
:: L
606
integer
,
intent(in)
:: ldl
607
real
(real32),
intent(inout)
:: R
608
integer
,
intent(in)
:: ldr
609
integer
,
intent(in)
:: p
610
real
(real32),
intent(in)
:: u
611
real
(real32),
intent(in)
:: v
612
real
(real32),
intent(out)
:: w
613
end subroutine
slup1up
614
end interface
615
616
interface
617
subroutine
sqhqr
(m, n, R, ldr, c, s)
618
use
iso_fortran_env
619
integer
,
intent(in)
:: m
620
integer
,
intent(in)
:: n
621
real
(real32),
intent(inout)
:: R
622
integer
,
intent(in)
:: ldr
623
real
(real32),
intent(out)
:: c
624
real
(real32),
intent(out)
:: s
625
end subroutine
sqhqr
626
end interface
627
628
interface
629
subroutine
sqr1up
(m, n, k, Q, ldq, R, ldr, u, v, w)
630
use
iso_fortran_env
631
integer
,
intent(in)
:: m
632
integer
,
intent(in)
:: n
633
integer
,
intent(in)
:: k
634
real
(real32),
intent(inout)
:: Q
635
integer
,
intent(in)
:: ldq
636
real
(real32),
intent(inout)
:: R
637
integer
,
intent(in)
:: ldr
638
real
(real32),
intent(inout)
:: u
639
real
(real32),
intent(inout)
:: v
640
real
(real32),
intent(out)
:: w
641
end subroutine
sqr1up
642
end interface
643
644
interface
645
subroutine
sqrdec
(m, n, k, Q, ldq, R, ldr, j, w)
646
use
iso_fortran_env
647
integer
,
intent(in)
:: m
648
integer
,
intent(in)
:: n
649
integer
,
intent(in)
:: k
650
real
(real32),
intent(inout)
:: Q
651
integer
,
intent(in)
:: ldq
652
real
(real32),
intent(inout)
:: R
653
integer
,
intent(in)
:: ldr
654
integer
,
intent(in)
:: j
655
real
(real32),
intent(out)
:: w
656
end subroutine
sqrdec
657
end interface
658
659
interface
660
subroutine
sqrder
(m, n, Q, ldq, R, ldr, j, w)
661
use
iso_fortran_env
662
integer
,
intent(in)
:: m
663
integer
,
intent(in)
:: n
664
real
(real32),
intent(inout)
:: Q
665
integer
,
intent(in)
:: ldq
666
real
(real32),
intent(inout)
:: R
667
integer
,
intent(in)
:: ldr
668
integer
,
intent(in)
:: j
669
real
(real32),
intent(out)
:: w
670
end subroutine
sqrder
671
end interface
672
673
interface
674
subroutine
sqrinc
(m, n, k, Q, ldq, R, ldr, j, x, w)
675
use
iso_fortran_env
676
integer
,
intent(in)
:: m
677
integer
,
intent(in)
:: n
678
integer
,
intent(in)
:: k
679
real
(real32),
intent(inout)
:: Q
680
integer
,
intent(in)
:: ldq
681
real
(real32),
intent(inout)
:: R
682
integer
,
intent(in)
:: ldr
683
integer
,
intent(in)
:: j
684
real
(real32),
intent(in)
:: x
685
real
(real32),
intent(out)
:: w
686
end subroutine
sqrinc
687
end interface
688
689
interface
690
subroutine
sqrinr
(m, n, Q, ldq, R, ldr, j, x, w)
691
use
iso_fortran_env
692
integer
,
intent(in)
:: m
693
integer
,
intent(in)
:: n
694
real
(real32),
intent(inout)
:: Q
695
integer
,
intent(in)
:: ldq
696
real
(real32),
intent(inout)
:: R
697
integer
,
intent(in)
:: ldr
698
integer
,
intent(in)
:: j
699
real
(real32),
intent(inout)
:: x
700
real
(real32),
intent(out)
:: w
701
end subroutine
sqrinr
702
end interface
703
704
interface
705
subroutine
sqrot
(dir, m, n, Q, ldq, c, s)
706
use
iso_fortran_env
707
character
,
intent(in)
:: dir
708
integer
,
intent(in)
:: m
709
integer
,
intent(in)
:: n
710
real
(real32),
intent(inout)
:: Q
711
integer
,
intent(in)
:: ldq
712
real
(real32),
intent(in)
:: c
713
real
(real32),
intent(in)
:: s
714
end subroutine
sqrot
715
end interface
716
717
interface
718
subroutine
sqrqh
(m, n, R, ldr, c, s)
719
use
iso_fortran_env
720
integer
,
intent(in)
:: m
721
integer
,
intent(in)
:: n
722
real
(real32),
intent(inout)
:: R
723
integer
,
intent(in)
:: ldr
724
real
(real32),
intent(in)
:: c
725
real
(real32),
intent(in)
:: s
726
end subroutine
sqrqh
727
end interface
728
729
interface
730
subroutine
sqrshc
(m, n, k, Q, ldq, R, ldr, i, j, w)
731
use
iso_fortran_env
732
integer
,
intent(in)
:: m
733
integer
,
intent(in)
:: n
734
integer
,
intent(in)
:: k
735
real
(real32),
intent(inout)
:: Q
736
integer
,
intent(in)
:: ldq
737
real
(real32),
intent(inout)
:: R
738
integer
,
intent(in)
:: ldr
739
integer
,
intent(in)
:: i
740
integer
,
intent(in)
:: j
741
real
(real32),
intent(out)
:: w
742
end subroutine
sqrshc
743
end interface
744
745
interface
746
subroutine
sqrtv1
(n, u, w)
747
use
iso_fortran_env
748
integer
,
intent(in)
:: n
749
real
(real32),
intent(inout)
:: u
750
real
(real32),
intent(out)
:: w
751
end subroutine
sqrtv1
752
end interface
753
754
interface
755
subroutine
zaxcpy
(n, a, x, incx, y, incy)
756
use
iso_fortran_env
757
integer
,
intent(in)
:: n
758
complex(real32)
,
intent(in)
:: a
759
complex(real32)
,
intent(in)
:: x
760
integer
,
intent(in)
:: incx
761
complex(real32)
,
intent(inout)
:: y
762
integer
,
intent(in)
:: incy
763
end subroutine
zaxcpy
764
end interface
765
766
interface
767
subroutine
zch1dn
(n, R, ldr, u, rw, info)
768
use
iso_fortran_env
769
integer
,
intent(in)
:: n
770
complex(real32)
,
intent(inout)
:: R
771
integer
,
intent(in)
:: ldr
772
complex(real32)
,
intent(inout)
:: u
773
real
(real64),
intent(out)
:: rw
774
integer
,
intent(out)
:: info
775
end subroutine
zch1dn
776
end interface
777
778
interface
779
subroutine
zch1up
(n, R, ldr, u, w)
780
use
iso_fortran_env
781
integer
,
intent(in)
:: n
782
complex(real32)
,
intent(inout)
:: R
783
integer
,
intent(in)
:: ldr
784
complex(real32)
,
intent(inout)
:: u
785
real
(real64),
intent(out)
:: w
786
end subroutine
zch1up
787
end interface
788
789
interface
790
subroutine
zchdex
(n, R, ldr, j, rw)
791
use
iso_fortran_env
792
integer
,
intent(in)
:: n
793
complex(real32)
,
intent(inout)
:: R
794
integer
,
intent(in)
:: ldr
795
integer
,
intent(in)
:: j
796
real
(real64),
intent(out)
:: rw
797
end subroutine
zchdex
798
end interface
799
800
interface
801
subroutine
zchinx
(n, R, ldr, j, u, rw, info)
802
use
iso_fortran_env
803
integer
,
intent(in)
:: n
804
complex(real32)
,
intent(inout)
:: R
805
integer
,
intent(in)
:: ldr
806
integer
,
intent(in)
:: j
807
complex(real32)
,
intent(inout)
:: u
808
real
(real64),
intent(out)
:: rw
809
integer
,
intent(out)
:: info
810
end subroutine
zchinx
811
end interface
812
813
interface
814
subroutine
zchshx
(n, R, ldr, i, j, w, rw)
815
use
iso_fortran_env
816
integer
,
intent(in)
:: n
817
complex(real32)
,
intent(inout)
:: R
818
integer
,
intent(in)
:: ldr
819
integer
,
intent(in)
:: i
820
integer
,
intent(in)
:: j
821
complex(real32)
,
intent(out)
:: w
822
real
(real64),
intent(out)
:: rw
823
end subroutine
zchshx
824
end interface
825
826
interface
827
subroutine
zgqvec
(m, n, Q, ldq, u)
828
use
iso_fortran_env
829
integer
,
intent(in)
:: m
830
integer
,
intent(in)
:: n
831
complex(real32)
,
intent(in)
:: Q
832
integer
,
intent(in)
:: ldq
833
complex(real32)
,
intent(out)
:: u
834
end subroutine
zgqvec
835
end interface
836
837
interface
838
subroutine
zlu1up
(m, n, L, ldl, R, ldr, u, v)
839
use
iso_fortran_env
840
integer
,
intent(in)
:: m
841
integer
,
intent(in)
:: n
842
complex(real32)
,
intent(inout)
:: L
843
integer
,
intent(in)
:: ldl
844
complex(real32)
,
intent(inout)
:: R
845
integer
,
intent(in)
:: ldr
846
complex(real32)
,
intent(inout)
:: u
847
complex(real32)
,
intent(inout)
:: v
848
end subroutine
zlu1up
849
end interface
850
851
interface
852
subroutine
zlup1up
(m, n, L, ldl, R, ldr, p, u, v, w)
853
use
iso_fortran_env
854
integer
,
intent(in)
:: m
855
integer
,
intent(in)
:: n
856
complex(real32)
,
intent(inout)
:: L
857
integer
,
intent(in)
:: ldl
858
complex(real32)
,
intent(inout)
:: R
859
integer
,
intent(in)
:: ldr
860
integer
,
intent(in)
:: p
861
complex(real32)
,
intent(in)
:: u
862
complex(real32)
,
intent(in)
:: v
863
complex(real32)
,
intent(out)
:: w
864
end subroutine
zlup1up
865
end interface
866
867
interface
868
subroutine
zqhqr
(m, n, R, ldr, c, s)
869
use
iso_fortran_env
870
integer
,
intent(in)
:: m
871
integer
,
intent(in)
:: n
872
complex(real32)
,
intent(inout)
:: R
873
integer
,
intent(in)
:: ldr
874
real
(real64),
intent(out)
:: c
875
complex(real32)
,
intent(out)
:: s
876
end subroutine
zqhqr
877
end interface
878
879
interface
880
subroutine
zqr1up
(m, n, k, Q, ldq, R, ldr, u, v, w, rw)
881
use
iso_fortran_env
882
integer
,
intent(in)
:: m
883
integer
,
intent(in)
:: n
884
integer
,
intent(in)
:: k
885
complex(real32)
,
intent(inout)
:: Q
886
integer
,
intent(in)
:: ldq
887
complex(real32)
,
intent(inout)
:: R
888
integer
,
intent(in)
:: ldr
889
complex(real32)
,
intent(inout)
:: u
890
complex(real32)
,
intent(inout)
:: v
891
complex(real32)
,
intent(out)
:: w
892
real
(real64),
intent(out)
:: rw
893
end subroutine
zqr1up
894
end interface
895
896
interface
897
subroutine
zqrdec
(m, n, k, Q, ldq, R, ldr, j, rw)
898
use
iso_fortran_env
899
integer
,
intent(in)
:: m
900
integer
,
intent(in)
:: n
901
integer
,
intent(in)
:: k
902
complex(real32)
,
intent(inout)
:: Q
903
integer
,
intent(in)
:: ldq
904
complex(real32)
,
intent(inout)
:: R
905
integer
,
intent(in)
:: ldr
906
integer
,
intent(in)
:: j
907
real
(real64),
intent(out)
:: rw
908
end subroutine
zqrdec
909
end interface
910
911
interface
912
subroutine
zqrder
(m, n, Q, ldq, R, ldr, j, w, rw)
913
use
iso_fortran_env
914
integer
,
intent(in)
:: m
915
integer
,
intent(in)
:: n
916
complex(real32)
,
intent(inout)
:: Q
917
integer
,
intent(in)
:: ldq
918
complex(real32)
,
intent(inout)
:: R
919
integer
,
intent(in)
:: ldr
920
integer
,
intent(in)
:: j
921
complex(real32)
,
intent(out)
:: w
922
real
(real64),
intent(out)
:: rw
923
end subroutine
zqrder
924
end interface
925
926
interface
927
subroutine
zqrinc
(m, n, k, Q, ldq, R, ldr, j, x, rw)
928
use
iso_fortran_env
929
integer
,
intent(in)
:: m
930
integer
,
intent(in)
:: n
931
integer
,
intent(in)
:: k
932
complex(real32)
,
intent(inout)
:: Q
933
integer
,
intent(in)
:: ldq
934
complex(real32)
,
intent(inout)
:: R
935
integer
,
intent(in)
:: ldr
936
integer
,
intent(in)
:: j
937
complex(real32)
,
intent(in)
:: x
938
real
(real64),
intent(out)
:: rw
939
end subroutine
zqrinc
940
end interface
941
942
interface
943
subroutine
zqrinr
(m, n, Q, ldq, R, ldr, j, x, rw)
944
use
iso_fortran_env
945
integer
,
intent(in)
:: m
946
integer
,
intent(in)
:: n
947
complex(real32)
,
intent(inout)
:: Q
948
integer
,
intent(in)
:: ldq
949
complex(real32)
,
intent(inout)
:: R
950
integer
,
intent(in)
:: ldr
951
integer
,
intent(in)
:: j
952
complex(real32)
,
intent(inout)
:: x
953
real
(real64),
intent(out)
:: rw
954
end subroutine
zqrinr
955
end interface
956
957
interface
958
subroutine
zqrot
(dir, m, n, Q, ldq, c, s)
959
use
iso_fortran_env
960
character
,
intent(in)
:: dir
961
integer
,
intent(in)
:: m
962
integer
,
intent(in)
:: n
963
complex(real32)
,
intent(inout)
:: Q
964
integer
,
intent(in)
:: ldq
965
real
(real64),
intent(in)
:: c
966
complex(real32)
,
intent(in)
:: s
967
end subroutine
zqrot
968
end interface
969
970
interface
971
subroutine
zqrqh
(m, n, R, ldr, c, s)
972
use
iso_fortran_env
973
integer
,
intent(in)
:: m
974
integer
,
intent(in)
:: n
975
complex(real32)
,
intent(inout)
:: R
976
integer
,
intent(in)
:: ldr
977
real
(real64),
intent(in)
:: c
978
complex(real32)
,
intent(in)
:: s
979
end subroutine
zqrqh
980
end interface
981
982
interface
983
subroutine
zqrshc
(m, n, k, Q, ldq, R, ldr, i, j, w, rw)
984
use
iso_fortran_env
985
integer
,
intent(in)
:: m
986
integer
,
intent(in)
:: n
987
integer
,
intent(in)
:: k
988
complex(real32)
,
intent(inout)
:: Q
989
integer
,
intent(in)
:: ldq
990
complex(real32)
,
intent(inout)
:: R
991
integer
,
intent(in)
:: ldr
992
integer
,
intent(in)
:: i
993
integer
,
intent(in)
:: j
994
complex(real32)
,
intent(out)
:: w
995
real
(real64),
intent(out)
:: rw
996
end subroutine
zqrshc
997
end interface
998
999
interface
1000
subroutine
zqrtv1
(n, u, w)
1001
use
iso_fortran_env
1002
integer
,
intent(in)
:: n
1003
complex(real32)
,
intent(inout)
:: u
1004
real
(real64),
intent(out)
:: w
1005
end subroutine
zqrtv1
1006
end interface
1007
1008
end module
qrupdate
qrupdate::caxcpy
Definition
qrupdate.f90:25
qrupdate::cch1dn
Definition
qrupdate.f90:37
qrupdate::cch1up
Definition
qrupdate.f90:49
qrupdate::cchdex
Definition
qrupdate.f90:60
qrupdate::cchinx
Definition
qrupdate.f90:71
qrupdate::cchshx
Definition
qrupdate.f90:84
qrupdate::cgqvec
Definition
qrupdate.f90:97
qrupdate::clu1up
Definition
qrupdate.f90:108
qrupdate::clup1up
Definition
qrupdate.f90:122
qrupdate::cqhqr
Definition
qrupdate.f90:138
qrupdate::cqr1up
Definition
qrupdate.f90:150
qrupdate::cqrdec
Definition
qrupdate.f90:167
qrupdate::cqrder
Definition
qrupdate.f90:182
qrupdate::cqrinc
Definition
qrupdate.f90:197
qrupdate::cqrinr
Definition
qrupdate.f90:213
qrupdate::cqrot
Definition
qrupdate.f90:228
qrupdate::cqrqh
Definition
qrupdate.f90:241
qrupdate::cqrshc
Definition
qrupdate.f90:253
qrupdate::cqrtv1
Definition
qrupdate.f90:270
qrupdate::dch1dn
Definition
qrupdate.f90:279
qrupdate::dch1up
Definition
qrupdate.f90:291
qrupdate::dchdex
Definition
qrupdate.f90:302
qrupdate::dchinx
Definition
qrupdate.f90:313
qrupdate::dchshx
Definition
qrupdate.f90:326
qrupdate::dgqvec
Definition
qrupdate.f90:338
qrupdate::dlu1up
Definition
qrupdate.f90:349
qrupdate::dlup1up
Definition
qrupdate.f90:363
qrupdate::dqhqr
Definition
qrupdate.f90:379
qrupdate::dqr1up
Definition
qrupdate.f90:391
qrupdate::dqrdec
Definition
qrupdate.f90:407
qrupdate::dqrder
Definition
qrupdate.f90:422
qrupdate::dqrinc
Definition
qrupdate.f90:436
qrupdate::dqrinr
Definition
qrupdate.f90:452
qrupdate::dqrot
Definition
qrupdate.f90:467
qrupdate::dqrqh
Definition
qrupdate.f90:480
qrupdate::dqrshc
Definition
qrupdate.f90:492
qrupdate::dqrtv1
Definition
qrupdate.f90:508
qrupdate::sch1dn
Definition
qrupdate.f90:517
qrupdate::sch1up
Definition
qrupdate.f90:529
qrupdate::schdex
Definition
qrupdate.f90:540
qrupdate::schinx
Definition
qrupdate.f90:551
qrupdate::schshx
Definition
qrupdate.f90:564
qrupdate::sgqvec
Definition
qrupdate.f90:576
qrupdate::slu1up
Definition
qrupdate.f90:587
qrupdate::slup1up
Definition
qrupdate.f90:601
qrupdate::sqhqr
Definition
qrupdate.f90:617
qrupdate::sqr1up
Definition
qrupdate.f90:629
qrupdate::sqrdec
Definition
qrupdate.f90:645
qrupdate::sqrder
Definition
qrupdate.f90:660
qrupdate::sqrinc
Definition
qrupdate.f90:674
qrupdate::sqrinr
Definition
qrupdate.f90:690
qrupdate::sqrot
Definition
qrupdate.f90:705
qrupdate::sqrqh
Definition
qrupdate.f90:718
qrupdate::sqrshc
Definition
qrupdate.f90:730
qrupdate::sqrtv1
Definition
qrupdate.f90:746
qrupdate::zaxcpy
Definition
qrupdate.f90:755
qrupdate::zch1dn
Definition
qrupdate.f90:767
qrupdate::zch1up
Definition
qrupdate.f90:779
qrupdate::zchdex
Definition
qrupdate.f90:790
qrupdate::zchinx
Definition
qrupdate.f90:801
qrupdate::zchshx
Definition
qrupdate.f90:814
qrupdate::zgqvec
Definition
qrupdate.f90:827
qrupdate::zlu1up
Definition
qrupdate.f90:838
qrupdate::zlup1up
Definition
qrupdate.f90:852
qrupdate::zqhqr
Definition
qrupdate.f90:868
qrupdate::zqr1up
Definition
qrupdate.f90:880
qrupdate::zqrdec
Definition
qrupdate.f90:897
qrupdate::zqrder
Definition
qrupdate.f90:912
qrupdate::zqrinc
Definition
qrupdate.f90:927
qrupdate::zqrinr
Definition
qrupdate.f90:943
qrupdate::zqrot
Definition
qrupdate.f90:958
qrupdate::zqrqh
Definition
qrupdate.f90:971
qrupdate::zqrshc
Definition
qrupdate.f90:983
qrupdate::zqrtv1
Definition
qrupdate.f90:1000
qrupdate
Definition
qrupdate.f90:20
src
qrupdate.f90
Generated by
1.17.0