|
NAG[f07ujc] NAG[nag_dtptri] - Inverse of real triangular matrix, packed storage
|
|
Calling Sequence
f07ujc(uplo, diag, n, ap, 'fail'=fail)
nag_dtptri(. . .)
Parameters
|
uplo - String;
|
|
|
On entry: indicates whether is upper or lower triangular.
|
|
is upper triangular.
|
|
is lower triangular.
|
|
Constraint: "Nag_Upper" or "Nag_Lower". .
|
|
|
diag - String;
|
|
|
On entry: indicates whether is a non-unit or unit triangular matrix.
|
|
is a non-unit triangular matrix.
|
|
Constraint: "Nag_NonUnitDiag" or "Nag_UnitDiag". .
|
|
|
n - integer;
|
|
|
On entry: , the order of the matrix .
|
|
Constraint: . .
|
|
|
ap - Vector(1..dim, datatype=float[8]);
|
|
|
Note: the dimension, dim, of the array ap must be at least .
|
|
On exit: is overwritten by , using the same storage format as described above.
|
|
|
'fail'=fail - table; (optional)
|
|
|
The NAG error argument, see the documentation for NagError.
|
|
|
|
Description
|
|
|
Purpose
|
|
nag_dtptri (f07ujc) computes the inverse of a real triangular matrix, using packed storage.
|
|
Description
|
|
nag_dtptri (f07ujc) forms the inverse of a real triangular matrix using packed storage. Note that the inverse of an upper (lower) triangular matrix is also upper (lower) triangular.
|
|
Error Indicators and Warnings
|
|
"NE_BAD_PARAM"
On entry, argument had an illegal value.
"NE_INT"
On entry, . Constraint: .
"NE_INTERNAL_ERROR"
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please consult NAG for assistance.
"NE_SINGULAR"
The matrix is singular.
|
|
Accuracy
|
|
The computed inverse satisfies
where is a modest linear function of , and is the machine precision.
Note that a similar bound for cannot be guaranteed, although it is almost always satisfied.
The computed inverse satisfies the forward error bound
See Du Croz and Higham (1992).
|
|
Further Comments
|
|
The total number of floating-point operations is approximately .
The complex analogue of this function is f07uwc (nag_ztptri).
|
|
|
Examples
|
|
>
|
uplo := "Nag_Lower":
diag := "Nag_NonUnitDiag":
n := 4:
ap := Vector([4.3, -3.96, -4.87, 0.4, 0.31, -8.02, -0.27, 0.07000000000000001, -5.95, 0.12], datatype=float[8], order='C_order'):
NAG:-f07ujc(uplo, diag, n, ap):
|
|
|