I’m trying to promote an LU factorization in one precision to a higher
precision. The permutation vector does not map correctly and I can’t
figure out why.
Sorry, I’m too stupid (I didn’t even realize the intent of original question). So what are you trying to do here: solving in Float32 and pretending to have it solved in Float64?
I’m computing a factorization in low precision (Float16 is the target) and using that factorization as a preconditioner for GMRES in a higher precision (Float32 is the target). This only works right if I promote the factorization before I use it in the preconditioner.
I could define the preconditioiner via brute force using L, U, and P, but it is far cleaner if I can simply promote the factorization. @stevengj fixed me up, as he as done in the past.