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

Function slasd4_

numpy/linalg/lapack_lite/f2c_s_lapack.c:25555–26560  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

25553} /* slasd3_ */
25554
25555/* Subroutine */ int slasd4_(integer *n, integer *i__, real *d__, real *z__,
25556 real *delta, real *rho, real *sigma, real *work, integer *info)
25557{
25558 /* System generated locals */
25559 integer i__1;
25560 real r__1;
25561
25562 /* Local variables */
25563 static real a, b, c__;
25564 static integer j;
25565 static real w, dd[3];
25566 static integer ii;
25567 static real dw, zz[3];
25568 static integer ip1;
25569 static real eta, phi, eps, tau, psi;
25570 static integer iim1, iip1;
25571 static real dphi, dpsi;
25572 static integer iter;
25573 static real temp, prew, sg2lb, sg2ub, temp1, temp2, dtiim, delsq, dtiip;
25574 static integer niter;
25575 static real dtisq;
25576 static logical swtch;
25577 static real dtnsq;
25578 extern /* Subroutine */ int slaed6_(integer *, logical *, real *, real *,
25579 real *, real *, real *, integer *);
25580 static real delsq2;
25581 extern /* Subroutine */ int slasd5_(integer *, real *, real *, real *,
25582 real *, real *, real *);
25583 static real dtnsq1;
25584 static logical swtch3;
25585 extern doublereal slamch_(char *);
25586 static logical orgati;
25587 static real erretm, dtipsq, rhoinv;
25588
25589
25590/*
25591 -- LAPACK auxiliary routine (version 3.2) --
25592 -- LAPACK is a software package provided by Univ. of Tennessee, --
25593 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
25594 November 2006
25595
25596
25597 Purpose
25598 =======
25599
25600 This subroutine computes the square root of the I-th updated
25601 eigenvalue of a positive symmetric rank-one modification to
25602 a positive diagonal matrix whose entries are given as the squares
25603 of the corresponding entries in the array d, and that
25604
25605 0 <= D(i) < D(j) for i < j
25606
25607 and that RHO > 0. This is arranged by the calling routine, and is
25608 no loss in generality. The rank-one modified system is thus
25609
25610 diag( D ) * diag( D ) + RHO * Z * Z_transpose.
25611
25612 where we assume the Euclidean norm of Z is 1.

Callers 2

slasd3_Function · 0.85
slasd8_Function · 0.85

Calls 4

slasd5_Function · 0.85
slamch_Function · 0.85
slaed6_Function · 0.85
sqrtFunction · 0.50

Tested by

no test coverage detected