Previous: ctrsm Up: ../lapack-blas.html Next: dgbmv


ctrsv


 NAME
      CTRSV - solve one of the systems of equations   A*x = b, or
      A'*x = b, or conjg( A' )*x = b,

 SYNOPSIS
      SUBROUTINE CTRSV ( UPLO, TRANS, DIAG, N, A, LDA, X, INCX )

          INTEGER      INCX, LDA, N

          CHARACTER*1  DIAG, TRANS, UPLO

          COMPLEX      A( LDA, * ), X( * )

 PURPOSE
      CTRSV  solves one of the systems of equations

      where b and x are n element vectors and A is an n by n unit,
      or non-unit, upper or lower triangular matrix.

      No test for singularity or near-singularity is included in
      this routine. Such tests must be performed before calling
      this routine.

 PARAMETERS
      UPLO   - CHARACTER*1.
             On entry, UPLO specifies whether the matrix is an
             upper or lower triangular matrix as follows:

             UPLO = 'U' or 'u'   A is an upper triangular matrix.

             UPLO = 'L' or 'l'   A is a lower triangular matrix.

             Unchanged on exit.

      TRANS  - CHARACTER*1.
             On entry, TRANS specifies the equations to be solved
             as follows:

             TRANS = 'N' or 'n'   A*x = b.

             TRANS = 'T' or 't'   A'*x = b.

             TRANS = 'C' or 'c'   conjg( A' )*x = b.

             Unchanged on exit.

      DIAG   - CHARACTER*1.
             On entry, DIAG specifies whether or not A is unit
             triangular as follows:

             DIAG = 'U' or 'u'   A is assumed to be unit

             triangular.

             DIAG = 'N' or 'n'   A is not assumed to be unit tri-
             angular.

             Unchanged on exit.

      N      - INTEGER.
             On entry, N specifies the order of the matrix A.  N
             must be at least zero.  Unchanged on exit.

      A      - COMPLEX          array of DIMENSION ( LDA, n ).
             Before entry with  UPLO = 'U' or 'u', the leading n
             by n upper triangular part of the array A must con-
             tain the upper triangular matrix and the strictly
             lower triangular part of A is not referenced.  Before
             entry with UPLO = 'L' or 'l', the leading n by n
             lower triangular part of the array A must contain the
             lower triangular matrix and the strictly upper tri-
             angular part of A is not referenced.  Note that when
             DIAG = 'U' or 'u', the diagonal elements of A are not
             referenced either, but are assumed to be unity.
             Unchanged on exit.

      LDA    - INTEGER.
             On entry, LDA specifies the first dimension of A as
             declared in the calling (sub) program. LDA must be at
             least max( 1, n ).  Unchanged on exit.

      X      - COMPLEX          array of dimension at least
             ( 1 + ( n - 1 )*abs( INCX ) ).  Before entry, the
             incremented array X must contain the n element
             right-hand side vector b. On exit, X is overwritten
             with the solution vector x.

      INCX   - INTEGER.
             On entry, INCX specifies the increment for the ele-
             ments of X. INCX must not be zero.  Unchanged on
             exit.

             Level 2 Blas routine.

             -- Written on 22-October-1986.  Jack Dongarra,
             Argonne National Lab.  Jeremy Du Croz, Nag Central
             Office.  Sven Hammarling, Nag Central Office.
             Richard Hanson, Sandia National Labs.
 NAME

 SYNOPSIS

 ble
 pre-
 ci-
 sion
 dou-             function
                  dcabs1(z)
 ble
     dou-         complex
                  z,zz
 ble
     dou-         precision
                  t(2)
     equivalence  (zz,t(1))
     zz           =
                  z
     dcabs1       =
                  dabs(t(1))
                  +
                  dabs(t(2))
     return
     end
 PUR-
 POSE