То, что ты хочешь, не похоже на LU-разложение для меня,
http://en.wikipedia.org/wiki/LU_decomposition
>>> U_ = np.array([[ 8., -6., 2.],
[ 0., 8., -6.],
[ 0., 0., 2.]])
>>> L_ = np.array([[ 1. , 0. , 0. ],
[-0.5, 1. , 0. ],
[ 0.5, -0.5, 1.]])
>>> np.dot(L_, U_)
array([[ 8., -6., 2.],
[ -4., 11., -7.],
[ 4., -7., 6.]])
LU разложение доступно в scipy.linalg
>>> A = np.array([[ 8. , -6. , 2. ], [-0.5, 8. , -6. ], [ 0.5, -0.5, 2. ]])
>>> import scipy.linalg as spla
>>> P, L, U = spla.lu(A)
>>> L
array([[ 1. , 0. , 0. ],
[-0.0625 , 1. , 0. ],
[ 0.0625 , -0.01639344, 1. ]])
>>> U
array([[ 8. , -6. , 2. ],
[ 0. , 7.625 , -5.875 ],
[ 0. , 0. , 1.77868852]])
>>> np.dot(L, U)
array([[ 8. , -6. , 2. ],
[-0.5, 8. , -6. ],
[ 0.5, -0.5, 2. ]])