I have to create a program that compares two or three different methods (FEM FVM FDM) for solving an easy pde. Is there a program language in which I could do this easily? (i need to operate with vectors/matrix and perform inversions on matrix)

  • 5
    You probably want to look at something like R and MATLAB. I know that more recently people have been using Python for that sort of thing as well. Check out this more general question: stackoverflow.com/questions/488502/…
    – MrFox
    Mar 7 '13 at 20:29
  • 1
    I bet GNU Octave can do this stuff, too.
    – Brian
    Mar 7 '13 at 21:13

For this kind of data processing I would really recommend R (note that I'm a heavy R user, so I might be biased. But let me break it down a bit. I would definitely go for a high level language like Python + numpy, Matlab or R, and not Fortran or C++. These languages are powerful I know from experience, but also more complex. If it is not strictly needed I would stick to a simpler language, this will enable you to spend more time analyzing data and less programming.

In choosing a high level language, I'd go for R. It is free and open source, has powerful data processing routines built-in, awesome visualisation tools, and a very large user community that provides even the most exotic analysis methods. Although you'd probably also work happily with some other high level language.

  • +1: no reason to muck around with compiling and linking when you could be getting step-by-step feedback Mar 8 '13 at 0:01

My suggestion would be to use Python. The SciPy package allows for solving PDE really simply. I used it for the projects involved in my honours thesis and found it really easy to learn and simple. Have a look at http://scipy-lectures.github.com/intro/scipy.html#numerical-integration-scipy-integrate .

  • Sorry, but I don't think that's accurate. According to the very same url you provided: "There is no Partial Differential Equations (PDE) solver in Scipy. Some Python packages for solving PDE’s are available, such as fipy or SfePy". I realize this question is really old but still.
    – TomCho
    Oct 10 '15 at 12:21

I think nowadays it doesn't matter which language you use. I would recommend Fortran + IMSL library, C# + some math library (there are several of them distributed under GNU license) or C++ with boost or NR. MATLAB might be better choice but to me it seems much more expensive.

  • 5
    Octave is a Free clone of Matlab. Mar 7 '13 at 21:15
  • For this kind of work I would definitely not recommend Fortran or C++. See my answer for more details. Mar 7 '13 at 21:34
  • 1
    -1: language makes a big difference in the time to completion. If you don't think so, you don't know enough languages. Mar 7 '13 at 23:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.