Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

sgttrs (3p)

Name

sgttrs - solve one of the systems of equations A*X=B or A'*X=B, with a tridiagonal matrix A using the LU factorization computed by SGTTRF

Synopsis

SUBROUTINE SGTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B,
LDB, INFO)

CHARACTER*1 TRANSA
INTEGER N, NRHS, LDB, INFO
INTEGER IPIVOT(*)
REAL LOW(*), D(*), UP1(*), UP2(*), B(LDB,*)

SUBROUTINE SGTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B,
LDB, INFO)

CHARACTER*1 TRANSA
INTEGER*8 N, NRHS, LDB, INFO
INTEGER*8 IPIVOT(*)
REAL LOW(*), D(*), UP1(*), UP2(*), B(LDB,*)




F95 INTERFACE
SUBROUTINE GTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT,
B, LDB, INFO)

CHARACTER(LEN=1) :: TRANSA
INTEGER :: N, NRHS, LDB, INFO
INTEGER, DIMENSION(:) :: IPIVOT
REAL, DIMENSION(:) :: LOW, D, UP1, UP2
REAL, DIMENSION(:,:) :: B

SUBROUTINE GTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2,
IPIVOT, B, LDB, INFO)

CHARACTER(LEN=1) :: TRANSA
INTEGER(8) :: N, NRHS, LDB, INFO
INTEGER(8), DIMENSION(:) :: IPIVOT
REAL, DIMENSION(:) :: LOW, D, UP1, UP2
REAL, DIMENSION(:,:) :: B




C INTERFACE
#include <sunperf.h>

void sgttrs(char transa, int n, int nrhs, float *low, float  *d,  float
*up1, float *up2, int *ipivot, float *b, int ldb, int *info);

void sgttrs_64(char transa, long n, long nrhs, float  *low,  float  *d,
float  *up1,  float  *up2,  long *ipivot, float *b, long ldb,
long *info);

Description

Oracle Solaris Studio Performance Library                           sgttrs(3P)



NAME
       sgttrs  - solve one of the systems of equations A*X=B or A'*X=B, with a
       tridiagonal matrix A using the LU factorization computed by SGTTRF


SYNOPSIS
       SUBROUTINE SGTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B,
             LDB, INFO)

       CHARACTER*1 TRANSA
       INTEGER N, NRHS, LDB, INFO
       INTEGER IPIVOT(*)
       REAL LOW(*), D(*), UP1(*), UP2(*), B(LDB,*)

       SUBROUTINE SGTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B,
             LDB, INFO)

       CHARACTER*1 TRANSA
       INTEGER*8 N, NRHS, LDB, INFO
       INTEGER*8 IPIVOT(*)
       REAL LOW(*), D(*), UP1(*), UP2(*), B(LDB,*)




   F95 INTERFACE
       SUBROUTINE GTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT,
              B, LDB, INFO)

       CHARACTER(LEN=1) :: TRANSA
       INTEGER :: N, NRHS, LDB, INFO
       INTEGER, DIMENSION(:) :: IPIVOT
       REAL, DIMENSION(:) :: LOW, D, UP1, UP2
       REAL, DIMENSION(:,:) :: B

       SUBROUTINE GTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2,
              IPIVOT, B, LDB, INFO)

       CHARACTER(LEN=1) :: TRANSA
       INTEGER(8) :: N, NRHS, LDB, INFO
       INTEGER(8), DIMENSION(:) :: IPIVOT
       REAL, DIMENSION(:) :: LOW, D, UP1, UP2
       REAL, DIMENSION(:,:) :: B




   C INTERFACE
       #include <sunperf.h>

       void sgttrs(char transa, int n, int nrhs, float *low, float  *d,  float
                 *up1, float *up2, int *ipivot, float *b, int ldb, int *info);

       void sgttrs_64(char transa, long n, long nrhs, float  *low,  float  *d,
                 float  *up1,  float  *up2,  long *ipivot, float *b, long ldb,
                 long *info);



PURPOSE
       sgttrs solves one of the systems of equations
          A*X = B  or  A'*X = B, with a tridiagonal matrix A using the LU fac-
       torization computed by SGTTRF.


ARGUMENTS
       TRANSA (input)
                 Specifies the form of the system of equations.  = 'N':  A * X
                 = B  (No transpose)
                 = 'T':  A'* X = B  (Transpose)
                 = 'C':  A'* X = B  (Conjugate transpose = Transpose)


       N (input) The order of the matrix A.


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


       LOW (input)
                 The  (n-1)  multipliers  that define the matrix L from the LU
                 factorization of A.


       D (input) The n diagonal elements of the upper triangular matrix U from
                 the LU factorization of A.


       UP1 (input)
                 The (n-1) elements of the first super-diagonal of U.


       UP2 (input)
                 The (n-2) elements of the second super-diagonal of U.


       IPIVOT (input)
                 The  pivot  indices; for 1 <= i <= n, row i of the matrix was
                 interchanged with row IPIVOT(i).  IPIVOT(i)  will  always  be
                 either  i  or  i+1; IPIVOT(i) = i indicates a row interchange
                 was not required.


       B (input/output)
                 On entry, the matrix of right hand side vectors B.  On  exit,
                 B is overwritten by the solution vectors X.


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


       INFO (output)
                 = 0:  successful exit
                 < 0:  if INFO = -i, the i-th argument had an illegal value




                                  7 Nov 2015                        sgttrs(3P)