File: dsptrd

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 (118 lines) | stat: -rwxr-xr-x 4,065 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
--- 
:name: dsptrd
:md5sum: cf8f4de5c48cb0545e1cda0d8654c0d4
:category: :subroutine
:arguments: 
- uplo: 
    :type: char
    :intent: input
- n: 
    :type: integer
    :intent: input
- ap: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - ldap
- d: 
    :type: doublereal
    :intent: output
    :dims: 
    - n
- e: 
    :type: doublereal
    :intent: output
    :dims: 
    - n-1
- tau: 
    :type: doublereal
    :intent: output
    :dims: 
    - n-1
- info: 
    :type: integer
    :intent: output
:substitutions: 
  n: ((int)sqrtf(ldap*8+1.0f)-1)/2
:fortran_help: "      SUBROUTINE DSPTRD( UPLO, N, AP, D, E, TAU, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  DSPTRD reduces a real symmetric matrix A stored in packed form to\n\
  *  symmetric tridiagonal form T by an orthogonal similarity\n\
  *  transformation: Q**T * A * Q = T.\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/output) DOUBLE PRECISION array, dimension (N*(N+1)/2)\n\
  *          On entry, the upper or lower triangle of the symmetric matrix\n\
  *          A, packed columnwise in a linear array.  The j-th column of A\n\
  *          is stored 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)*(2*n-j)/2) = A(i,j) for j<=i<=n.\n\
  *          On exit, if UPLO = 'U', the diagonal and first superdiagonal\n\
  *          of A are overwritten by the corresponding elements of the\n\
  *          tridiagonal matrix T, and the elements above the first\n\
  *          superdiagonal, with the array TAU, represent the orthogonal\n\
  *          matrix Q as a product of elementary reflectors; if UPLO\n\
  *          = 'L', the diagonal and first subdiagonal of A are over-\n\
  *          written by the corresponding elements of the tridiagonal\n\
  *          matrix T, and the elements below the first subdiagonal, with\n\
  *          the array TAU, represent the orthogonal matrix Q as a product\n\
  *          of elementary reflectors. See Further Details.\n\
  *\n\
  *  D       (output) DOUBLE PRECISION array, dimension (N)\n\
  *          The diagonal elements of the tridiagonal matrix T:\n\
  *          D(i) = A(i,i).\n\
  *\n\
  *  E       (output) DOUBLE PRECISION array, dimension (N-1)\n\
  *          The off-diagonal elements of the tridiagonal matrix T:\n\
  *          E(i) = A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.\n\
  *\n\
  *  TAU     (output) DOUBLE PRECISION array, dimension (N-1)\n\
  *          The scalar factors of the elementary reflectors (see Further\n\
  *          Details).\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\
  *  If UPLO = 'U', the matrix Q is represented as a product of elementary\n\
  *  reflectors\n\
  *\n\
  *     Q = H(n-1) . . . H(2) H(1).\n\
  *\n\
  *  Each H(i) has the form\n\
  *\n\
  *     H(i) = I - tau * v * v'\n\
  *\n\
  *  where tau is a real scalar, and v is a real vector with\n\
  *  v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in AP,\n\
  *  overwriting A(1:i-1,i+1), and tau is stored in TAU(i).\n\
  *\n\
  *  If UPLO = 'L', the matrix Q is represented as a product of elementary\n\
  *  reflectors\n\
  *\n\
  *     Q = H(1) H(2) . . . H(n-1).\n\
  *\n\
  *  Each H(i) has the form\n\
  *\n\
  *     H(i) = I - tau * v * v'\n\
  *\n\
  *  where tau is a real scalar, and v is a real vector with\n\
  *  v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in AP,\n\
  *  overwriting A(i+2:n,i), and tau is stored in TAU(i).\n\
  *\n\
  *  =====================================================================\n\
  *\n"