Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

cptts2 (3p)

Name

cptts2 - solve a tridiagonal system of the form A * X = B using the factorization A = U'*D*U or A = L*D*L' computed by CPTTRF

Synopsis

SUBROUTINE CPTTS2(IUPLO, N, NRHS, D, E, B, LDB)

COMPLEX E(*), B(LDB,*)
INTEGER IUPLO, N, NRHS, LDB
REAL D(*)

SUBROUTINE CPTTS2_64(IUPLO, N, NRHS, D, E, B, LDB)

COMPLEX E(*), B(LDB,*)
INTEGER*8 IUPLO, N, NRHS, LDB
REAL D(*)




F95 INTERFACE
SUBROUTINE PTTS2(IUPLO, N, NRHS, D, E, B, LDB)

COMPLEX, DIMENSION(:) :: E
COMPLEX, DIMENSION(:,:) :: B
INTEGER :: IUPLO, N, NRHS, LDB
REAL, DIMENSION(:) :: D

SUBROUTINE PTTS2_64(IUPLO, N, NRHS, D, E, B, LDB)

COMPLEX, DIMENSION(:) :: E
COMPLEX, DIMENSION(:,:) :: B
INTEGER(8) :: IUPLO, N, NRHS, LDB
REAL, DIMENSION(:) :: D




C INTERFACE
#include <sunperf.h>

void cptts2(int iuplo, int n, int nrhs, float *d, complex  *e,  complex
*b, int ldb);

void  cptts2_64(long  iuplo,  long  n, long nrhs, float *d, complex *e,
complex *b, long ldb);

Description

Oracle Solaris Studio Performance Library                           cptts2(3P)



NAME
       cptts2  -  solve  a tridiagonal system of the form  A * X = B using the
       factorization A = U'*D*U or A = L*D*L' computed by CPTTRF


SYNOPSIS
       SUBROUTINE CPTTS2(IUPLO, N, NRHS, D, E, B, LDB)

       COMPLEX E(*), B(LDB,*)
       INTEGER IUPLO, N, NRHS, LDB
       REAL D(*)

       SUBROUTINE CPTTS2_64(IUPLO, N, NRHS, D, E, B, LDB)

       COMPLEX E(*), B(LDB,*)
       INTEGER*8 IUPLO, N, NRHS, LDB
       REAL D(*)




   F95 INTERFACE
       SUBROUTINE PTTS2(IUPLO, N, NRHS, D, E, B, LDB)

       COMPLEX, DIMENSION(:) :: E
       COMPLEX, DIMENSION(:,:) :: B
       INTEGER :: IUPLO, N, NRHS, LDB
       REAL, DIMENSION(:) :: D

       SUBROUTINE PTTS2_64(IUPLO, N, NRHS, D, E, B, LDB)

       COMPLEX, DIMENSION(:) :: E
       COMPLEX, DIMENSION(:,:) :: B
       INTEGER(8) :: IUPLO, N, NRHS, LDB
       REAL, DIMENSION(:) :: D




   C INTERFACE
       #include <sunperf.h>

       void cptts2(int iuplo, int n, int nrhs, float *d, complex  *e,  complex
                 *b, int ldb);

       void  cptts2_64(long  iuplo,  long  n, long nrhs, float *d, complex *e,
                 complex *b, long ldb);



PURPOSE
       cptts2 solves a tridiagonal system of the form
          A * X = B using the factorization A = U'*D*U or A = L*D*L'  computed
       by  CPTTRF.  D is a diagonal matrix specified in the vector D, U (or L)
       is a unit bidiagonal matrix whose superdiagonal (subdiagonal) is speci-
       fied in the vector E, and X and B are N by NRHS matrices.


ARGUMENTS
       IUPLO (input)
                 Specifies  the form of the factorization and whether the vec-
                 tor E is the superdiagonal of the upper bidiagonal  factor  U
                 or the subdiagonal of the lower bidiagonal factor L.  = 1:  A
                 = U'*D*U, E is the superdiagonal of U
                 = 0:  A = L*D*L', E is the subdiagonal of L


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


       NRHS (input)
                 The number of right hand sides, i.e., the number  of  columns
                 of the matrix B.  NRHS >= 0.


       D (input) The  n  diagonal  elements  of the diagonal matrix D from the
                 factorization A = U'*D*U or A = L*D*L'.


       E (input) If IUPLO = 1, the (n-1) superdiagonal elements  of  the  unit
                 bidiagonal  factor  U  from the factorization A = U'*D*U.  If
                 IUPLO = 0, the (n-1) subdiagonal elements of the unit bidiag-
                 onal factor L from the factorization A = L*D*L'.


       B (input/output)
                 On  entry,  the  right  hand side vectors B for the system of
                 linear equations.  On exit, the solution vectors, X.


       LDB (input)
                 The leading dimension of the array B.  LDB >= max(1,N).




                                  7 Nov 2015                        cptts2(3P)