~ubuntu-branches/ubuntu/utopic/nwchem/utopic

« back to all changes in this revision

Viewing changes to src/lapack/single/slaed9.f

  • Committer: Package Import Robot
  • Author(s): Michael Banck, Daniel Leidert, Andreas Tille, Michael Banck
  • Date: 2013-07-04 12:14:55 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130704121455-5tvsx2qabor3nrui
Tags: 6.3-1
* New upstream release.
* Fixes anisotropic properties (Closes: #696361).
* New features include:
  + Multi-reference coupled cluster (MRCC) approaches
  + Hybrid DFT calculations with short-range HF 
  + New density-functionals including Minnesota (M08, M11) and HSE hybrid
    functionals
  + X-ray absorption spectroscopy (XAS) with TDDFT
  + Analytical gradients for the COSMO solvation model
  + Transition densities from TDDFT 
  + DFT+U and Electron-Transfer (ET) methods for plane wave calculations
  + Exploitation of space group symmetry in plane wave geometry optimizations
  + Local density of states (LDOS) collective variable added to Metadynamics
  + Various new XC functionals added for plane wave calculations, including
    hybrid and range-corrected ones
  + Electric field gradients with relativistic corrections 
  + Nudged Elastic Band optimization method
  + Updated basis sets and ECPs 

[ Daniel Leidert ]
* debian/watch: Fixed.

[ Andreas Tille ]
* debian/upstream: References

[ Michael Banck ]
* debian/upstream (Name): New field.
* debian/patches/02_makefile_flags.patch: Refreshed.
* debian/patches/06_statfs_kfreebsd.patch: Likewise.
* debian/patches/07_ga_target_force_linux.patch: Likewise.
* debian/patches/05_avoid_inline_assembler.patch: Removed, no longer needed.
* debian/patches/09_backported_6.1.1_fixes.patch: Likewise.
* debian/control (Build-Depends): Added gfortran-4.7 and gcc-4.7.
* debian/patches/10_force_gcc-4.7.patch: New patch, explicitly sets
  gfortran-4.7 and gcc-4.7, fixes test suite hang with gcc-4.8 (Closes:
  #701328, #713262).
* debian/testsuite: Added tests for COSMO analytical gradients and MRCC.
* debian/rules (MRCC_METHODS): New variable, required to enable MRCC methods.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
*> \brief \b SLAED9 used by sstedc. Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is dense.
 
2
*
 
3
*  =========== DOCUMENTATION ===========
 
4
*
 
5
* Online html documentation available at 
 
6
*            http://www.netlib.org/lapack/explore-html/ 
 
7
*
 
8
*> \htmlonly
 
9
*> Download SLAED9 + dependencies 
 
10
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/slaed9.f"> 
 
11
*> [TGZ]</a> 
 
12
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/slaed9.f"> 
 
13
*> [ZIP]</a> 
 
14
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slaed9.f"> 
 
15
*> [TXT]</a>
 
16
*> \endhtmlonly 
 
17
*
 
18
*  Definition:
 
19
*  ===========
 
20
*
 
21
*       SUBROUTINE SLAED9( K, KSTART, KSTOP, N, D, Q, LDQ, RHO, DLAMDA, W,
 
22
*                          S, LDS, INFO )
 
23
 
24
*       .. Scalar Arguments ..
 
25
*       INTEGER            INFO, K, KSTART, KSTOP, LDQ, LDS, N
 
26
*       REAL               RHO
 
27
*       ..
 
28
*       .. Array Arguments ..
 
29
*       REAL               D( * ), DLAMDA( * ), Q( LDQ, * ), S( LDS, * ),
 
30
*      $                   W( * )
 
31
*       ..
 
32
*  
 
33
*
 
34
*> \par Purpose:
 
35
*  =============
 
36
*>
 
37
*> \verbatim
 
38
*>
 
39
*> SLAED9 finds the roots of the secular equation, as defined by the
 
40
*> values in D, Z, and RHO, between KSTART and KSTOP.  It makes the
 
41
*> appropriate calls to SLAED4 and then stores the new matrix of
 
42
*> eigenvectors for use in calculating the next level of Z vectors.
 
43
*> \endverbatim
 
44
*
 
45
*  Arguments:
 
46
*  ==========
 
47
*
 
48
*> \param[in] K
 
49
*> \verbatim
 
50
*>          K is INTEGER
 
51
*>          The number of terms in the rational function to be solved by
 
52
*>          SLAED4.  K >= 0.
 
53
*> \endverbatim
 
54
*>
 
55
*> \param[in] KSTART
 
56
*> \verbatim
 
57
*>          KSTART is INTEGER
 
58
*> \endverbatim
 
59
*>
 
60
*> \param[in] KSTOP
 
61
*> \verbatim
 
62
*>          KSTOP is INTEGER
 
63
*>          The updated eigenvalues Lambda(I), KSTART <= I <= KSTOP
 
64
*>          are to be computed.  1 <= KSTART <= KSTOP <= K.
 
65
*> \endverbatim
 
66
*>
 
67
*> \param[in] N
 
68
*> \verbatim
 
69
*>          N is INTEGER
 
70
*>          The number of rows and columns in the Q matrix.
 
71
*>          N >= K (delation may result in N > K).
 
72
*> \endverbatim
 
73
*>
 
74
*> \param[out] D
 
75
*> \verbatim
 
76
*>          D is REAL array, dimension (N)
 
77
*>          D(I) contains the updated eigenvalues
 
78
*>          for KSTART <= I <= KSTOP.
 
79
*> \endverbatim
 
80
*>
 
81
*> \param[out] Q
 
82
*> \verbatim
 
83
*>          Q is REAL array, dimension (LDQ,N)
 
84
*> \endverbatim
 
85
*>
 
86
*> \param[in] LDQ
 
87
*> \verbatim
 
88
*>          LDQ is INTEGER
 
89
*>          The leading dimension of the array Q.  LDQ >= max( 1, N ).
 
90
*> \endverbatim
 
91
*>
 
92
*> \param[in] RHO
 
93
*> \verbatim
 
94
*>          RHO is REAL
 
95
*>          The value of the parameter in the rank one update equation.
 
96
*>          RHO >= 0 required.
 
97
*> \endverbatim
 
98
*>
 
99
*> \param[in] DLAMDA
 
100
*> \verbatim
 
101
*>          DLAMDA is REAL array, dimension (K)
 
102
*>          The first K elements of this array contain the old roots
 
103
*>          of the deflated updating problem.  These are the poles
 
104
*>          of the secular equation.
 
105
*> \endverbatim
 
106
*>
 
107
*> \param[in] W
 
108
*> \verbatim
 
109
*>          W is REAL array, dimension (K)
 
110
*>          The first K elements of this array contain the components
 
111
*>          of the deflation-adjusted updating vector.
 
112
*> \endverbatim
 
113
*>
 
114
*> \param[out] S
 
115
*> \verbatim
 
116
*>          S is REAL array, dimension (LDS, K)
 
117
*>          Will contain the eigenvectors of the repaired matrix which
 
118
*>          will be stored for subsequent Z vector calculation and
 
119
*>          multiplied by the previously accumulated eigenvectors
 
120
*>          to update the system.
 
121
*> \endverbatim
 
122
*>
 
123
*> \param[in] LDS
 
124
*> \verbatim
 
125
*>          LDS is INTEGER
 
126
*>          The leading dimension of S.  LDS >= max( 1, K ).
 
127
*> \endverbatim
 
128
*>
 
129
*> \param[out] INFO
 
130
*> \verbatim
 
131
*>          INFO is INTEGER
 
132
*>          = 0:  successful exit.
 
133
*>          < 0:  if INFO = -i, the i-th argument had an illegal value.
 
134
*>          > 0:  if INFO = 1, an eigenvalue did not converge
 
135
*> \endverbatim
 
136
*
 
137
*  Authors:
 
138
*  ========
 
139
*
 
140
*> \author Univ. of Tennessee 
 
141
*> \author Univ. of California Berkeley 
 
142
*> \author Univ. of Colorado Denver 
 
143
*> \author NAG Ltd. 
 
144
*
 
145
*> \date September 2012
 
146
*
 
147
*> \ingroup auxOTHERcomputational
 
148
*
 
149
*> \par Contributors:
 
150
*  ==================
 
151
*>
 
152
*> Jeff Rutter, Computer Science Division, University of California
 
153
*> at Berkeley, USA
 
154
*
 
155
*  =====================================================================
1
156
      SUBROUTINE SLAED9( K, KSTART, KSTOP, N, D, Q, LDQ, RHO, DLAMDA, W,
2
157
     $                   S, LDS, INFO )
3
158
*
4
 
*  -- LAPACK routine (version 3.0) --
5
 
*     Univ. of Tennessee, Oak Ridge National Lab, Argonne National Lab,
6
 
*     Courant Institute, NAG Ltd., and Rice University
7
 
*     September 30, 1994
 
159
*  -- LAPACK computational routine (version 3.4.2) --
 
160
*  -- LAPACK is a software package provided by Univ. of Tennessee,    --
 
161
*  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
 
162
*     September 2012
8
163
*
9
164
*     .. Scalar Arguments ..
10
165
      INTEGER            INFO, K, KSTART, KSTOP, LDQ, LDS, N
15
170
     $                   W( * )
16
171
*     ..
17
172
*
18
 
*  Purpose
19
 
*  =======
20
 
*
21
 
*  SLAED9 finds the roots of the secular equation, as defined by the
22
 
*  values in D, Z, and RHO, between KSTART and KSTOP.  It makes the
23
 
*  appropriate calls to SLAED4 and then stores the new matrix of
24
 
*  eigenvectors for use in calculating the next level of Z vectors.
25
 
*
26
 
*  Arguments
27
 
*  =========
28
 
*
29
 
*  K       (input) INTEGER
30
 
*          The number of terms in the rational function to be solved by
31
 
*          SLAED4.  K >= 0.
32
 
*
33
 
*  KSTART  (input) INTEGER
34
 
*  KSTOP   (input) INTEGER
35
 
*          The updated eigenvalues Lambda(I), KSTART <= I <= KSTOP
36
 
*          are to be computed.  1 <= KSTART <= KSTOP <= K.
37
 
*
38
 
*  N       (input) INTEGER
39
 
*          The number of rows and columns in the Q matrix.
40
 
*          N >= K (delation may result in N > K).
41
 
*
42
 
*  D       (output) REAL array, dimension (N)
43
 
*          D(I) contains the updated eigenvalues
44
 
*          for KSTART <= I <= KSTOP.
45
 
*
46
 
*  Q       (workspace) REAL array, dimension (LDQ,N)
47
 
*
48
 
*  LDQ     (input) INTEGER
49
 
*          The leading dimension of the array Q.  LDQ >= max( 1, N ).
50
 
*
51
 
*  RHO     (input) REAL
52
 
*          The value of the parameter in the rank one update equation.
53
 
*          RHO >= 0 required.
54
 
*
55
 
*  DLAMDA  (input) REAL array, dimension (K)
56
 
*          The first K elements of this array contain the old roots
57
 
*          of the deflated updating problem.  These are the poles
58
 
*          of the secular equation.
59
 
*
60
 
*  W       (input) REAL array, dimension (K)
61
 
*          The first K elements of this array contain the components
62
 
*          of the deflation-adjusted updating vector.
63
 
*
64
 
*  S       (output) REAL array, dimension (LDS, K)
65
 
*          Will contain the eigenvectors of the repaired matrix which
66
 
*          will be stored for subsequent Z vector calculation and
67
 
*          multiplied by the previously accumulated eigenvectors
68
 
*          to update the system.
69
 
*
70
 
*  LDS     (input) INTEGER
71
 
*          The leading dimension of S.  LDS >= max( 1, K ).
72
 
*
73
 
*  INFO    (output) INTEGER
74
 
*          = 0:  successful exit.
75
 
*          < 0:  if INFO = -i, the i-th argument had an illegal value.
76
 
*          > 0:  if INFO = 1, an eigenvalue did not converge
77
 
*
78
 
*  Further Details
79
 
*  ===============
80
 
*
81
 
*  Based on contributions by
82
 
*     Jeff Rutter, Computer Science Division, University of California
83
 
*     at Berkeley, USA
84
 
*
85
173
*  =====================================================================
86
174
*
87
175
*     .. Local Scalars ..
204
292
*     End of SLAED9
205
293
*
206
294
      END
207
 
c $Id: slaed9.f 21176 2011-10-10 06:35:49Z d3y133 $