P
P
Pawtin2012-06-21 18:44:21
Programming
Pawtin, 2012-06-21 18:44:21

On what to program physics-mathematics?

Hello Khabravchan. It so happened that I decided to devote my life to physics. Since I love visibility, I thought about how good it would be if I knew some programming language in which I could make a 3D model of the hydrogen atom or, even more interestingly, the uranium atom, well, it would not be bad to have the ability to program some complex physical and mathematical calculations.
I practically don’t know how to program, I tried to teach Delphi and PHP a couple of times, the maximum reached arrays. Now it is insanely interesting to plunge into this mysterious world to realize your physical lusts. How about Java for such purposes?

Answer the question

In order to leave comments, you need to log in

12 answer(s)
A
Akson87, 2012-06-21
@Akson87

Matlab/Python for algorithms, C for speed, MPI for clusters, Kuda/OpenCL for video cards, R for statistics, and many more specific software for various specific tasks.

E
Eddy_Em, 2012-06-22
@Eddy_Em

I myself am an astrophysicist. Matlab has successfully replaced Octave (it is free, unlike), if you need speed - I write in C, I build graphics using gnuplot and / or MathGL, 3D - in FreeCAD, 2D - in QCad, microcontrollers - sdcc , electronic circuits - KiCAD.
And for building models of atoms there is free software. I saw a review about two years ago. In general, I recommend reading

A
Andrey Kuntsevich, 2012-06-21
@titulusdesiderio

MatLab is the most powerful and suitable for you
, but it costs so much that both kidneys are not enough

V
VladX, 2012-06-21
@VladX

I think you don't really need a programming language. Here recently slipped - habrahabr.ru/post/145985/ . Well suited for building volumetric models. There are also various physics simulators for classical mechanics - search on Google. For complex calculations, there is GNU Octave, MathLab, SciLab, etc. But to build a model of the hydrogen atom I have never met - it's very interesting.

A
Arthur, 2012-06-21
@ArthurG

Choose Haskell.
The reasoning is very simple: java and the company are imperative languages ​​and as a rule everything in them is based on a change in the state of the program, hence the unnecessary difficulties in programming and teaching these languages. Haskell, on the other hand, is functional and generally devoid of these shortcomings. Moreover, in Haskell, functions are pure mathematical functions and, simply put, many formulas will be translated 1 to 1 in this language.
There is another option, take a language from the ML family of languages.

P
PapaBubaDiop, 2012-06-21
@PapaBubaDiop

Write to actionscript3, I'm a mechanic myself, I know. After that, master any language to taste.

V
volanddd, 2012-06-21
@volanddd

If only visualization, it is easier to use specialized software - MathLab, FreeCAD, there is also software for visualizing molecules, etc.
There is no way to make extremely complex algorithms, but it is not required to learn programming either.

A
Antelle, 2012-06-21
@Antelle

Or maybe, since we are going to visualize, we can immediately try the languages ​​built into 3d packages? The same maxscript is basically simple.

L
leggiermente, 2012-06-21
@leggiermente

Visualizing a schematic model is one thing. And physical modeling with the calculation of the measured parameters (along with an assessment of their accuracy) is completely different. In the second case, to simulate even the one uranium atom you mentioned is an incredibly difficult task of mathematical modeling and its algorithmic implementation. Moreover, I would venture to suggest that in relation to all the energy spectra of the uranium atom, all its transition energies, the problem does not have not only an exact solution, but also an approximate numerical model: I am sure that there are only a number of more or less accurate models that describe some quantities but incompatible with each other.

A
Andrew, 2012-06-22
@xaoc80

I ran into the same problem when I went to graduate school.
I started programming first in Matlab and Builder C++, but then switched exclusively to Qt.
Of course, Matlab is ideal for such tasks, but as it was rightly noted here, it is paid.
If you take free software and you have a desire to master several programming languages, then you can try Qt C ++ for algorithms and openGL for graphics rendering. I did just that at the time. Yes, you will have to tinker with learning C ++, you can’t do without it, but the result will please you and you will get satisfaction from the process.
As for Java, in principle, this is a good option in terms of cross-platform. I have made several Java visualization programs, it seemed to me that they work a little slower than the same ones on Qt. There was a numerical solution of diffuration systems and the speed I needed was provided by C ++.

S
Sergey Sokolov, 2012-06-22
@sergiks

Look at Wolfram Mathematica - a very powerful environment for scientists, not programmers.

P
Psionic, 2012-06-22
@Psionic

Itself in the university true story for such tasks yuzal GLUT/C ++ sheaf.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question