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

Function dlals0_

numpy/linalg/lapack_lite/f2c_d_lapack.c:15003–15448  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

15001
15002
15003/* Subroutine */ int dlals0_(integer *icompq, integer *nl, integer *nr,
15004 integer *sqre, integer *nrhs, doublereal *b, integer *ldb, doublereal
15005 *bx, integer *ldbx, integer *perm, integer *givptr, integer *givcol,
15006 integer *ldgcol, doublereal *givnum, integer *ldgnum, doublereal *
15007 poles, doublereal *difl, doublereal *difr, doublereal *z__, integer *
15008 k, doublereal *c__, doublereal *s, doublereal *work, integer *info)
15009{
15010 /* System generated locals */
15011 integer givcol_dim1, givcol_offset, b_dim1, b_offset, bx_dim1, bx_offset,
15012 difr_dim1, difr_offset, givnum_dim1, givnum_offset, poles_dim1,
15013 poles_offset, i__1, i__2;
15014 doublereal d__1;
15015
15016 /* Local variables */
15017 static integer i__, j, m, n;
15018 static doublereal dj;
15019 static integer nlp1;
15020 static doublereal temp;
15021 extern /* Subroutine */ int drot_(integer *, doublereal *, integer *,
15022 doublereal *, integer *, doublereal *, doublereal *);
15023 extern doublereal dnrm2_(integer *, doublereal *, integer *);
15024 extern /* Subroutine */ int dscal_(integer *, doublereal *, doublereal *,
15025 integer *);
15026 static doublereal diflj, difrj, dsigj;
15027 extern /* Subroutine */ int dgemv_(char *, integer *, integer *,
15028 doublereal *, doublereal *, integer *, doublereal *, integer *,
15029 doublereal *, doublereal *, integer *), dcopy_(integer *,
15030 doublereal *, integer *, doublereal *, integer *);
15031 extern doublereal dlamc3_(doublereal *, doublereal *);
15032 extern /* Subroutine */ int dlascl_(char *, integer *, integer *,
15033 doublereal *, doublereal *, integer *, integer *, doublereal *,
15034 integer *, integer *), dlacpy_(char *, integer *, integer
15035 *, doublereal *, integer *, doublereal *, integer *),
15036 xerbla_(char *, integer *);
15037 static doublereal dsigjp;
15038
15039
15040/*
15041 -- LAPACK routine (version 3.2) --
15042 -- LAPACK is a software package provided by Univ. of Tennessee, --
15043 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
15044 November 2006
15045
15046
15047 Purpose
15048 =======
15049
15050 DLALS0 applies back the multiplying factors of either the left or the
15051 right singular vector matrix of a diagonal matrix appended by a row
15052 to the right hand side matrix B in solving the least squares problem
15053 using the divide-and-conquer SVD approach.
15054
15055 For the left singular vector matrix, three types of orthogonal
15056 matrices are involved:
15057
15058 (1L) Givens rotations: the number of such rotations is GIVPTR; the
15059 pairs of columns/rows they were applied to are stored in GIVCOL;
15060 and the C- and S-values of these rotations are stored in GIVNUM.

Callers 1

dlalsa_Function · 0.85

Calls 9

drot_Function · 0.85
dcopy_Function · 0.85
dscal_Function · 0.85
dlamc3_Function · 0.85
dnrm2_Function · 0.85
dgemv_Function · 0.85
dlascl_Function · 0.85
dlacpy_Function · 0.85
maxFunction · 0.50

Tested by

no test coverage detected