# Why are matrix methods so widely used?

1. May 16, 2017

### Telemachus

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. May 16, 2017

### FactChecker

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.

3. May 16, 2017

### 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?

4. May 16, 2017

### FactChecker

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.

5. May 17, 2017

### Telemachus

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