Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

ssttrf (3p)

Name

ssttrf - compute the factorization of a symmetric tridiagonal matrix A using the Bunch-Kaufman diagonal pivoting method

Synopsis

SUBROUTINE SSTTRF(N, L, D, SUBL, IPIV, INFO)

INTEGER N, INFO
INTEGER IPIV(*)
REAL L(*), D(*), SUBL(*)

SUBROUTINE SSTTRF_64(N, L, D, SUBL, IPIV, INFO)

INTEGER*8 N, INFO
INTEGER*8 IPIV(*)
REAL L(*), D(*), SUBL(*)




F95 INTERFACE
SUBROUTINE STTRF(N, L, D, SUBL, IPIV, INFO)

INTEGER :: N, INFO
INTEGER, DIMENSION(:) :: IPIV
REAL, DIMENSION(:) :: L, D, SUBL

SUBROUTINE STTRF_64(N, L, D, SUBL, IPIV, INFO)

INTEGER(8) :: N, INFO
INTEGER(8), DIMENSION(:) :: IPIV
REAL, DIMENSION(:) :: L, D, SUBL




C INTERFACE
#include <sunperf.h>

void ssttrf(int n, float *l, float *d,  float  *subl,  int  *ipiv,  int
*info);

void  ssttrf_64(long  n,  float  *l, float *d, float *subl, long *ipiv,
long *info);

Description

Oracle Solaris Studio Performance Library                           ssttrf(3P)



NAME
       ssttrf  - compute the factorization of a symmetric tridiagonal matrix A
       using the Bunch-Kaufman diagonal pivoting method


SYNOPSIS
       SUBROUTINE SSTTRF(N, L, D, SUBL, IPIV, INFO)

       INTEGER N, INFO
       INTEGER IPIV(*)
       REAL L(*), D(*), SUBL(*)

       SUBROUTINE SSTTRF_64(N, L, D, SUBL, IPIV, INFO)

       INTEGER*8 N, INFO
       INTEGER*8 IPIV(*)
       REAL L(*), D(*), SUBL(*)




   F95 INTERFACE
       SUBROUTINE STTRF(N, L, D, SUBL, IPIV, INFO)

       INTEGER :: N, INFO
       INTEGER, DIMENSION(:) :: IPIV
       REAL, DIMENSION(:) :: L, D, SUBL

       SUBROUTINE STTRF_64(N, L, D, SUBL, IPIV, INFO)

       INTEGER(8) :: N, INFO
       INTEGER(8), DIMENSION(:) :: IPIV
       REAL, DIMENSION(:) :: L, D, SUBL




   C INTERFACE
       #include <sunperf.h>

       void ssttrf(int n, float *l, float *d,  float  *subl,  int  *ipiv,  int
                 *info);

       void  ssttrf_64(long  n,  float  *l, float *d, float *subl, long *ipiv,
                 long *info);



PURPOSE
       ssttrf computes the L*D*L' factorization of a real symmetric  tridiago-
       nal matrix A using the Bunch-Kaufman diagonal pivoting method.


ARGUMENTS
       N (input)
                  INTEGER
                 The order of the matrix A.  N >= 0.


       L (input/output)
                  REAL array, dimension (N-1)
                 On  entry,  the  n-1  subdiagonal elements of the tridiagonal
                 matrix A.  On exit, part of the factorization of A.


       D (input/output)
                  REAL array, dimension (N)
                 On entry, the n diagonal elements of the  tridiagonal  matrix
                 A.  On exit, the n diagonal elements of the diagonal matrix D
                 from the L*D*L**H factorization of A.


       SUBL (output)
                  REAL array, dimension (N-2)
                 On exit, part of the factorization of A.


       IPIV (output)
                  INTEGER array, dimension (N)
                 Details of the interchanges and block pivot.  If IPIV(K) > 0,
                 1 by 1 pivot, and if IPIV(K) = K + 1 an interchange done;  If
                 IPIV(K) < 0, 2 by 2 pivot, no interchange required.


       INFO (output)
                  INTEGER
                 = 0:  successful exit
                 < 0:  if INFO = -i, the i-th argument had an illegal value
                 > 0:  if INFO = i, D(k,k) is exactly zero.  The factorization
                 has  been  completed,  but  the  block  diagonal  matrix D is
                 exactly singular and division by zero will  occur  if  it  is
                 used to solve a system of equations.




                                  7 Nov 2015                        ssttrf(3P)