Loading...
Searching...
No Matches

## stptrs()

subroutine stptrs | ( | character | uplo,
|  | character | trans,
|  | character | diag,
|  | integer | n,
|  | integer | nrhs,
|  | real, dimension( * ) | ap,
|  | real, dimension( ldb, * ) | b,
|  | integer | ldb,
|  | integer | info )

STPTRS

Download STPTRS + dependencies [TGZ] [ZIP] [TXT]

Purpose:

      !>
      !> STPTRS solves a triangular system of the form
      !>
      !>    A * X = B  or  A**T * X = B,
      !>
      !> where A is a triangular matrix of order N stored in packed format, and B is an N-by-NRHS matrix.
      !>
      !> This subroutine verifies that A is nonsingular, but callers should note that only exact
      !> singularity is detected. It is conceivable for one or more diagonal elements of A to be
      !> subnormally tiny numbers without this subroutine signalling an error.
      !>
      !> If a possible loss of numerical precision due to near-singular matrices is a concern, the
      !> caller should verify that A is nonsingular within some tolerance before calling this subroutine.
      !>

Parameters

  [in]

  UPLO

      !>          UPLO is CHARACTER*1
      !>          = 'U':  A is upper triangular;
      !>          = 'L':  A is lower triangular.
      !>

  [in]

  TRANS

      !>          TRANS is CHARACTER*1
      !>          Specifies the form of the system of equations:
      !>          = 'N':  A * X = B  (No transpose)
      !>          = 'T':  A**T * X = B  (Transpose)
      !>          = 'C':  A**H * X = B  (Conjugate transpose = Transpose)
      !>

  [in]

  DIAG

      !>          DIAG is CHARACTER*1
      !>          = 'N':  A is non-unit triangular;
      !>          = 'U':  A is unit triangular.
      !>

  [in]

  N

      !>          N is INTEGER
      !>          The order of the matrix A.  N >= 0.
      !>

  [in]

  NRHS

      !>          NRHS is INTEGER
      !>          The number of right hand sides, i.e., the number of columns
      !>          of the matrix B.  NRHS >= 0.
      !>

  [in]

  AP

      !>          AP is REAL array, dimension (N*(N+1)/2)
      !>          The upper or lower triangular matrix A, packed columnwise in
      !>          a linear array.  The j-th column of A is stored in the array
      !>          AP as follows:
      !>          if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
      !>          if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
      !>

  [in,out]

  B

      !>          B is REAL array, dimension (LDB,NRHS)
      !>          On entry, the right hand side matrix B.
      !>          On exit, if INFO = 0, the solution matrix X.
      !>

  [in]

  LDB

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

  [out]

  INFO

      !>          INFO is INTEGER
      !>          = 0:  successful exit
      !>          < 0:  if INFO = -i, the i-th argument had an illegal value
      !>          > 0:  if INFO = i, the i-th diagonal element of A is exactly zero,
      !>                indicating that the matrix is singular and the
      !>                solutions X have not been computed.
      !>

Author
  Univ. of Tennessee
  Univ. of California Berkeley
  Univ. of Colorado Denver
  NAG Ltd.