Engineering and Scientific Subroutine Library for AIX Version 3 Release 3: Guide and Reference
These subroutines solve the system Ax = b for
x, where A is a positive definite symmetric matrix, and
x and b are vectors. The subroutines use the
results of the factorization of matrix A, produced by a preceding
call to SPPF/SPPFCD or DPPF/DPPFP/DPPFCD, respectively.
Table 94. Data Types
A, b, x
| Subroutine
|
Short-precision real
| SPPS
|
Long-precision real
| DPPS
|
- Note:
- The input to these solve subroutines must be the output from the
factorization subroutines SPPF/SPPFCD and DPPF/DPPFP/DPPFCD,
respectively.
Fortran
| CALL SPPS | DPPS (ap, n, bx, iopt)
|
C and C++
| spps | dpps (ap, n, bx, iopt);
|
PL/I
| CALL SPPS | DPPS (ap, n, bx,
iopt);
|
- ap
- is the factorization of matrix A, produced by a preceding call
to SPPF/SPPFCD or DPPF/DPPFP/DPPFCD, respectively. Specified as:
a one-dimensional array, containing numbers of the data type indicated in Table 94, where:
If iopt = 0, the array must contain
n(n+1)/2+n elements.
If iopt = 1, the array must contain
n(n+1)/2 elements.
- n
- is the order of matrix A used in the factorization, and the
lengths of vectors b and x. Specified as: a
fullword integer; n >= 0.
- bx
- is the vector b of length n, containing the right-hand
side of the system. Specified as: a one-dimensional array of (at
least) length n, containing numbers of the data type indicated in Table 94.
- iopt
- indicates the type of factorization that was performed on matrix
A, where:
If iopt = 0, the matrix was factored using the
LDLT method.
If iopt = 1, the matrix was factored using Cholesky
factorization.
Specified as: a fullword integer; iopt = 0 or
1.
- bx
- is the solution vector x of length n, containing the
results of the computation. Specified as: a one-dimensional
array, containing numbers of the data type indicated in Table 94.
- The array data specified for input argument ap for these
subroutines must be the same as the corresponding output argument for
SPPF/SPPFCD and DPPF/DPPFP/DPPFCD, respectively.
- The scalar data specified for input argument n for these
subroutines must be the same as that specified for SPPF/SPPFCD and
DPPF/DPPFP/DPPFCD, respectively.
- |When you call these subroutines after calling SPPF or DPPF, the
|value of input argument iopt must be as follows:
|
SPPF/DPPF Input iopt
| SPPS/DPPS Input iopt
|
0 or 10
| 0
|
1 or 11
| 1
|
- When you call these subroutines after calling SPPFCD or DPPFCD, the value
of input argument iopt must be 0.
- When you call these subroutines after calling DPPFP, the value of input
argument iopt must be 1.
- In the input array specified for ap, the first
n(n+1)/2 elements are matrix elements. The additional
n locations, required in the array when iopt = 0,
are used for working storage by this subroutine and should not be altered
between calls to the factorization and solve subroutines.
- The vectors and matrices used in this computation must have no common
elements; otherwise, results are unpredictable. See Concepts.
- For a description of how a positive definite symmetric matrix is stored in
lower-packed storage mode in an array, see Symmetric Matrix.
The system Ax = b is solved for x,
where A is a positive definite symmetric matrix, stored in
lower-packed storage mode in array AP, and x and
b are vectors. These subroutines use the results of the
factorization of matrix A, produced by a preceding call to
SPPF/SPPFCD or DPPF/DPPFP/DPPFCD, respectively.
If n is 0, no computation is performed. See references
[36] and [38].
None
- Note:
- If a call to SPPF, DPPF, SPPFCD, DPPFCD, or DPPFP resulted in a nonpositive
definite matrix, error 2104 or 2115, SPPS or DPPS results may be unpredictable
or numerically unstable.
- n < 0
- iopt <> 0 or 1
This example shows how to solve the system
Ax = b, where matrix A is the same
matrix factored in the Example 1 for SPPF and DPPF.
AP N BX IOPT
| | | |
CALL SPPS ( AP , 9 , BX , 0 )
AP = (same as output AP in Example 1
for SPPF and DPPF)
BX = (9.0, 17.0, 24.0, 30.0, 35.0, 39.0, 42.0, 44.0, 45.0)
BX = (1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
This example shows how to solve the same system as in Example 1, where
matrix A is the same matrix factored in the Example 2 for SPPF and DPPF.
AP N BX IOPT
| | | |
CALL SPPS( AP , 9 , BX , 1 )
AP = (same as output AP in Example 2
for SPPF and DPPF)
BX = (9.0, 17.0, 24.0, 30.0, 35.0, 39.0, 42.0, 44.0, 45.0)
BX = (1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]