Ask HN: How to do self-study on Physics

58 points by garashb ↗ HN
Hi there. I have been reading the threads on studying math on your own. I am wondering if you have suggestions for someone (has bachelor and master in Software engineering) who is really into Physics. Any resources appreciated.

42 comments

[ 0.60 ms ] story [ 140 ms ] thread
coding up gravity simulations is fun, and the things you can account for are a pretty deep dive into classical mechanics and then how the real universe differs from ideals. an exercise like that could kick up a bunch of things to learn more about in a "well how the hell can that be how things work?" way.
Do you want to be a physicist or understand physics? Two very different things.

If you want to BE A PHYSICIST learn a lot of math + work somewhere they do their work. Try to network and find someplace you can be a scientific programmer for a yearish.

If you just want to UNDERSTAND physics, start reading primary sources rather than shit like Wired.

Often there is a type of person that exploits that gap between say, an ARXIV print to going to a conference to going to a journal to being presented at a conference... where then a journalist sits down, observes the presentation, and writes it up, to sound smarter than they are.

I don't like that kind of person.

Hope the above is helpful!

I want to understand physics and maybe try to write pieces of software on specific physics domains which can be helpful to others (e.g., automate some stuff or something like that). Hope made my intention clear now :) Btw, thank you for the response.
noob suggestion: physics -> mechanics + electrical engineering -> industrial engineering
Industrial engineering is often just UX research with too much math but I get where you're coming from.
(comment deleted)
This sequence will get you busy for a couple of years:

1) Leon Cooper’s Physics: Structure and Meaning

2) The Feynman Lectures on Physics

Feynman Lectures are for people who already have good footing in the topics that are being covered there.
Is there a physics equivalent of the chemistry book "the disappearing spoon"? I really enjoyed it and am trying to find similar books in other disciplines.
Get the first volume from berkeley physics course, and work through it. That means reading, following tge derivations and then redoing then calculations. And do the problems.

If you enjoyed it work through Halliday Resnick.

Now you need to do quite a bit of labwork. Some universitys allow you to take/do lab experiments. Do not skip that.

Then you can work through the feynman lectures, to see the stuff from different angles.

This will give you a comprehensive physical understanding. Which is good enough. Missing would 'only' an insane amount of math and theoretical physics.

I wouldn’t really recommend Berkeley Physics series to self-learners.

Without a teacher's help, it would be really difficult. I don't think it is impossible.

Generally I agree, but the first volume is good, and the most verbose/illustrated treatment of special relativity I have seen so far.
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.

> 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".

Time 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.
(comment deleted)
I 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.
It'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.

About 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)

Yes, 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

Thanks! 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!

I'm in a similar boat, and I think the answer is: same way physics students do, reading textbooks and doing exercises.

However I would not recommend the Feynman lectures (and, based on the preface, I think Feynman would agree). I've read about a 1/3 of the series and while I have to say they are some of the greatest technical writing in history, they are not the greatest pedagogical material. I do believe everyone should read at least some of the Feynman lectures, just not as a means of learning physics. Much like a good 3blue1brown video, you feel like you're learning a lot... but 6 months later there's just a big empty hole were knowledge used to be.

Based on recommendations I've found I'm currently working through Taylor's Classic Mechanics. My ultimate aim is to get a better grip on Lagrangian mechanics and make use of the plethora of great automatic differentiation tools out there to create some trick simulations of physical processes. So far the book has been fantastic, but I'm not far enough through to be able to give it an unequivocal endorsement.

Of course self learning does miss out on the experimentation portion, but I suspect a software engineer could afford the basic tools to setup a variety of high-school/early undergrad experiments. If you're hankering for something requiring institutional funding level of equipment you should be able to audit a course at your local university.

