Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

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);

Description

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)