File: dppequ

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 (82 lines) | stat: -rwxr-xr-x 2,861 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
--- 
:name: dppequ
:md5sum: 62f6b4c55adfca98e81cfdd929796b64
:category: :subroutine
:arguments: 
- uplo: 
    :type: char
    :intent: input
- n: 
    :type: integer
    :intent: input
- ap: 
    :type: doublereal
    :intent: input
    :dims: 
    - ldap
- s: 
    :type: doublereal
    :intent: output
    :dims: 
    - n
- scond: 
    :type: doublereal
    :intent: output
- amax: 
    :type: doublereal
    :intent: output
- info: 
    :type: integer
    :intent: output
:substitutions: 
  n: ((int)sqrtf(ldap*8+1.0f)-1)/2
:fortran_help: "      SUBROUTINE DPPEQU( UPLO, N, AP, S, SCOND, AMAX, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  DPPEQU computes row and column scalings intended to equilibrate a\n\
  *  symmetric positive definite matrix A in packed storage and reduce\n\
  *  its condition number (with respect to the two-norm).  S contains the\n\
  *  scale factors, S(i)=1/sqrt(A(i,i)), chosen so that the scaled matrix\n\
  *  B with elements B(i,j)=S(i)*A(i,j)*S(j) has ones on the diagonal.\n\
  *  This choice of S puts the condition number of B within a factor N of\n\
  *  the smallest possible condition number over all possible diagonal\n\
  *  scalings.\n\
  *\n\n\
  *  Arguments\n\
  *  =========\n\
  *\n\
  *  UPLO    (input) CHARACTER*1\n\
  *          = 'U':  Upper triangle of A is stored;\n\
  *          = 'L':  Lower triangle of A is stored.\n\
  *\n\
  *  N       (input) INTEGER\n\
  *          The order of the matrix A.  N >= 0.\n\
  *\n\
  *  AP      (input) DOUBLE PRECISION array, dimension (N*(N+1)/2)\n\
  *          The upper or lower triangle of the symmetric matrix A, packed\n\
  *          columnwise in a linear array.  The j-th column of A is stored\n\
  *          in the array AP as follows:\n\
  *          if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;\n\
  *          if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=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"