LINRT

Computes the inverse of a real triangular matrix.

Required Arguments

AN by N matrix containing the triangular matrix to be inverted.   (Input)
For a lower triangular matrix, only the lower triangular part and diagonal of A are referenced. For an upper triangular matrix, only the upper triangular part and diagonal of A are referenced.

AINVN by N matrix containing the inverse of A.   (Output)
If A is lower triangular, AINV is also lower triangular. If A is upper triangular, AINV is also upper triangular. If A is not needed, A and AINV can share the same storage locations.

Optional Arguments

N — Number of equations.   (Input)
Default: N = size (A,2).

LDA — Leading dimension of A exactly as specified in the dimension statement of the calling program.   (Input)
Default: LDA = size (A,1).

IPATH — Path indicator.   (Input)
IPATH = 1 means A is lower triangular.
IPATH = 2 means A is upper triangular.
Default: IPATH = 1.

LDAINV — Leading dimension of AINV exactly as specified in the dimension statement of the calling program.   (Input)
Default: LDAINV = size (AINV,1).

FORTRAN 90 Interface

Generic:                              CALL LINRT (A, AINV [,…])

Specific:                             The specific interface names are S_LINRT and D_LINRT.

FORTRAN 77 Interface

Single:                                CALL LINRT (N, A, LDA, IPATH, AINV, LDAINV)

Double:                              The double precision name is DLINRT.

Description

Routine LINRT computes the inverse of a real triangular matrix. It fails if A has a zero diagonal element.

Example

The inverse is computed for a 3 × 3 lower triangular matrix.

 

      USE LINRT_INT
      USE WRRRN_INT

!                                 Declare variables

      PARAMETER  (LDA=3)

      REAL       A(LDA,LDA), AINV(LDA,LDA)

!                                 Set values for  A

!                                 A = (  2.0               )

!                                     (  2.0    -1.0       )

!                                     ( -4.0     2.0    5.0)

!

      DATA A/2.0, 2.0, -4.0, 0.0, -1.0, 2.0, 0.0, 0.0, 5.0/

!

!                                 Compute the inverse of A

      CALL LINRT (A, AINV)

!                                 Print results

      CALL WRRRN ('AINV', AINV)

      END

Output

 

           AINV
        1       2       3
1   0.500   0.000   0.000
2   1.000  -1.000   0.000
3   0.000   0.400   0.200


Visual Numerics, Inc.
Visual Numerics - Developers of IMSL and PV-WAVE
http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260