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

Function dlasd6_

numpy/linalg/lapack_lite/f2c_d_lapack.c:26830–27168  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

26828} /* dlasd5_ */
26829
26830/* Subroutine */ int dlasd6_(integer *icompq, integer *nl, integer *nr,
26831 integer *sqre, doublereal *d__, doublereal *vf, doublereal *vl,
26832 doublereal *alpha, doublereal *beta, integer *idxq, integer *perm,
26833 integer *givptr, integer *givcol, integer *ldgcol, doublereal *givnum,
26834 integer *ldgnum, doublereal *poles, doublereal *difl, doublereal *
26835 difr, doublereal *z__, integer *k, doublereal *c__, doublereal *s,
26836 doublereal *work, integer *iwork, integer *info)
26837{
26838 /* System generated locals */
26839 integer givcol_dim1, givcol_offset, givnum_dim1, givnum_offset,
26840 poles_dim1, poles_offset, i__1;
26841 doublereal d__1, d__2;
26842
26843 /* Local variables */
26844 static integer i__, m, n, n1, n2, iw, idx, idxc, idxp, ivfw, ivlw;
26845 extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *,
26846 doublereal *, integer *), dlasd7_(integer *, integer *, integer *,
26847 integer *, integer *, doublereal *, doublereal *, doublereal *,
26848 doublereal *, doublereal *, doublereal *, doublereal *,
26849 doublereal *, doublereal *, doublereal *, integer *, integer *,
26850 integer *, integer *, integer *, integer *, integer *, doublereal
26851 *, integer *, doublereal *, doublereal *, integer *), dlasd8_(
26852 integer *, integer *, doublereal *, doublereal *, doublereal *,
26853 doublereal *, doublereal *, doublereal *, integer *, doublereal *,
26854 doublereal *, integer *), dlascl_(char *, integer *, integer *,
26855 doublereal *, doublereal *, integer *, integer *, doublereal *,
26856 integer *, integer *), dlamrg_(integer *, integer *,
26857 doublereal *, integer *, integer *, integer *);
26858 static integer isigma;
26859 extern /* Subroutine */ int xerbla_(char *, integer *);
26860 static doublereal orgnrm;
26861
26862
26863/*
26864 -- LAPACK auxiliary routine (version 3.2.2) --
26865 -- LAPACK is a software package provided by Univ. of Tennessee, --
26866 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
26867 June 2010
26868
26869
26870 Purpose
26871 =======
26872
26873 DLASD6 computes the SVD of an updated upper bidiagonal matrix B
26874 obtained by merging two smaller ones by appending a row. This
26875 routine is used only for the problem which requires all singular
26876 values and optionally singular vector matrices in factored form.
26877 B is an N-by-M matrix with N = NL + NR + 1 and M = N + SQRE.
26878 A related subroutine, DLASD1, handles the case in which all singular
26879 values and singular vectors of the bidiagonal matrix are desired.
26880
26881 DLASD6 computes the SVD as follows:
26882
26883 ( D1(in) 0 0 0 )
26884 B = U(in) * ( Z1' a Z2' b ) * VT(in)
26885 ( 0 0 D2(in) 0 )
26886
26887 = U(out) * ( D(out) 0) * VT(out)

Callers 1

dlasda_Function · 0.85

Calls 7

absFunction · 0.85
dlascl_Function · 0.85
dlasd7_Function · 0.85
dlasd8_Function · 0.85
dcopy_Function · 0.85
dlamrg_Function · 0.85
maxFunction · 0.50

Tested by

no test coverage detected