**Short Answer**: LAPACK's dsytf2 (for full symmetric) and dsptrf (for packed) actually computes UDU' decompostion as it is used in estimation community. **Longer Version:** Cholesky decomposition routines of lapack (such as dpotrf) computes only LL' and U'U. It is interesting to note until version 3.6 of lapack, the documentation of lapack wrongfully stated that when the UPLO='U', the Cholesky decomposition returns UU' decomposition. But, that wrong statement was fixed after 3.6. Currently (as of 3.12), lapack's Cholesky decomposition routines can only return U'U or LL' decomposition based on UPLO argument (same as matlab's chol function). On the other hand, LDL decomposition routines of lapack actually computes UDU' when the UPLO is set to 'U' while calling the function. This fact is also explicitly stated in these functions documentation. However, one should also note that lapack LDL routines executes much more complicated algorithms as the LDL routines are designed for indefinite matrices. In estimation algorithms, we generally set the row/cols to zero when the pivot is zero and continue the decompose the rest of the matrices as it is known that the input (the covariance matrices) is not indefinite. However, LDL routines of lapack, performs row/col rooks in such cases. Therefore, one may need to use syconv routine to convert permutated LDL'/UDU' matrices into unpermutated forms.