HP MLIB User's Guide Vol. 1 7th Ed.

438 HP MLIB User’s Guide
What you need to know to use these subprograms
XYYYSM (TRANSA, M, N, UNITD, DV, ALPHA, args(A), B, LDB, BETA, C,
LDC, WORK, LWORK)
Block entry solution of triangular system:
XYYYSM (TRANSA, MB, N, UNITD, DV, ALPHA, args(A), B, BLDB, BETA,
C, BLDC, WORK, LWORK)
The general order of arguments is:
1. Arguments specifying options.
2. Arguments specifying problem dimensions.
3. Input scalar associated with input matrices.
4. Description of sparse input matrices (See “Order of arguments for args(A)”
on page 440).
5. Description of dense input matrices.
6. Input scalar associated with input-output matrix.
7. Description of input-output matrix.
8. Workspace.
9. Length of workspace.
Common arguments
The argument TRANSA is an integer argument. The possible values are:
TRANSA - Indicates how to operate with the sparse matrix.
0 - Operate with the matrix (No transpose).
1 - Operate with the transpose of the matrix.
2 - Operate with the conjugate transpose of the matrix.
TRANSA=2 is equivalent to TRANSA=1 if the matrix is real.
The argument M is the number of rows in the matrix C, N is the number of
columns in C, and K is the number of rows in B. M and K are the row and
column dimensions of A, respectively, if TRANSA=0 or the column and row
dimensions of A
T
or A* if TRANSA=1 or 2.
If A is a constant block entry matrix, then M=MBxLB and K=KBxLB are the
row and column dimensions of A, respectively. Here, LB is the block entry
dimension given by args(A).
For the block entry data structures, the argument MB is the number of block
rows in the matrix C, and KB is the number of block rows in B. MB and KB are