MCPcopy Create free account
hub / github.com/numpy/numpy / slasd3_

Function slasd3_

numpy/linalg/lapack_lite/f2c_s_lapack.c:25137–25553  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

25135} /* slasd2_ */
25136
25137/* Subroutine */ int slasd3_(integer *nl, integer *nr, integer *sqre, integer
25138 *k, real *d__, real *q, integer *ldq, real *dsigma, real *u, integer *
25139 ldu, real *u2, integer *ldu2, real *vt, integer *ldvt, real *vt2,
25140 integer *ldvt2, integer *idxc, integer *ctot, real *z__, integer *
25141 info)
25142{
25143 /* System generated locals */
25144 integer q_dim1, q_offset, u_dim1, u_offset, u2_dim1, u2_offset, vt_dim1,
25145 vt_offset, vt2_dim1, vt2_offset, i__1, i__2;
25146 real r__1, r__2;
25147
25148 /* Local variables */
25149 static integer i__, j, m, n, jc;
25150 static real rho;
25151 static integer nlp1, nlp2, nrp1;
25152 static real temp;
25153 extern doublereal snrm2_(integer *, real *, integer *);
25154 static integer ctemp;
25155 extern /* Subroutine */ int sgemm_(char *, char *, integer *, integer *,
25156 integer *, real *, real *, integer *, real *, integer *, real *,
25157 real *, integer *);
25158 static integer ktemp;
25159 extern /* Subroutine */ int scopy_(integer *, real *, integer *, real *,
25160 integer *);
25161 extern doublereal slamc3_(real *, real *);
25162 extern /* Subroutine */ int slasd4_(integer *, integer *, real *, real *,
25163 real *, real *, real *, real *, integer *), xerbla_(char *,
25164 integer *), slascl_(char *, integer *, integer *, real *,
25165 real *, integer *, integer *, real *, integer *, integer *), slacpy_(char *, integer *, integer *, real *, integer *,
25166 real *, integer *);
25167
25168
25169/*
25170 -- LAPACK auxiliary routine (version 3.2.2) --
25171 -- LAPACK is a software package provided by Univ. of Tennessee, --
25172 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
25173 June 2010
25174
25175
25176 Purpose
25177 =======
25178
25179 SLASD3 finds all the square roots of the roots of the secular
25180 equation, as defined by the values in D and Z. It makes the
25181 appropriate calls to SLASD4 and then updates the singular
25182 vectors by matrix multiplication.
25183
25184 This code makes very mild assumptions about floating point
25185 arithmetic. It will work on machines with a guard digit in
25186 add/subtract, or on those binary machines without guard digits
25187 which subtract like the Cray XMP, Cray YMP, Cray C 90, or Cray 2.
25188 It could conceivably fail on hexadecimal or decimal machines
25189 without guard digits, but we know of none.
25190
25191 SLASD3 is called from SLASD1.
25192
25193 Arguments
25194 =========

Callers 1

slasd1_Function · 0.85

Calls 9

scopy_Function · 0.85
slamc3_Function · 0.85
snrm2_Function · 0.85
slascl_Function · 0.85
slasd4_Function · 0.85
r_signFunction · 0.85
sgemm_Function · 0.85
slacpy_Function · 0.85
sqrtFunction · 0.50

Tested by

no test coverage detected