Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dlaed6 (3p)

Name

dlaed6 - is used by sstedc. Compute one Newton step in solution of the secular equation

Synopsis

SUBROUTINE DLAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )


LOGICAL ORGATI

INTEGER INFO, KNITER

DOUBLE PRECISION FINIT, RHO, TAU

DOUBLE PRECISION D(3),Z(3)


SUBROUTINE DLAED6_64( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )


LOGICAL ORGATI

INTEGER*8 INFO, KNITER

DOUBLE PRECISION FINIT, RHO, TAU

DOUBLE PRECISION D(3),Z(3)


F95 INTERFACE
SUBROUTINE LAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )


INTEGER :: KNITER, INFO

REAL(8), DIMENSION(:) :: D, Z

REAL(8) :: RHO, FINIT, TAU


SUBROUTINE LAED6_64( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )


INTEGER(8) :: KNITER, INFO

REAL(8), DIMENSION(:) :: D, Z

REAL(8) :: RHO, FINIT, TAU


C INTERFACE
#include <sunperf.h>

void dlaed6 (int kniter, int orgati, double rho, double *d, double  *z,
double finit, double *tau, int *info);


void dlaed6_64 (long kniter, long orgati, double rho, double *d, double
*z, double finit, double *tau, long *info);

Description

Oracle Solaris Studio Performance Library                           dlaed6(3P)



NAME
       dlaed6  - is used by sstedc. Compute one Newton step in solution of the
       secular equation


SYNOPSIS
       SUBROUTINE DLAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )


       LOGICAL ORGATI

       INTEGER INFO, KNITER

       DOUBLE PRECISION FINIT, RHO, TAU

       DOUBLE PRECISION D(3),Z(3)


       SUBROUTINE DLAED6_64( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )


       LOGICAL ORGATI

       INTEGER*8 INFO, KNITER

       DOUBLE PRECISION FINIT, RHO, TAU

       DOUBLE PRECISION D(3),Z(3)


   F95 INTERFACE
       SUBROUTINE LAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )


       INTEGER :: KNITER, INFO

       REAL(8), DIMENSION(:) :: D, Z

       REAL(8) :: RHO, FINIT, TAU


       SUBROUTINE LAED6_64( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )


       INTEGER(8) :: KNITER, INFO

       REAL(8), DIMENSION(:) :: D, Z

       REAL(8) :: RHO, FINIT, TAU


   C INTERFACE
       #include <sunperf.h>

       void dlaed6 (int kniter, int orgati, double rho, double *d, double  *z,
                 double finit, double *tau, int *info);


       void dlaed6_64 (long kniter, long orgati, double rho, double *d, double
                 *z, double finit, double *tau, long *info);


PURPOSE
       dlaed6 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 DLAED4 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 DLAED4 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
                 DLAED4 for further details.


       RHO (input)
                 RHO is DOUBLE PRECISION
                 Refer to the equation f(x) above.


       D (input)
                 D is DOUBLE PRECISION array, dimension (3)
                 D satisfies d(1) < d(2) < d(3).


       Z (input)
                 Z is DOUBLE PRECISION array, dimension (3)
                 Each of the elements in z must be positive.


       FINIT (input)
                 FINIT is DOUBLE PRECISION
                 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 DOUBLE PRECISION
                 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                        dlaed6(3P)