MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: LU Decomposition w/o Pivoting

  • To: mathgroup at
  • Subject: [mg91755] Re: LU Decomposition w/o Pivoting
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at>
  • Date: Sun, 7 Sep 2008 05:36:39 -0400 (EDT)
  • Organization: The Open University, Milton Keynes, UK
  • References: <g9t6m5$j89$>

Benjamin Reedlunn wrote:

> I am trying to calculate the signs of the eigenvalues of a bunch of  
> moderately large matrices (thousand by thousand), which takes a long  
> time.  It has come to my attention that the diagonal terms in a LU  
> decomposition have the same signs as the eigenvalues.  So I'm hoping  
> that the LU decomposition is faster than calculating the actual  
> eigenvalues.  I tried testing this out using mathematica's built in  
> function LUDecomposition[] and after a large amount of monkeying  
> around, I realized the signs of the diagonal terms only match the  
> eigenvalues if there is no pivoting employed.  Unfortunately, I cannot  
> figure out how to turn off pivoting in LUDecomposition[].  While I am  
> sure I could write my own LU decomposition function, I'm also sure it  
> would not be nearly as elegant and computationally efficient as the  
> built in function.  So does anyone know how to turn off  
> LUDecomposition[] or have optimized code to perform a LU decomposition?


You might be able to use the second element returned by LUDecomposition 
for it is a vector specifying the rows used for pivoting.

In[1]:= m = Table[N[1/(i + j + 1)], {i, 5}, {j, 5}];
{lu, p, c} = LUDecomposition[m];
lu // Diagonal

Out[3]= {0.333333, 0.0178571, -0.00111111, -0.0000340136, \

Out[4]= {1, 5, 2, 3, 4}

Out[5]= {0.83379, 0.0430979, 0.00129982, 0.0000229962, 1.79889*10^-7}

-- Jean-Marc

  • Prev by Date: Re: Points on a ContourPlot
  • Next by Date: How to do efficient NDSolve Error control
  • Previous by thread: Re: LU Decomposition w/o Pivoting
  • Next by thread: Re: LU Decomposition w/o Pivoting