File: dpoequ

package info (click to toggle)
ruby-lapack 1.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 28,572 kB
  • sloc: ansic: 191,612; ruby: 3,937; makefile: 6
file content (80 lines) | stat: -rw-r--r-- 2,614 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
--- 
:name: dpoequ
:md5sum: 858ca9e43e3ae192a06d9709d4c8242f
:category: :subroutine
:arguments: 
- n: 
    :type: integer
    :intent: input
- a: 
    :type: doublereal
    :intent: input
    :dims: 
    - lda
    - n
- lda: 
    :type: integer
    :intent: input
- s: 
    :type: doublereal
    :intent: output
    :dims: 
    - n
- scond: 
    :type: doublereal
    :intent: output
- amax: 
    :type: doublereal
    :intent: output
- info: 
    :type: integer
    :intent: output
:substitutions: {}

:fortran_help: "      SUBROUTINE DPOEQU( N, A, LDA, S, SCOND, AMAX, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  DPOEQU computes row and column scalings intended to equilibrate a\n\
  *  symmetric positive definite matrix A and reduce its condition number\n\
  *  (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\
  *  N       (input) INTEGER\n\
  *          The order of the matrix A.  N >= 0.\n\
  *\n\
  *  A       (input) DOUBLE PRECISION array, dimension (LDA,N)\n\
  *          The N-by-N symmetric positive definite matrix whose scaling\n\
  *          factors are to be computed.  Only the diagonal elements of A\n\
  *          are referenced.\n\
  *\n\
  *  LDA     (input) INTEGER\n\
  *          The leading dimension of the array A.  LDA >= max(1,N).\n\
  *\n\
  *  S       (output) DOUBLE PRECISION array, dimension (N)\n\
  *          If INFO = 0, S contains the scale factors for A.\n\
  *\n\
  *  SCOND   (output) DOUBLE PRECISION\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) DOUBLE PRECISION\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"