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

Function dlasda_

numpy/linalg/lapack_lite/f2c_d_lapack.c:27964–28423  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

27962} /* dlasd8_ */
27963
27964/* Subroutine */ int dlasda_(integer *icompq, integer *smlsiz, integer *n,
27965 integer *sqre, doublereal *d__, doublereal *e, doublereal *u, integer
27966 *ldu, doublereal *vt, integer *k, doublereal *difl, doublereal *difr,
27967 doublereal *z__, doublereal *poles, integer *givptr, integer *givcol,
27968 integer *ldgcol, integer *perm, doublereal *givnum, doublereal *c__,
27969 doublereal *s, doublereal *work, integer *iwork, integer *info)
27970{
27971 /* System generated locals */
27972 integer givcol_dim1, givcol_offset, perm_dim1, perm_offset, difl_dim1,
27973 difl_offset, difr_dim1, difr_offset, givnum_dim1, givnum_offset,
27974 poles_dim1, poles_offset, u_dim1, u_offset, vt_dim1, vt_offset,
27975 z_dim1, z_offset, i__1, i__2;
27976
27977 /* Local variables */
27978 static integer i__, j, m, i1, ic, lf, nd, ll, nl, vf, nr, vl, im1, ncc,
27979 nlf, nrf, vfi, iwk, vli, lvl, nru, ndb1, nlp1, lvl2, nrp1;
27980 static doublereal beta;
27981 static integer idxq, nlvl;
27982 static doublereal alpha;
27983 static integer inode, ndiml, ndimr, idxqi, itemp;
27984 extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *,
27985 doublereal *, integer *);
27986 static integer sqrei;
27987 extern /* Subroutine */ int dlasd6_(integer *, integer *, integer *,
27988 integer *, doublereal *, doublereal *, doublereal *, doublereal *,
27989 doublereal *, integer *, integer *, integer *, integer *,
27990 integer *, doublereal *, integer *, doublereal *, doublereal *,
27991 doublereal *, doublereal *, integer *, doublereal *, doublereal *,
27992 doublereal *, integer *, integer *);
27993 static integer nwork1, nwork2;
27994 extern /* Subroutine */ int dlasdq_(char *, integer *, integer *, integer
27995 *, integer *, integer *, doublereal *, doublereal *, doublereal *,
27996 integer *, doublereal *, integer *, doublereal *, integer *,
27997 doublereal *, integer *), dlasdt_(integer *, integer *,
27998 integer *, integer *, integer *, integer *, integer *), dlaset_(
27999 char *, integer *, integer *, doublereal *, doublereal *,
28000 doublereal *, integer *), xerbla_(char *, integer *);
28001 static integer smlszp;
28002
28003
28004/*
28005 -- LAPACK auxiliary routine (version 3.2.2) --
28006 -- LAPACK is a software package provided by Univ. of Tennessee, --
28007 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
28008 June 2010
28009
28010
28011 Purpose
28012 =======
28013
28014 Using a divide and conquer approach, DLASDA computes the singular
28015 value decomposition (SVD) of a real upper bidiagonal N-by-M matrix
28016 B with diagonal D and offdiagonal E, where M = N + SQRE. The
28017 algorithm computes the singular values in the SVD B = U * S * VT.
28018 The orthogonal matrices U and VT are optionally computed in
28019 compact form.
28020
28021 A related subroutine, DLASD0, computes the singular values and

Callers 3

dbdsdc_Function · 0.85
dlalsd_Function · 0.85
zlalsd_Function · 0.85

Calls 6

dlasdq_Function · 0.85
dlasdt_Function · 0.85
dlaset_Function · 0.85
dcopy_Function · 0.85
pow_iiFunction · 0.85
dlasd6_Function · 0.85

Tested by

no test coverage detected