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

Function slasd6_

numpy/linalg/lapack_lite/f2c_s_lapack.c:26736–27071  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

26734} /* slasd5_ */
26735
26736/* Subroutine */ int slasd6_(integer *icompq, integer *nl, integer *nr,
26737 integer *sqre, real *d__, real *vf, real *vl, real *alpha, real *beta,
26738 integer *idxq, integer *perm, integer *givptr, integer *givcol,
26739 integer *ldgcol, real *givnum, integer *ldgnum, real *poles, real *
26740 difl, real *difr, real *z__, integer *k, real *c__, real *s, real *
26741 work, integer *iwork, integer *info)
26742{
26743 /* System generated locals */
26744 integer givcol_dim1, givcol_offset, givnum_dim1, givnum_offset,
26745 poles_dim1, poles_offset, i__1;
26746 real r__1, r__2;
26747
26748 /* Local variables */
26749 static integer i__, m, n, n1, n2, iw, idx, idxc, idxp, ivfw, ivlw;
26750 extern /* Subroutine */ int scopy_(integer *, real *, integer *, real *,
26751 integer *), slasd7_(integer *, integer *, integer *, integer *,
26752 integer *, real *, real *, real *, real *, real *, real *, real *,
26753 real *, real *, real *, integer *, integer *, integer *, integer
26754 *, integer *, integer *, integer *, real *, integer *, real *,
26755 real *, integer *), slasd8_(integer *, integer *, real *, real *,
26756 real *, real *, real *, real *, integer *, real *, real *,
26757 integer *);
26758 static integer isigma;
26759 extern /* Subroutine */ int xerbla_(char *, integer *), slascl_(
26760 char *, integer *, integer *, real *, real *, integer *, integer *
26761 , real *, integer *, integer *), slamrg_(integer *,
26762 integer *, real *, integer *, integer *, integer *);
26763 static real orgnrm;
26764
26765
26766/*
26767 -- LAPACK auxiliary routine (version 3.2.2) --
26768 -- LAPACK is a software package provided by Univ. of Tennessee, --
26769 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
26770 June 2010
26771
26772
26773 Purpose
26774 =======
26775
26776 SLASD6 computes the SVD of an updated upper bidiagonal matrix B
26777 obtained by merging two smaller ones by appending a row. This
26778 routine is used only for the problem which requires all singular
26779 values and optionally singular vector matrices in factored form.
26780 B is an N-by-M matrix with N = NL + NR + 1 and M = N + SQRE.
26781 A related subroutine, SLASD1, handles the case in which all singular
26782 values and singular vectors of the bidiagonal matrix are desired.
26783
26784 SLASD6 computes the SVD as follows:
26785
26786 ( D1(in) 0 0 0 )
26787 B = U(in) * ( Z1' a Z2' b ) * VT(in)
26788 ( 0 0 D2(in) 0 )
26789
26790 = U(out) * ( D(out) 0) * VT(out)
26791
26792 where Z' = (Z1' a Z2' b) = u' VT', and u is a vector of dimension M
26793 with ALPHA and BETA in the NL+1 and NL+2 th entries and zeros

Callers 1

slasda_Function · 0.85

Calls 5

slascl_Function · 0.85
slasd7_Function · 0.85
slasd8_Function · 0.85
scopy_Function · 0.85
slamrg_Function · 0.85

Tested by

no test coverage detected