Modern interface for ssytrf. See also: mfi_sytrf, f77_sytrf. Computes the factorization of a symmetric matrix using the Bunch-Kaufman diagonal pivoting method
The factorization has the form: - A = UDUT (if uplo='U') or - A = LDLT (if uplo='L')
where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is block diagonal with 1-by-1 and 2-by-2 diagonal blocks.
Parameters:
- a (inout): On entry, the symmetric matrix A. On exit, the block diagonal matrix D
and the multipliers used to obtain the factor U or L.
- uplo (in, optional): Specifies whether the upper ('U') or lower ('L') triangular part
of the symmetric matrix A is stored. Default: 'U'
- ipiv (out, optional): The pivot indices that define the permutation matrix P.
If ipiv is not provided, it will be allocated internally.
- info (out, optional): Output status: 0 for success, < 0 for illegal argument,
> 0 if D(k,k) is exactly zero.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=REAL32), | intent(inout) | :: | a(:,:) | |||
| character(len=1), | intent(in), | optional | :: | uplo | ||
| integer, | intent(out), | optional, | target | :: | ipiv(:) | |
| integer, | intent(out), | optional | :: | info |