sptts2


NAME

sptts2 - solve a tridiagonal system of the form A * X = B using the L*D*L' factorization of A computed by SPTTRF


SYNOPSIS

  SUBROUTINE SPTTS2( N, NRHS, D, E, B, LDB)
  INTEGER N, NRHS, LDB
  REAL D(*), E(*), B(LDB,*)
 
  SUBROUTINE SPTTS2_64( N, NRHS, D, E, B, LDB)
  INTEGER*8 N, NRHS, LDB
  REAL D(*), E(*), B(LDB,*)
 

F95 INTERFACE

  SUBROUTINE SPTTS2( N, NRHS, D, E, B, [LDB])
  INTEGER :: N, NRHS, LDB
  REAL, DIMENSION(:) :: D, E
  REAL, DIMENSION(:,:) :: B
 
  SUBROUTINE SPTTS2_64( N, NRHS, D, E, B, [LDB])
  INTEGER(8) :: N, NRHS, LDB
  REAL, DIMENSION(:) :: D, E
  REAL, DIMENSION(:,:) :: B
 

C INTERFACE

#include <sunperf.h>

void sptts2(int n, int nrhs, float *d, float *e, float *b, int ldb);

void sptts2_64(long n, long nrhs, float *d, float *e, float *b, long ldb);


PURPOSE

sptts2 solves a tridiagonal system of the form A * X = B using the L*D*L' factorization of A computed by SPTTRF. D is a diagonal matrix specified in the vector D, L is a unit bidiagonal matrix whose subdiagonal is specified in the vector E, and X and B are N by NRHS matrices.


ARGUMENTS

* 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 L*D*L' factorization of A.

* E (input)
The (n-1) subdiagonal elements of the unit bidiagonal factor L from the L*D*L' factorization of A. E can also be regarded as the superdiagonal of the unit bidiagonal factor U from the factorization A = U'*D*U.

* 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).