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

Function slasd2_

numpy/linalg/lapack_lite/f2c_s_lapack.c:24543–25135  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

24541} /* slasd1_ */
24542
24543/* Subroutine */ int slasd2_(integer *nl, integer *nr, integer *sqre, integer
24544 *k, real *d__, real *z__, real *alpha, real *beta, real *u, integer *
24545 ldu, real *vt, integer *ldvt, real *dsigma, real *u2, integer *ldu2,
24546 real *vt2, integer *ldvt2, integer *idxp, integer *idx, integer *idxc,
24547 integer *idxq, integer *coltyp, integer *info)
24548{
24549 /* System generated locals */
24550 integer u_dim1, u_offset, u2_dim1, u2_offset, vt_dim1, vt_offset,
24551 vt2_dim1, vt2_offset, i__1;
24552 real r__1, r__2;
24553
24554 /* Local variables */
24555 static real c__;
24556 static integer i__, j, m, n;
24557 static real s;
24558 static integer k2;
24559 static real z1;
24560 static integer ct, jp;
24561 static real eps, tau, tol;
24562 static integer psm[4], nlp1, nlp2, idxi, idxj, ctot[4];
24563 extern /* Subroutine */ int srot_(integer *, real *, integer *, real *,
24564 integer *, real *, real *);
24565 static integer idxjp, jprev;
24566 extern /* Subroutine */ int scopy_(integer *, real *, integer *, real *,
24567 integer *);
24568 extern doublereal slapy2_(real *, real *), slamch_(char *);
24569 extern /* Subroutine */ int xerbla_(char *, integer *), slamrg_(
24570 integer *, integer *, real *, integer *, integer *, integer *);
24571 static real hlftol;
24572 extern /* Subroutine */ int slacpy_(char *, integer *, integer *, real *,
24573 integer *, real *, integer *), slaset_(char *, integer *,
24574 integer *, real *, real *, real *, integer *);
24575
24576
24577/*
24578 -- LAPACK auxiliary routine (version 3.2) --
24579 -- LAPACK is a software package provided by Univ. of Tennessee, --
24580 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
24581 November 2006
24582
24583
24584 Purpose
24585 =======
24586
24587 SLASD2 merges the two sets of singular values together into a single
24588 sorted set. Then it tries to deflate the size of the problem.
24589 There are two ways in which deflation can occur: when two or more
24590 singular values are close together or if there is a tiny entry in the
24591 Z vector. For each such occurrence the order of the related secular
24592 equation problem is reduced by one.
24593
24594 SLASD2 is called from SLASD1.
24595
24596 Arguments
24597 =========
24598
24599 NL (input) INTEGER
24600 The row dimension of the upper block. NL >= 1.

Callers 1

slasd1_Function · 0.85

Calls 7

slamrg_Function · 0.85
slamch_Function · 0.85
slapy2_Function · 0.85
srot_Function · 0.85
scopy_Function · 0.85
slaset_Function · 0.85
slacpy_Function · 0.85

Tested by

no test coverage detected