Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Computers & Determinants

  1. Jul 12, 2005 #1
    How do computers evaluate determinants of large matrices? The cofactor method seems like it would be too time consuming. Does anyone know?
  2. jcsd
  3. Jul 12, 2005 #2

    matt grime

    User Avatar
    Science Advisor
    Homework Helper

    my guess would be row operations. even a naive method takes n-1 operations with n and multipkciations additions for the first column, n-2 operations with n-1 additions so approximately order n^4 operations to work out a diagonal form, then multiply the n thingst together, not much more work...so quite cheap really, and that's just the naive version.
  4. Jul 12, 2005 #3
    How would this fare computationally?

    [tex] det(A) = \sum_{{i}_1, {i}_2,...,{i}_n = 1}^{N} \epsilon_{{i}_1, {i}_2,...,{i}_n} a_{{i}_1, 1} \cdot a_{{i}_2, 2} \cdot \cdot \cdot a_{{i}_n, N} [/tex]

    Cumbersome and inefficient for a computer algorithm?
  5. Jul 12, 2005 #4


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Well, how much work is it? You do n multiplications how many times?
  6. Jul 12, 2005 #5
    Looks like if you pick out all the distinct terms (the ones in the summation that aren't equal to zero) you get (N!). On top of that, you would need to do N multiplications each time (so N multiplications N! times). Yikes

    Yeah didn't work that one out before
  7. Jul 16, 2005 #6
  8. Jul 16, 2005 #7

    matt grime

    User Avatar
    Science Advisor
    Homework Helper

    I would think there are indeed many better ways than mine to find determinants. i would say mine is the best worst method or thee worst best method: the least complicated way of doing it that isn't naive. i've been told of other methods for speeding it up though i cant' recall them. of course when we think of a matrix we often think of something small with bige entries (ie integers) frequetly we need a clever method of finding it in the real world since we often have small entries, ie (numbers ivolved in the computation of) determinants so small that it may appear singular when it isn't.
  9. Aug 28, 2005 #8
    So row-reduction (to get 0-entries) would be more efficient? Or would that take a long time in itself?
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook