LUP decomposition