Closed
Description
JuliaLang/julia#14389 by @timholy added support for rook-pivoted Bunch–Kaufman factorization, but it seems like the permutation (p
or P
) property should have been updated. As reported on discourse, it looks like the wrong permutation. For example:
A = Symmetric([-5 -9 9; -9 4 1; 9 1 2])
B = bunchkaufman(A, true)
B.U * B.D * B.U' ≈ A[B.p, B.p]
gives false
. The permutation B.p == [1,3,2]
, whereas it seems that the correct permuation is [2,1,3]
in this case.
JuliaLang/julia#14389 did not change the _ipiv2perm_bk
routine that computes the permutation from ipiv
, but the documentation for sytrf_rook
seems to indicate that its ipiv
array has a different meaning than that of sytrf
.