Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

zsttrf (3p)

Name

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

Synopsis

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

DOUBLE COMPLEX L(*), D(*), SUBL(*)
INTEGER N, INFO
INTEGER IPIV(*)

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

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




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

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

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

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




C INTERFACE
#include <sunperf.h>

void zsttrf(int n, doublecomplex *l,  doublecomplex  *d,  doublecomplex
*subl, int *ipiv, int *info);

void  zsttrf_64(long  n, doublecomplex *l, doublecomplex *d, doublecom-
plex *subl, long *ipiv, long *info);

Description

Oracle Solaris Studio Performance Library                           zsttrf(3P)



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


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

       DOUBLE COMPLEX L(*), D(*), SUBL(*)
       INTEGER N, INFO
       INTEGER IPIV(*)

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

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




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

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

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

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




   C INTERFACE
       #include <sunperf.h>

       void zsttrf(int n, doublecomplex *l,  doublecomplex  *d,  doublecomplex
                 *subl, int *ipiv, int *info);

       void  zsttrf_64(long  n, doublecomplex *l, doublecomplex *d, doublecom-
                 plex *subl, long *ipiv, long *info);



PURPOSE
       zsttrf computes the L*D*L' factorization of a complex symmetric  tridi-
       agonal matrix A using the Bunch-Kaufman diagonal pivoting method.


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


       L (input/output)
                  COMPLEX 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 factorization of A.


       SUBL (output)
                  COMPLEX 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                        zsttrf(3P)