File: dgebal

package info (click to toggle)
ruby-lapack 1.8.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster
  • size: 28,552 kB
  • sloc: ansic: 191,612; ruby: 3,934; makefile: 8
file content (125 lines) | stat: -rwxr-xr-x 4,380 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
--- 
:name: dgebal
:md5sum: 45f9fb3e24750e422000cd2ba1545396
:category: :subroutine
:arguments: 
- job: 
    :type: char
    :intent: input
- n: 
    :type: integer
    :intent: input
- a: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - lda
    - n
- lda: 
    :type: integer
    :intent: input
- ilo: 
    :type: integer
    :intent: output
- ihi: 
    :type: integer
    :intent: output
- scale: 
    :type: doublereal
    :intent: output
    :dims: 
    - n
- info: 
    :type: integer
    :intent: output
:substitutions: {}

:fortran_help: "      SUBROUTINE DGEBAL( JOB, N, A, LDA, ILO, IHI, SCALE, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  DGEBAL balances a general real matrix A.  This involves, first,\n\
  *  permuting A by a similarity transformation to isolate eigenvalues\n\
  *  in the first 1 to ILO-1 and last IHI+1 to N elements on the\n\
  *  diagonal; and second, applying a diagonal similarity transformation\n\
  *  to rows and columns ILO to IHI to make the rows and columns as\n\
  *  close in norm as possible.  Both steps are optional.\n\
  *\n\
  *  Balancing may reduce the 1-norm of the matrix, and improve the\n\
  *  accuracy of the computed eigenvalues and/or eigenvectors.\n\
  *\n\n\
  *  Arguments\n\
  *  =========\n\
  *\n\
  *  JOB     (input) CHARACTER*1\n\
  *          Specifies the operations to be performed on A:\n\
  *          = 'N':  none:  simply set ILO = 1, IHI = N, SCALE(I) = 1.0\n\
  *                  for i = 1,...,N;\n\
  *          = 'P':  permute only;\n\
  *          = 'S':  scale only;\n\
  *          = 'B':  both permute and scale.\n\
  *\n\
  *  N       (input) INTEGER\n\
  *          The order of the matrix A.  N >= 0.\n\
  *\n\
  *  A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)\n\
  *          On entry, the input matrix A.\n\
  *          On exit,  A is overwritten by the balanced matrix.\n\
  *          If JOB = 'N', A is not referenced.\n\
  *          See Further Details.\n\
  *\n\
  *  LDA     (input) INTEGER\n\
  *          The leading dimension of the array A.  LDA >= max(1,N).\n\
  *\n\
  *  ILO     (output) INTEGER\n\
  *  IHI     (output) INTEGER\n\
  *          ILO and IHI are set to integers such that on exit\n\
  *          A(i,j) = 0 if i > j and j = 1,...,ILO-1 or I = IHI+1,...,N.\n\
  *          If JOB = 'N' or 'S', ILO = 1 and IHI = N.\n\
  *\n\
  *  SCALE   (output) DOUBLE PRECISION array, dimension (N)\n\
  *          Details of the permutations and scaling factors applied to\n\
  *          A.  If P(j) is the index of the row and column interchanged\n\
  *          with row and column j and D(j) is the scaling factor\n\
  *          applied to row and column j, then\n\
  *          SCALE(j) = P(j)    for j = 1,...,ILO-1\n\
  *                   = D(j)    for j = ILO,...,IHI\n\
  *                   = P(j)    for j = IHI+1,...,N.\n\
  *          The order in which the interchanges are made is N to IHI+1,\n\
  *          then 1 to ILO-1.\n\
  *\n\
  *  INFO    (output) INTEGER\n\
  *          = 0:  successful exit.\n\
  *          < 0:  if INFO = -i, the i-th argument had an illegal value.\n\
  *\n\n\
  *  Further Details\n\
  *  ===============\n\
  *\n\
  *  The permutations consist of row and column interchanges which put\n\
  *  the matrix in the form\n\
  *\n\
  *             ( T1   X   Y  )\n\
  *     P A P = (  0   B   Z  )\n\
  *             (  0   0   T2 )\n\
  *\n\
  *  where T1 and T2 are upper triangular matrices whose eigenvalues lie\n\
  *  along the diagonal.  The column indices ILO and IHI mark the starting\n\
  *  and ending columns of the submatrix B. Balancing consists of applying\n\
  *  a diagonal similarity transformation inv(D) * B * D to make the\n\
  *  1-norms of each row of B and its corresponding column nearly equal.\n\
  *  The output matrix is\n\
  *\n\
  *     ( T1     X*D          Y    )\n\
  *     (  0  inv(D)*B*D  inv(D)*Z ).\n\
  *     (  0      0           T2   )\n\
  *\n\
  *  Information about the permutations P and the diagonal matrix D is\n\
  *  returned in the vector SCALE.\n\
  *\n\
  *  This subroutine is based on the EISPACK routine BALANC.\n\
  *\n\
  *  Modified by Tzu-Yi Chen, Computer Science Division, University of\n\
  *    California at Berkeley, USA\n\
  *\n\
  *  =====================================================================\n\
  *\n"