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)
2
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
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 .
1
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.
3