trmm_i(3PI) Sun Interval Performance Library trmm_i(3PI)NAMEtrmm_i - Triangular interval matrix matrix product.
DESCRIPTION
B = ALPHA * A * B
or
B = ALPHA * A_transposed * B
or
B = ALPHA * B * A
or
B = ALPHA * B * A_transposed
The routine TRMM_I performs one of the interval matrix operations B =
ALPHA * A * B, B = ALPHA * A_transposed * B, B = ALPHA * B * A, B =
ALPHA * B * A_transposed. ALPHA is an interval, A is a unit, or non-
unit, upper or lower triangular interval matrix, and B is a general
interval matrix. This routine returns immediately if M or N is equal
to zero.
SYNOPSIS
SUBROUTINE TRMM_I( A, B [, SIDE] [, UPLO] [, TRANSA] [, DIAG] [, ALPHA] )
INTERVAL, INTENT(IN) :: B(:,:)
INTERVAL, INTENT(INOUT) :: A(:,:)
TYPE(blas_side_type), INTENT(IN), OPTIONAL :: SIDE
TYPE(blas_uplo_type), INTENT(IN), OPTIONAL :: UPLO
TYPE(blas_trans_type), INTENT(IN), OPTIONAL :: TRANSA
TYPE(blas_diag_type), INTENT(IN), OPTIONAL :: DIAG
INTERVAL, INTENT(IN), OPTIONAL :: ALPHA
where
B has shape (M,N).
If SIDE = blas_left_side (default): A has shape (M,M),
if SIDE /= blas_left_side : A has shape (N,N).
ARGUMENTS
B (input)
On entry, B is array of DIMENSION (M,N)
Unchanged on exit.
A (input/output)
On entry, if SIDE = blas_left_side:
A is array of DIMENSION (M,M),
if SIDE /= blas_left_side:
A is array of DIMENSION (N,N).
On exit, if SIDE = blas_left_side:
B = ALPHA * A * B or
B = ALPHA * A_transposed * B
If SIDE /= blas_left_side:
B = ALPHA * B * A
B = ALPHA * B * A_transposed
ALPHA (input)
On entry, ALPHA specifies the scalar ALPHA.
Default value is ALPHA = [1,1].
Unchanged on exit.
SIDE(input)
Scalar element. On entry, SIDE should be equal to
blas_side_type value, i.e. SIDE should take one
of the two values:
blas_left_side or blas_right_side.
Default value: blas_left_side
Unchanged on exit.
UPLO(input)
Scalar element.
Specifies if the matrix operand is an upper or
lower tringular part of the matrix.
Possible values:
UPLO = blas_upper (default)
UPLO = blas_lower
Unchanged on exit.
TRANSA (input)
Scalar element.
Specifies the matrix A transpose.
Possible values:
TRANSA = blas_no_trans (default)
TRANSA = blas_trans
Unchanged on exit.
DIAG (input)
Scalar element.
Specifies whether or not the matrix operand
has unit diagonal entries.
Possible values:
DIAG = blas_non_unit_diag (default)
DIAG = blas_unit_diag
Unchanged on exit.
ERRORS
blas_error_alloc
B or A is unallocated array
blas_error_shape
B or A has unappropriate shape
6 Mar 2009 trmm_i(3PI)