pub fn lu( a: &TracedTensor, ) -> (TracedTensor, TracedTensor, TracedTensor, TracedTensor)
LU decomposition with partial pivoting.
Returns (P, L, U, parity) where P @ A = L @ U.
(P, L, U, parity)
P @ A = L @ U
let (p, l, u, parity) = tenferro::lu(&a);