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.