Why are matrix methods so widely used?

  • Thread starter Thread starter Telemachus
  • Start date Start date
  • Tags Tags
    Matrix
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
4 replies · 2K views
Telemachus
Messages
820
Reaction score
30
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.
 
Physics news on Phys.org
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.
 
  • Like
Likes   Reactions: Telemachus
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?
 
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?