4.13 psb_spsm — Triangular System Solve
This subroutine computes the Triangular System Solve:
where:
-
x
- is the global dense matrix x:,:
-
y
- is the global dense matrix y:,:
-
T
- is the global sparse block triangular submatrix T
-
D
- is the scaling diagonal matrix.
call psb_spsm(alpha, t, x, beta, y, desc_a, info)
call psb_spsm(alpha, t, x, beta, y, desc_a, info,&
& trans, unit, choice, diag, work)
|
|
T, x, y, D, α, β | Subroutine |
|
|
Short Precision Real | psb_spsm |
Long Precision Real | psb_spsm |
Short Precision Complex | psb_spsm |
Long Precision Complex | psb_spsm |
|
|
|
Table 13: Data types
-
Type:
- Synchronous.
-
On Entry
-
-
alpha
- the scalar α.
Scope: global
Type: required
Intent: in.
Specified as: a number of the data type indicated in Table 13.
-
t
- the global portion of the sparse matrix T.
Scope: local
Type: required
Intent: in.
Specified as: an object type specified in § 3.
-
x
- the local portion of global dense matrix x.
Scope: local
Type: required
Intent: in.
Specified as: a rank one or two array or an object of type
psb_T_vect_type containing numbers of type specified in Table 13. The
rank of x must be the same of y.
-
beta
- the scalar β.
Scope: global
Type: required
Intent: in.
Specified as: a number of the data type indicated in Table 13.
-
y
- the local portion of global dense matrix y.
Scope: local
Type: required
Intent: inout.
Specified as: a rank one or two array or an object of type
psb_T_vect_type containing numbers of type specified in Table 13. The
rank of y must be the same of x.
-
desc_a
- contains data structures for communications.
Scope: local
Type: required
Intent: in.
Specified as: an object of type psb_desc_type.
-
trans
- specify with unitd the operation to perform.
-
trans = ’N’
- the operation is with no transposed matrix
-
trans = ’T’
- the operation is with transposed matrix.
-
trans = ’C’
- the operation is with conjugate transposed matrix.
Scope: global
Type: optional
Intent: in.
Default: trans = N
Specified as: a character variable.
-
unitd
- specify with trans the operation to perform.
-
unitd = ’U’
- the operation is with no scaling
-
unitd = ’L’
- the operation is with left scaling
-
unitd = ’R’
- the operation is with right scaling.
Scope: global
Type: optional
Intent: in.
Default: unitd = U
Specified as: a character variable.
-
choice
- specifies the update of overlap elements to be performed on exit:
-
- psb_none_
-
- psb_sum_
-
- psb_avg_
-
- psb_square_root_
Scope: global
Type: optional
Intent: in.
Default: psb_avg_
Specified as: an integer variable.
-
diag
- the diagonal scaling matrix.
Scope: local
Type: optional
Intent: in.
Default: diag(1) = 1(noscaling)
Specified as: a rank one array containing numbers of the type indicated in
Table 13.
-
work
- a work array.
Scope: local
Type: optional
Intent: inout.
Specified as: a rank one array of the same type of x with the TARGET
attribute.
-
On Return
-
-
y
- the local portion of global dense matrix y.
Scope: local
Type: required
Intent: inout.
Specified as: an array of rank one or two containing numbers of type specified
in Table 13.
-
info
- Error code.
Scope: local
Type: required
Intent: out.
An integer value; 0 means no error has been detected.