Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

csttrf (3p)

Name

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

Synopsis

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

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

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

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




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

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

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

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




C INTERFACE
#include <sunperf.h>

void csttrf(int n, complex *l, complex *d, complex  *subl,  int  *ipiv,
int *info);

void  csttrf_64(long  n,  complex  *l,  complex *d, complex *subl, long
*ipiv, long *info);

Description

Oracle Solaris Studio Performance Library                           csttrf(3P)



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


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

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

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

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




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

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

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

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




   C INTERFACE
       #include <sunperf.h>

       void csttrf(int n, complex *l, complex *d, complex  *subl,  int  *ipiv,
                 int *info);

       void  csttrf_64(long  n,  complex  *l,  complex *d, complex *subl, long
                 *ipiv, long *info);



PURPOSE
       csttrf 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                        csttrf(3P)