# What is the algorithm for LU factorization in MATLAB?

What is the algorithm for LU factorization in MATLAB, i.e. [L,U] = lu(a)?

After searching for many examples and trying to compare the result with MATLAB, they are all different.

However, I would like to do the result as it is in MATLAB. Which books contain the algorithm; or, what is exact algorithm used?

a = [1,2,3;4,5,6;7,8,9]
[L,U] = lu(a)


I Googled this, and it is different from MATLAB:
http://web.mit.edu/18.06/www/Course-Info/Tcodes.html
http://www.stat.nctu.edu.tw/~misg/SUmmer_Course/C_language/Ch06/LUdecomposition.htm

-
MATLAB does $PA = LU$ where $P$ is the permutation matrix to do row pivoting and returns $PL$ and $U$. mathworks.com/help/techdoc/ref/lu.html –  user17762 May 6 '12 at 1:34
"After googled many examples and try to compare the result with Matlab, they are all different." - can you give an example of what you get from MATLAB and what you see in your Google searches? We might be able to be more helpful if you provide more detail than you now have. –  Guess who it is. May 6 '12 at 1:51
added in question –  Agul May 6 '12 at 3:41
Well, one problem with your example is that it's singular; a floating-point implementation of LU might yield diagonal elements that are tiny, but not zero, due to floating-point error... –  Guess who it is. May 6 '12 at 4:14