slaed6 - is used by sstedc. Compute one Newton step in solution of the secular equation
SUBROUTINE SLAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO ) LOGICAL ORGATI INTEGER INFO, KNITER REAL FINIT, RHO, TAU REAL D(3),Z(3) SUBROUTINE SLAED6_64( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO ) LOGICAL ORGATI INTEGER*8 INFO, KNITER REAL FINIT, RHO, TAU REAL D(3),Z(3) F95 INTERFACE SUBROUTINE LAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO ) INTEGER :: KNITER, INFO REAL, DIMENSION(:) :: D, Z REAL :: RHO, FINIT, TAU SUBROUTINE LAED6_64( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO ) INTEGER(8) :: KNITER, INFO REAL, DIMENSION(:) :: D, Z REAL :: RHO, FINIT, TAU C INTERFACE #include <sunperf.h> void slaed6 (int kniter, int orgati, float rho, float *d, float *z, float finit, float *tau, int *info); void slaed6_64 (long kniter, long orgati, float rho, float *d, float *z, float finit, float *tau, long *info);
Oracle Solaris Studio Performance Library slaed6(3P) NAME slaed6 - is used by sstedc. Compute one Newton step in solution of the secular equation SYNOPSIS SUBROUTINE SLAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO ) LOGICAL ORGATI INTEGER INFO, KNITER REAL FINIT, RHO, TAU REAL D(3),Z(3) SUBROUTINE SLAED6_64( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO ) LOGICAL ORGATI INTEGER*8 INFO, KNITER REAL FINIT, RHO, TAU REAL D(3),Z(3) F95 INTERFACE SUBROUTINE LAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO ) INTEGER :: KNITER, INFO REAL, DIMENSION(:) :: D, Z REAL :: RHO, FINIT, TAU SUBROUTINE LAED6_64( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO ) INTEGER(8) :: KNITER, INFO REAL, DIMENSION(:) :: D, Z REAL :: RHO, FINIT, TAU C INTERFACE #include <sunperf.h> void slaed6 (int kniter, int orgati, float rho, float *d, float *z, float finit, float *tau, int *info); void slaed6_64 (long kniter, long orgati, float rho, float *d, float *z, float finit, float *tau, long *info); PURPOSE slaed6 computes the positive or negative root (closest to the origin) of z(1) z(2) z(3) f(x) = rho + --------- + ---------- + --------- d(1)-x d(2)-x d(3)-x It is assumed that if ORGATI = .true. the root is between d(2) and d(3); otherwise it is between d(1) and d(2) This routine will be called by SLAED4 when necessary. In most cases, the root sought is the smallest in magnitude, though it might not be in some extremely rare situations. ARGUMENTS KNITER (input) KNITER is INTEGER Refer to SLAED4 for its significance. ORGATI (input) ORGATI is LOGICAL If ORGATI is true, the needed root is between d(2) and d(3); otherwise it is between d(1) and d(2). See SLAED4 for further details. RHO (input) RHO is REAL Refer to the equation f(x) above. D (input) D is REAL array, dimension (3) D satisfies d(1) < d(2) < d(3). Z (input) Z is REAL array, dimension (3) Each of the elements in z must be positive. FINIT (input) FINIT is REAL The value of f at 0. It is more accurate than the one evaluated inside this routine (if someone wants to do so). TAU (output) TAU is REAL The root of the equation f(x). INFO (output) INFO is INTEGER = 0: successful exit > 0: if INFO = 1, failure to converge 7 Nov 2015 slaed6(3P)