File: dlaexc

package info (click to toggle)
ruby-lapack 1.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 28,572 kB
  • sloc: ansic: 191,612; ruby: 3,937; makefile: 6
file content (107 lines) | stat: -rw-r--r-- 3,137 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
--- 
:name: dlaexc
:md5sum: 56c861d18592b42e26327b9686122ba6
:category: :subroutine
:arguments: 
- wantq: 
    :type: logical
    :intent: input
- n: 
    :type: integer
    :intent: input
- t: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - ldt
    - n
- ldt: 
    :type: integer
    :intent: input
- q: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - ldq
    - n
- ldq: 
    :type: integer
    :intent: input
- j1: 
    :type: integer
    :intent: input
- n1: 
    :type: integer
    :intent: input
- n2: 
    :type: integer
    :intent: input
- work: 
    :type: doublereal
    :intent: workspace
    :dims: 
    - n
- info: 
    :type: integer
    :intent: output
:substitutions: {}

:fortran_help: "      SUBROUTINE DLAEXC( WANTQ, N, T, LDT, Q, LDQ, J1, N1, N2, WORK, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  DLAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in\n\
  *  an upper quasi-triangular matrix T by an orthogonal similarity\n\
  *  transformation.\n\
  *\n\
  *  T must be in Schur canonical form, that is, block upper triangular\n\
  *  with 1-by-1 and 2-by-2 diagonal blocks; each 2-by-2 diagonal block\n\
  *  has its diagonal elemnts equal and its off-diagonal elements of\n\
  *  opposite sign.\n\
  *\n\n\
  *  Arguments\n\
  *  =========\n\
  *\n\
  *  WANTQ   (input) LOGICAL\n\
  *          = .TRUE. : accumulate the transformation in the matrix Q;\n\
  *          = .FALSE.: do not accumulate the transformation.\n\
  *\n\
  *  N       (input) INTEGER\n\
  *          The order of the matrix T. N >= 0.\n\
  *\n\
  *  T       (input/output) DOUBLE PRECISION array, dimension (LDT,N)\n\
  *          On entry, the upper quasi-triangular matrix T, in Schur\n\
  *          canonical form.\n\
  *          On exit, the updated matrix T, again in Schur canonical form.\n\
  *\n\
  *  LDT     (input) INTEGER\n\
  *          The leading dimension of the array T. LDT >= max(1,N).\n\
  *\n\
  *  Q       (input/output) DOUBLE PRECISION array, dimension (LDQ,N)\n\
  *          On entry, if WANTQ is .TRUE., the orthogonal matrix Q.\n\
  *          On exit, if WANTQ is .TRUE., the updated matrix Q.\n\
  *          If WANTQ is .FALSE., Q is not referenced.\n\
  *\n\
  *  LDQ     (input) INTEGER\n\
  *          The leading dimension of the array Q.\n\
  *          LDQ >= 1; and if WANTQ is .TRUE., LDQ >= N.\n\
  *\n\
  *  J1      (input) INTEGER\n\
  *          The index of the first row of the first block T11.\n\
  *\n\
  *  N1      (input) INTEGER\n\
  *          The order of the first block T11. N1 = 0, 1 or 2.\n\
  *\n\
  *  N2      (input) INTEGER\n\
  *          The order of the second block T22. N2 = 0, 1 or 2.\n\
  *\n\
  *  WORK    (workspace) DOUBLE PRECISION array, dimension (N)\n\
  *\n\
  *  INFO    (output) INTEGER\n\
  *          = 0: successful exit\n\
  *          = 1: the transformed matrix T would be too far from Schur\n\
  *               form; the blocks are not swapped and T and Q are\n\
  *               unchanged.\n\
  *\n\n\
  *  =====================================================================\n\
  *\n"