File: slaed4

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 (113 lines) | stat: -rw-r--r-- 3,345 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
--- 
:name: slaed4
:md5sum: d6ca8d8edb3a5f41edc126568787c862
: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
- dlam: 
    :type: real
    :intent: output
- info: 
    :type: integer
    :intent: output
:substitutions: {}

:fortran_help: "      SUBROUTINE SLAED4( N, I, D, Z, DELTA, RHO, DLAM, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  This subroutine computes the I-th updated eigenvalue of a symmetric\n\
  *  rank-one modification to a diagonal matrix whose elements are\n\
  *  given in the array d, and that\n\
  *\n\
  *             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 )  +  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, 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 .GT. 2, DELTA contains (D(j) - lambda_I) in its  j-th\n\
  *         component.  If N = 1, then DELTA(1) = 1. If N = 2, see SLAED5\n\
  *         for detail. The vector DELTA contains the information necessary\n\
  *         to construct the eigenvectors by SLAED3 and SLAED9.\n\
  *\n\
  *  RHO    (input) REAL\n\
  *         The scalar in the symmetric updating formula.\n\
  *\n\
  *  DLAM   (output) REAL\n\
  *         The computed lambda_I, the I-th updated eigenvalue.\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"