This subroutine computes the Triangular System Solve:
where:

- is the global dense matrix

- is the global dense matrix

- is the global sparse block triangular submatrix

- 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)
Table 13:
Data types
, , , , ,  |
Subroutine |
Short Precision Real |
psb_spsm |
Long Precision Real |
psb_spsm |
Short Precision Complex |
psb_spsm |
Long Precision Complex |
psb_spsm |
|
- 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
.
Scope: local
Type: required
Intent: in.
Specified as: an object type specified in
§ 3.
- x
- the local portion of global dense matrix
.
Scope: local
Type: required
Intent: in.
Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type
containing numbers of type specified in
Table 13. The rank of
must be the same of
.
- 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
.
Scope: local
Type: required
Intent: inout.
Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type
containing numbers of type specified in
Table 13. The rank of
must be the same of
.
- desc_a
- contains data structures for communications.
Scope: local
Type: required
Intent: in.
Specified as: an object of type descdatapsb_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:
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:
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:
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
with the
TARGET attribute.
- On Return
-
- y
- the local portion of global dense matrix
.
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.