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

Function slasd1_

numpy/linalg/lapack_lite/f2c_s_lapack.c:24285–24541  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

24283} /* slasd0_ */
24284
24285/* Subroutine */ int slasd1_(integer *nl, integer *nr, integer *sqre, real *
24286 d__, real *alpha, real *beta, real *u, integer *ldu, real *vt,
24287 integer *ldvt, integer *idxq, integer *iwork, real *work, integer *
24288 info)
24289{
24290 /* System generated locals */
24291 integer u_dim1, u_offset, vt_dim1, vt_offset, i__1;
24292 real r__1, r__2;
24293
24294 /* Local variables */
24295 static integer i__, k, m, n, n1, n2, iq, iz, iu2, ldq, idx, ldu2, ivt2,
24296 idxc, idxp, ldvt2;
24297 extern /* Subroutine */ int slasd2_(integer *, integer *, integer *,
24298 integer *, real *, real *, real *, real *, real *, integer *,
24299 real *, integer *, real *, real *, integer *, real *, integer *,
24300 integer *, integer *, integer *, integer *, integer *, integer *),
24301 slasd3_(integer *, integer *, integer *, integer *, real *, real
24302 *, integer *, real *, real *, integer *, real *, integer *, real *
24303 , integer *, real *, integer *, integer *, integer *, real *,
24304 integer *);
24305 static integer isigma;
24306 extern /* Subroutine */ int xerbla_(char *, integer *), slascl_(
24307 char *, integer *, integer *, real *, real *, integer *, integer *
24308 , real *, integer *, integer *), slamrg_(integer *,
24309 integer *, real *, integer *, integer *, integer *);
24310 static real orgnrm;
24311 static integer coltyp;
24312
24313
24314/*
24315 -- LAPACK auxiliary routine (version 3.2.2) --
24316 -- LAPACK is a software package provided by Univ. of Tennessee, --
24317 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
24318 June 2010
24319
24320
24321 Purpose
24322 =======
24323
24324 SLASD1 computes the SVD of an upper bidiagonal N-by-M matrix B,
24325 where N = NL + NR + 1 and M = N + SQRE. SLASD1 is called from SLASD0.
24326
24327 A related subroutine SLASD7 handles the case in which the singular
24328 values (and the singular vectors in factored form) are desired.
24329
24330 SLASD1 computes the SVD as follows:
24331
24332 ( D1(in) 0 0 0 )
24333 B = U(in) * ( Z1' a Z2' b ) * VT(in)
24334 ( 0 0 D2(in) 0 )
24335
24336 = U(out) * ( D(out) 0) * VT(out)
24337
24338 where Z' = (Z1' a Z2' b) = u' VT', and u is a vector of dimension M
24339 with ALPHA and BETA in the NL+1 and NL+2 th entries and zeros
24340 elsewhere; and the entry b is empty if SQRE = 0.
24341
24342 The left singular vectors of the original matrix are stored in U, and

Callers 1

slasd0_Function · 0.85

Calls 4

slascl_Function · 0.85
slasd2_Function · 0.85
slasd3_Function · 0.85
slamrg_Function · 0.85

Tested by

no test coverage detected