@@ -18,7 +18,9 @@ ClosedScalar = Union{T, Complex{T}} where T <: ClosedReal
1818
1919Matrix factorization type of the Bunch-Kaufman factorization of a symmetric or
2020Hermitian matrix `A` as `P'UDU'P` or `P'LDL'P`, depending on whether the upper
21- (the default) or the lower triangle is stored in `A`. If `A` is complex symmetric
21+ (the default) or the lower triangle is stored in `A`. Here, `U` and `L` are
22+ respectively upper and lower triangular, `P` is a permutation matrix, and `D`
23+ is block diagonal with 1-by-1 and 2-by-2 blocks. If `A` is complex symmetric
2224then `U'` and `L'` denote the unconjugated transposes, i.e. `transpose(U)` and
2325`transpose(L)`, respectively. This is the return type of [`bunchkaufman`](@ref),
2426the corresponding matrix factorization function.
@@ -136,6 +138,8 @@ bkcopy_oftype(A::Symmetric{<:Complex}, S) = Symmetric(copytrito!(similar(parent(
136138Compute the Bunch-Kaufman [^Bunch1977] factorization of a symmetric or
137139Hermitian matrix `A` as `P'*U*D*U'*P` or `P'*L*D*L'*P`, depending on
138140which triangle is stored in `A`, and return a [`BunchKaufman`](@ref) object.
141+ Here, `U` and `L` are respectively upper and lower triangular, `P` is a
142+ permutation matrix, and `D` is block diagonal with 1-by-1 and 2-by-2 blocks.
139143Note that if `A` is complex symmetric then `U'` and `L'` denote
140144the unconjugated transposes, i.e. `transpose(U)` and `transpose(L)`.
141145
@@ -706,18 +710,20 @@ LD<:AbstractMatrix, ipiv<:AbstractVector{Integer}, info::BlasInt
706710
707711Computes the Bunch-Kaufman factorization of a symmetric or Hermitian
708712matrix `A` of size `NxN` as `P'*U*D*U'*P` or `P'*L*D*L'*P`, depending on
709- which triangle is stored in `A`. Note that if `A` is complex symmetric
710- then `U'` and `L'` denote the unconjugated transposes, i.e.
711- `transpose(U)` and `transpose(L)`. The resulting `U` or `L` and D are
712- stored in-place in `A`, LAPACK style. `LD` is just a reference to `A`
713- (that is, `LD===A`). `ipiv` stores the permutation information of the
714- algorithm in LAPACK format. `info` indicates whether the factorization
715- was successful and non-singular when `info==0`, or else `info` takes a
716- different value. The outputs `LD`, `ipiv`, `info` follow the format of
717- the LAPACK functions of the Bunch-Kaufman factorization (`dsytrf`,
718- `csytrf`, `chetrf`, etc.), so this function can (ideally) be used
719- interchangeably with its LAPACK counterparts `LAPACK.sytrf!`,
720- `LAPACK.sytrf_rook!`, etc.
713+ which triangle is stored in `A`. Here, `U` and `L` are
714+ respectively upper and lower triangular, `P` is a permutation matrix,
715+ and `D` is block diagonal with 1-by-1 and 2-by-2 blocks. Note that if
716+ `A` is complex symmetric then `U'` and `L'` denote the unconjugated
717+ transposes, i.e. `transpose(U)` and `transpose(L)`. The resulting `U` or
718+ `L` and `D` are stored in-place in `A`, LAPACK style. `LD` is just a
719+ reference to `A` (that is, `LD===A`). `ipiv` stores the permutation
720+ information of the algorithm in LAPACK format. `info` indicates whether
721+ the factorization was successful and non-singular when `info==0`, or
722+ else `info` takes a different value. The outputs `LD`, `ipiv`, `info`
723+ follow the format of the LAPACK functions of the Bunch-Kaufman
724+ factorization (`dsytrf`, `csytrf`, `chetrf`, etc.), so this function can
725+ (ideally) be used interchangeably with its LAPACK counterparts
726+ `LAPACK.sytrf!`, `LAPACK.sytrf_rook!`, etc.
721727
722728`uplo` is a character, either `'U'` or `'L'`, indicating whether the
723729matrix is stored in the upper triangular part (`uplo=='U'`) or in the
0 commit comments