F06WBF (DTFSM) (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

NAG Library Routine Document

F06WBF (DTFSM)

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

F06WBF (DTFSM) performs one of the matrix-matrix operations
BαA-1B , BαA-TB , BαBA-1   or BαBA-T ,
where A is a real triangular matrix stored in Rectangular Full Packed (RFP) format, B is an m by n real matrix, and α is a real scalar. A-T  denotes AT-1  or equivalently A-1T . The RFP storage format is described in Section 3.3.3 in the F07 Chapter Introduction.
No test for singularity or near-singularity of A is included in this routine. Such tests must be performed before calling this routine.

2  Specification

SUBROUTINE F06WBF ( TRANSR, SIDE, UPLO, TRANS, DIAG, M, N, ALPHA, A, B, LDB)
INTEGER  M, N, LDB
REAL (KIND=nag_wp)  ALPHA, A(*), B(LDB,*)
CHARACTER(1)  TRANSR, SIDE, UPLO, TRANS, DIAG
The routine may be called by its LAPACK name dtfsm.

3  Description

F06WBF (DTFSM) solves (for X) a triangular linear system of one of the forms
AX=αB , ATX=αB , XA=αB   or XAT=αB ,
where A is a real triangular matrix stored in RFP format, B, X are m by n real matrices, and α is a real scalar.

4  References

None.

5  Parameters

1:     TRANSR – CHARACTER(1)Input
On entry: specifies whether the RFP representation of A is normal or transposed.
TRANSR='N'
The matrix A is stored in normal RFP format.
TRANSR='T'
The matrix A is stored in transposed RFP format.
Constraint: TRANSR='N' or 'T'.
2:     SIDE – CHARACTER(1)Input
On entry: specifies whether B is operated on from the left or the right, or similarly whether A (or its transpose) appears to the left or right of the solution matrix in the linear system to be solved.
SIDE='L'
B is pre-multiplied from the left. The system to be solved has the form AX=αB or ATX=αB.
SIDE='R'
B is post-multiplied from the right. The system to be solved has the form XA=αB or XAT=αB.
Constraint: SIDE='L' or 'R'.
3:     UPLO – CHARACTER(1)Input
On entry: specifies whether A is upper or lower triangular.
UPLO='U'
A is upper triangular.
UPLO='L'
A is lower triangular.
Constraint: UPLO='U' or 'L'.
4:     TRANS – CHARACTER(1)Input
On entry: specifies whether the operation involves A-1 or A-T, i.e., whether or not A is transposed in the linear system to be solved.
TRANS='N'
The operation involves A-1, i.e., A is not transposed.
TRANS='T'
The operation involves A-T, i.e., A is transposed.
Constraint: TRANS='N' or 'T'.
5:     DIAG – CHARACTER(1)Input
On entry: specifies whether A has nonunit or unit diagonal elements.
DIAG='N'
The diagonal elements of A are stored explicitly.
DIAG='U'
The diagonal elements of A are assumed to be 1, the corresponding elements of A are not referenced.
Constraint: DIAG='N' or 'U'.
6:     M – INTEGERInput
On entry: m, the number of rows of the matrix B.
Constraint: M0.
7:     N – INTEGERInput
On entry: n, the number of columns of the matrix B.
Constraint: N0.
8:     ALPHA – REAL (KIND=nag_wp)Input
On entry: the scalar α.
9:     A(*) – REAL (KIND=nag_wp) arrayInput
Note: the dimension of the array A must be at least max1,M×M+1/2 if SIDE='L' and at least max1,N×N+1/2 if SIDE='R'.
On entry: A, the m by m triangular matrix A if SIDE='L' or the n by n triangular matrix A if SIDE='R', stored in RFP format, as described in Section 3.3.3 in the F07 Chapter Introduction.
10:   B(LDB,*) – REAL (KIND=nag_wp) arrayInput/Output
Note: the second dimension of the array B must be at least max1,N.
On entry: the m by n matrix B.
If ALPHA=0, B need not be set.
On exit: the updated matrix B, or similarly the solution matrix X.
11:   LDB – INTEGERInput
On entry: the first dimension of the array B as declared in the (sub)program from which F06WBF (DTFSM) is called.
Constraint: LDB max1,M .

6  Error Indicators and Warnings

None.

7  Accuracy

Not applicable.

8  Further Comments

None.

9  Example

This example reads in the lower triangular part of a symmetric matrix A which it converts to RFP format. It also reads in α and a 6 by 4 matrix B and then performs the matrix-matrix operation BαA-1B.

9.1  Program Text

Program Text (f06wbfe.f90)

9.2  Program Data

Program Data (f06wbfe.d)

9.3  Program Results

Program Results (f06wbfe.r)


F06WBF (DTFSM) (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012