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

Function dlasd0_

numpy/linalg/lapack_lite/f2c_d_lapack.c:24103–24370  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

24101} /* dlascl_ */
24102
24103/* Subroutine */ int dlasd0_(integer *n, integer *sqre, doublereal *d__,
24104 doublereal *e, doublereal *u, integer *ldu, doublereal *vt, integer *
24105 ldvt, integer *smlsiz, integer *iwork, doublereal *work, integer *
24106 info)
24107{
24108 /* System generated locals */
24109 integer u_dim1, u_offset, vt_dim1, vt_offset, i__1, i__2;
24110
24111 /* Local variables */
24112 static integer i__, j, m, i1, ic, lf, nd, ll, nl, nr, im1, ncc, nlf, nrf,
24113 iwk, lvl, ndb1, nlp1, nrp1;
24114 static doublereal beta;
24115 static integer idxq, nlvl;
24116 static doublereal alpha;
24117 static integer inode, ndiml, idxqc, ndimr, itemp, sqrei;
24118 extern /* Subroutine */ int dlasd1_(integer *, integer *, integer *,
24119 doublereal *, doublereal *, doublereal *, doublereal *, integer *,
24120 doublereal *, integer *, integer *, integer *, doublereal *,
24121 integer *), dlasdq_(char *, integer *, integer *, integer *,
24122 integer *, integer *, doublereal *, doublereal *, doublereal *,
24123 integer *, doublereal *, integer *, doublereal *, integer *,
24124 doublereal *, integer *), dlasdt_(integer *, integer *,
24125 integer *, integer *, integer *, integer *, integer *), xerbla_(
24126 char *, integer *);
24127
24128
24129/*
24130 -- LAPACK auxiliary routine (version 3.2.2) --
24131 -- LAPACK is a software package provided by Univ. of Tennessee, --
24132 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
24133 June 2010
24134
24135
24136 Purpose
24137 =======
24138
24139 Using a divide and conquer approach, DLASD0 computes the singular
24140 value decomposition (SVD) of a real upper bidiagonal N-by-M
24141 matrix B with diagonal D and offdiagonal E, where M = N + SQRE.
24142 The algorithm computes orthogonal matrices U and VT such that
24143 B = U * S * VT. The singular values S are overwritten on D.
24144
24145 A related subroutine, DLASDA, computes only the singular values,
24146 and optionally, the singular vectors in compact form.
24147
24148 Arguments
24149 =========
24150
24151 N (input) INTEGER
24152 On entry, the row dimension of the upper bidiagonal matrix.
24153 This is also the dimension of the main diagonal array D.
24154
24155 SQRE (input) INTEGER
24156 Specifies the column dimension of the bidiagonal matrix.
24157 = 0: The bidiagonal matrix has column dimension M = N;
24158 = 1: The bidiagonal matrix has column dimension M = N+1;
24159
24160 D (input/output) DOUBLE PRECISION array, dimension (N)

Callers 1

dbdsdc_Function · 0.85

Calls 4

dlasdq_Function · 0.85
dlasdt_Function · 0.85
pow_iiFunction · 0.85
dlasd1_Function · 0.85

Tested by

no test coverage detected