Since you mentioned classical mechanics and simulation i want to tell you(if you didn't know) about sicm. https://groups.csail.mit.edu/mac/users/gjs/6946/sicm-html/bo... I just skimmed through the preface and its definitely a course I'm going to do in the near future.
I'm a huge fan of that book, but am very glad you called it out as more people should know about it. there's also a great companion book "Functional Differential Geometry".

My one caveat with that approach is it requires a very specific implementation of their library in MIT Scheme. There probably is a racket implementation by now, but it still looks like it's most small personal github projects.

The automatic differentiation landscape has changed considerably since that book was written. I would love to eventually be able to put together something like a guide to Lagrangian mechanics with JAX.

Talking about learning CM the hard way.
>However I would not recommend the Feynman lectures (and, based on the preface, I think Feynman would agree). I've read about a 1/3 of the series and while I have to say they are some of the greatest technical writing in history, they are not the greatest pedagogical material. I do believe everyone should read at least some of the Feynman lectures, just not as a means of learning physics.

As a counterpoint, I am someone who did self-learn physics from Feynman's lectures as a teenager and I would highly recommend it to others to at least give it a try.

You have to appreciate just how much of a factor pure interest and enthusiasm for a subject is in learning it - and Feynman's lectures are just amazing for sparking that joy in physics. I discovered Feynman's lectures about two months into my first year of high school and it became my primary textbook. I just found the other texts too goddamned boring in comparison.

Honestly, I would start by looking at an undergraduate physical chemistry book. Chemistry is just applied physics at the smallest non-quantum scale (mostly)

- you get a simplified introduction to statistical mechanics - you learn about thermodynamics - introduction to basic concepts like heat, enthapy, entropy - quantum light effects that explain absorbance, Raman scattering, fluorescence

Not such a bad idea, actually. Much of physics owes chemistry a lot. I find General Chemistry by Pauling a sort of a good book on physics (which has led to some complaints by chem students).
I have been a Physics nut for majority of my life (not any more, though).

My question is- what do you want to do with your Physics knowledge? What’s your goal? Just intellectual curiosity, or something else? Please state that.

Is there any particular area you are interested in?

I am and did the same thing! You don't mention:

1. Where you're starting from (remember any 8th grade physics?)

2. Where you want to go?

For me, I started with a somewhat faded memory from 8th grade physics, and that was it. I had many goals, but a succinct overall way to say them would be that I wanted to a broad understanding of the subject. I'm not afraid of math but a purely mathematical understanding to me was less important than a conceptual understanding. I wasn't aiming for "physicist" or even "software guy who works on physics code", I just have an insatiable curiosity about the world, and physics opens so much of that. The only goal I had that I didn't get to, was I wanted to understand what gravity is and how it works. Turns out that's a hugely difficult thing. Someday I will try again, but for now I've had to accept that the why behind curvature of space is a bit out of my grasp.

Anyway, this is what I did in the beginning to get started, and recommend (sorry don't remember the things I read later).

I highly recommend starting with the Great Courses. Professor Wolfson is one of my favorites.

1. Einstein's Relativity and the Quantum Revolution: Modern Physics for Non-Scientists, 2nd Edition: (Wolfson): https://www.thegreatcourses.com/courses/einstein-s-relativit...

This was a great one to start with because he starts with classical physics and works upward through Einstein, which helped me understand so much.

2. Great Courses, Physics and Our Universe (Wolfson): https://www.thegreatcourses.com/courses/physics-and-our-univ...

3. Understanding Gravity (Schumacher): https://www.thegreatcourses.com/courses/black-holes-tides-an...

There are lots of other great courses on the Great Courses as well, those are just the ones I liked the most.

Physics Nobel Laureate Gerard 't Hooft has put together a comprehensive list of resources for people wanting to learn: How to become a GOOD Theoretical Physicist [0].

You should check it out.

[0]: https://www.goodtheorist.science/

How are your math skills? Do you know any calculus? Are you interested in learning more math to go with the physics?
Just curious, what's the target? I'm building a curriculum to reach General Relativity from a basic knowledge of Calculus and Linear Algebra (your non-math not-top-school version of Single Variable Calculus and first Linear Algebra course) and pretty sure that Physics Stack exchange is a good place for such questions.
I have a master degree of physics. I studied particle physics. I couldn't understand well when I was a student. I still sometimes open a book and study it.