File: slasd4

package info (click to toggle)
ruby-lapack 1.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 28,572 kB
  • sloc: ansic: 191,612; ruby: 3,937; makefile: 6
file content (123 lines) | stat: -rw-r--r-- 3,664 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
--- 
:name: slasd4
:md5sum: 5d9cc23b9dcc49410cef1ca83143a336
:category: :subroutine
:arguments: 
- n: 
    :type: integer
    :intent: input
- i: 
    :type: integer
    :intent: input
- d: 
    :type: real
    :intent: input
    :dims: 
    - n
- z: 
    :type: real
    :intent: input
    :dims: 
    - n
- delta: 
    :type: real
    :intent: output
    :dims: 
    - n
- rho: 
    :type: real
    :intent: input
- sigma: 
    :type: real
    :intent: output
- work: 
    :type: real
    :intent: workspace
    :dims: 
    - n
- info: 
    :type: integer
    :intent: output
:substitutions: {}

:fortran_help: "      SUBROUTINE SLASD4( N, I, D, Z, DELTA, RHO, SIGMA, WORK, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  This subroutine computes the square root of the I-th updated\n\
  *  eigenvalue of a positive symmetric rank-one modification to\n\
  *  a positive diagonal matrix whose entries are given as the squares\n\
  *  of the corresponding entries in the array d, and that\n\
  *\n\
  *         0 <= D(i) < D(j)  for  i < j\n\
  *\n\
  *  and that RHO > 0. This is arranged by the calling routine, and is\n\
  *  no loss in generality.  The rank-one modified system is thus\n\
  *\n\
  *         diag( D ) * diag( D ) +  RHO *  Z * Z_transpose.\n\
  *\n\
  *  where we assume the Euclidean norm of Z is 1.\n\
  *\n\
  *  The method consists of approximating the rational functions in the\n\
  *  secular equation by simpler interpolating rational functions.\n\
  *\n\n\
  *  Arguments\n\
  *  =========\n\
  *\n\
  *  N      (input) INTEGER\n\
  *         The length of all arrays.\n\
  *\n\
  *  I      (input) INTEGER\n\
  *         The index of the eigenvalue to be computed.  1 <= I <= N.\n\
  *\n\
  *  D      (input) REAL array, dimension ( N )\n\
  *         The original eigenvalues.  It is assumed that they are in\n\
  *         order, 0 <= D(I) < D(J)  for I < J.\n\
  *\n\
  *  Z      (input) REAL array, dimension (N)\n\
  *         The components of the updating vector.\n\
  *\n\
  *  DELTA  (output) REAL array, dimension (N)\n\
  *         If N .ne. 1, DELTA contains (D(j) - sigma_I) in its  j-th\n\
  *         component.  If N = 1, then DELTA(1) = 1.  The vector DELTA\n\
  *         contains the information necessary to construct the\n\
  *         (singular) eigenvectors.\n\
  *\n\
  *  RHO    (input) REAL\n\
  *         The scalar in the symmetric updating formula.\n\
  *\n\
  *  SIGMA  (output) REAL\n\
  *         The computed sigma_I, the I-th updated eigenvalue.\n\
  *\n\
  *  WORK   (workspace) REAL array, dimension (N)\n\
  *         If N .ne. 1, WORK contains (D(j) + sigma_I) in its  j-th\n\
  *         component.  If N = 1, then WORK( 1 ) = 1.\n\
  *\n\
  *  INFO   (output) INTEGER\n\
  *         = 0:  successful exit\n\
  *         > 0:  if INFO = 1, the updating process failed.\n\
  *\n\
  *  Internal Parameters\n\
  *  ===================\n\
  *\n\
  *  Logical variable ORGATI (origin-at-i?) is used for distinguishing\n\
  *  whether D(i) or D(i+1) is treated as the origin.\n\
  *\n\
  *            ORGATI = .true.    origin at i\n\
  *            ORGATI = .false.   origin at i+1\n\
  *\n\
  *  Logical variable SWTCH3 (switch-for-3-poles?) is for noting\n\
  *  if we are working with THREE poles!\n\
  *\n\
  *  MAXIT is the maximum number of iterations allowed for each\n\
  *  eigenvalue.\n\
  *\n\n\
  *  Further Details\n\
  *  ===============\n\
  *\n\
  *  Based on contributions by\n\
  *     Ren-Cang Li, Computer Science Division, University of California\n\
  *     at Berkeley, USA\n\
  *\n\
  *  =====================================================================\n\
  *\n"