# psb_spsm — Triangular System Solve

[next] [prev] [prev-tail] [tail] [up]

#### 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.

[next] [prev] [prev-tail] [front] [up]