3 ms·
You first have to understand the magnitude of the task. I personally spoke with several programmers who wanted to "study physics". I showed them a copy of COMS
by sharikous 4y ago
You first have to understand the magnitude of the task.
I personally spoke with several programmers who wanted to "study physics". I showed them a copy of COMSOL multiphysics, explained to them that even as trained physicist with years of experience I could probably understand well only 20% of the problems the software can solve, and clarified that the portion of physics you touch on software like that is the tiny tiny part of physics that is used heavily in engineering tasks, maybe 1% of it, the most boring one. All of them without exception backed down.
The second thing you have to understand is that studying physics beyond the college level requires an analytical depth of reasoning that is not usually reached in software engineering and that there are no easy didactical books (in recent years the situation improved a lot though). So you either have to understand difficult stuff or you need a good in person teacher. Not to mention that only the mismatch between different conventions and schools of thought is gonna cost you a lot of your time if you rely on a sparse set of books. It happens a lot that different books use different space/time/unit/normalization/coordinate basis choices and that means you simply cannot copy and paste formulas without understanding their derivation.
That said I would suggest
- going through the exercises of a college level book like Halliday Resnick. Walter Lewin lectures if you can find them are good too.
- watch YouTube videos, some of them are really well made these days
- the theoretical minimum from Leonard susskind is a good set of lectures for advanced theoretical concept in minimal format for people who have some STEM background. A good series of books in the same style is the no-nonsense series from Jakob Schwichtenberg.
- go through the kind of stuff you do in computational physics. Simulations like you find in finite elements solvers are great visually. A lot of other techniques exist for modeling quantum systems, gravitational systems, statistical mechanics... Engineering-level stuff will have good software to back it (Synopsis for optics and semiconductors, Comsol for a holistic approach, Ansys for statics, Cst for antennas, Lumerical for optics,...). Most of those will have open source equivalents of significantly lesser quality. More research level stuff, like from DFT and beyond, will have open source packages that get sparser and sparser until you get to some github repository that a graduate student maintained for their thesis.
- PheonixPharts 4y ago> studying physics beyond the college level requires an analytical depth of reasoning that is not usually reached in software engineering It's more than that though. As someone with a background in applied mathematics (and plenty of experience in software), part of the problem when learning physics is that physicists have their own language of mathematics which makes a lot of quick short cuts. Even fairly quantitative people coming to physics will be confused and need to take some time to adjust. A perfect example from the college level is that physicists will talk about the "derivative of a vector". Take a statistician, a mathematician and a physicist and ask them "what is the derivative of a vector" the first two will tell you 0, the third will just draw a dot over the vector. Something a simple as F = ṗ (there's a tiny dot there, but I'm not sure if you can see it), where p is a vector of momentum coming from stats, makes it look like F = 0. And it's not even as simple as "well they mean p(t)", because physicists will flip back and forth between thinking of p as a function and p as an actual vector depending on what's convenient. So it's less a pure function of "the math is hard" but more so "physicists have their own conventions of doing math and the best way to learn is is to do math with physicists for a long time".
- 442Rct 4y agoTime derivative or spatial derivatives (gradient of a vector? Former is trivial; latter has been the source of unwarranted) confusion. J. W. Gibbs settled the matter long ago. Bad news: the right way involves differentiable manifolds.
- deleted 4y ago[deleted]
- RhysU 4y agoI don't get why someone saying they want to study physics means they should be be scared away with graduate-level computational multi-physics. Baby steps man.
- ThePhysicist 4y agoIt's a bit like showing someone who wants to learn programming a list of all the popular repositories on Github and explaining that even with years of experience as a developer one could only understand 20 % of the code, and that even that is only a tiny part of all software paradigms in existence, maybe 1 %. That's a really negative attitude, I find. Personally I studied physics to the PhD level and I'd say it's absolutely possible to get a good understanding of the fundamentals of modern physics with a few years of dedicated self-study. One probably needs a knack for mathematics as well, which is probably the most difficult part for most developers. I know my way around basic electrodynamics, classical & quantum mechanics, astrophysics, statistical physics, thermodynamics, optics, nanotechnology and a few other areas. I've probably attained expert level knowledge in superconductivity and experimental quantum computing, meaning that I'm able to follow and understand state-of-the-art research and come up with interesting research ideas myself (though I've been out of the game for a decade, so probably I'm a bit out of touch already). I know very few physicists who are experts in more than one domain, but that doesn't mean they don't enjoy learning about other areas of physics as well.
- hnthrowaway0315 4y agoAbout the magnitude: Would it be helpful if one focuses on a single topics e.g. General Relativity? For anyone who went through an engineering/applied math bachelor, basically he/she needs to take about 7~10 courses depending on background and can ignore the rest (e.g. any physics about Quantum Mechanics or any unrelated math e.g. Probability/Statistics)
- sharikous 4y agoYes, and for general relativity even more so. GR is quite separate from the rest of physics, at least until you get to a very deep level. You still need a good teacher. GR is exactly the kind of topic that can seem horribly ugly or incredibly fascinating depending on the teaching method. Moreover raytracing/general physical modeling in a general relativistic spacetime can be exactly the kind of project that can be accessible to a programmer curious about physics
- hnthrowaway0315 4y agoThanks! I think one problem of self-teaching is the difficulty to 1) Figure out which parts of the textbooks are needed and which parts can be shelved; 2) Find a good textbook with detailed answers; 3) Find someone to ask when blocked. I totally agree that a good teacher is at least a 10X multiplier. My plan is to register as an independent student, takes 2-3 courses to show serious business and then find a professor with GR background as a mentor. I don't think it's worthy to get into a program because I'll have to take a lot of off-topic courses then. The simulation is also interesting. I remember someone programming a renderer for black holes based on GR (or something else) and it looks exactly like the one in Interstellar!