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

Why are matrix methods so widely used?

  1. May 16, 2017 #1
    Hi there. The question I wanted to ask is: Why are matrix methods so widely used for numerical solution of partial differential equations?

    Many times I've found that storing a whole matrix requires much more memory than just doing an iteration scheme to propagate the solution. Sometimes I think it is easier to deal with boundary conditions in matrix form, specially in second order differential equations. But sometimes storing a matrix in a program requires to store a lot of elements that are zero. What I want to know is if there is any advantage to parallelize a program when the system of equations are written in matrix form, or if there is any other reason why matrix methods are so widely used.

    Thanks in advance.
  2. jcsd
  3. May 16, 2017 #2


    User Avatar
    Science Advisor
    Gold Member
    2017 Award

    If it is just the logistics of storing large, sparse matrices, there are ways to deal with that. It sounds like you can benefit from techniques related to sparse matrices.
    If it is the theory, then remember that all finite dimensional linear operators can be represented by matrices. And differential equations involve linear operators.
    So the theory combined with the ability to handle sparse matrices give an appealing approach to solving partial differential equations.
  4. May 16, 2017 #3
    If you have a large sparse matrix, how do you deal with all the zeros? when I write a fortran program to solve a linear system, I must specify every element in the matrix, even when perhaps 99% of them are just zeros. For big problems that could be problematic, and I can't avoid the fact of having to store all those elements which in some sense are trivial. Is there a way of doing that?
  5. May 16, 2017 #4


    User Avatar
    Science Advisor
    Gold Member
    2017 Award

    There are sparse matrix libraries for several computer languages. Use Google to find one for your language. I have never used one so I am not expert about them.
  6. May 17, 2017 #5
    Ok, let me ask this anyway, perhaps someone can tell.

    I often find that the matrix corresponding to a discretized differential equation has a big condition number, and that the condition number gets bigger when the discretization is finer, because the elements of the matrix tend to be more close to zero for thinner meshes. Should I be able in this cases to get a better suited matrix by a reordering of the terms in the equation? perhaps, dividing by the mesh size, or something like that, or when one faces this type of problems it is inherent to the differential equation and the representation of the discretized operators?
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted

Similar Discussions: Why are matrix methods so widely used?
  1. Why is Fortran so Fast? (Replies: 22)