File: spbequ

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 (96 lines) | stat: -rwxr-xr-x 3,196 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
--- 
:name: spbequ
:md5sum: fcd294fd62071c4dcdc44bab541045fc
:category: :subroutine
:arguments: 
- uplo: 
    :type: char
    :intent: input
- n: 
    :type: integer
    :intent: input
- kd: 
    :type: integer
    :intent: input
- ab: 
    :type: real
    :intent: input
    :dims: 
    - ldab
    - n
- ldab: 
    :type: integer
    :intent: input
- s: 
    :type: real
    :intent: output
    :dims: 
    - n
- scond: 
    :type: real
    :intent: output
- amax: 
    :type: real
    :intent: output
- info: 
    :type: integer
    :intent: output
:substitutions: {}

:fortran_help: "      SUBROUTINE SPBEQU( UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  SPBEQU computes row and column scalings intended to equilibrate a\n\
  *  symmetric positive definite band matrix A and reduce its condition\n\
  *  number (with respect to the two-norm).  S contains the scale factors,\n\
  *  S(i) = 1/sqrt(A(i,i)), chosen so that the scaled matrix B with\n\
  *  elements B(i,j) = S(i)*A(i,j)*S(j) has ones on the diagonal.  This\n\
  *  choice of S puts the condition number of B within a factor N of the\n\
  *  smallest possible condition number over all possible diagonal\n\
  *  scalings.\n\
  *\n\n\
  *  Arguments\n\
  *  =========\n\
  *\n\
  *  UPLO    (input) CHARACTER*1\n\
  *          = 'U':  Upper triangular of A is stored;\n\
  *          = 'L':  Lower triangular of A is stored.\n\
  *\n\
  *  N       (input) INTEGER\n\
  *          The order of the matrix A.  N >= 0.\n\
  *\n\
  *  KD      (input) INTEGER\n\
  *          The number of superdiagonals of the matrix A if UPLO = 'U',\n\
  *          or the number of subdiagonals if UPLO = 'L'.  KD >= 0.\n\
  *\n\
  *  AB      (input) REAL array, dimension (LDAB,N)\n\
  *          The upper or lower triangle of the symmetric band matrix A,\n\
  *          stored in the first KD+1 rows of the array.  The j-th column\n\
  *          of A is stored in the j-th column of the array AB as follows:\n\
  *          if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;\n\
  *          if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).\n\
  *\n\
  *  LDAB     (input) INTEGER\n\
  *          The leading dimension of the array A.  LDAB >= KD+1.\n\
  *\n\
  *  S       (output) REAL array, dimension (N)\n\
  *          If INFO = 0, S contains the scale factors for A.\n\
  *\n\
  *  SCOND   (output) REAL\n\
  *          If INFO = 0, S contains the ratio of the smallest S(i) to\n\
  *          the largest S(i).  If SCOND >= 0.1 and AMAX is neither too\n\
  *          large nor too small, it is not worth scaling by S.\n\
  *\n\
  *  AMAX    (output) REAL\n\
  *          Absolute value of largest matrix element.  If AMAX is very\n\
  *          close to overflow or very close to underflow, the matrix\n\
  *          should be scaled.\n\
  *\n\
  *  INFO    (output) INTEGER\n\
  *          = 0:  successful exit\n\
  *          < 0:  if INFO = -i, the i-th argument had an illegal value.\n\
  *          > 0:  if INFO = i, the i-th diagonal element is nonpositive.\n\
  *\n\n\
  *  =====================================================================\n\
  *\n"