I'm finishing my math degree this week and have been looking for some subject to practice and study on my own while I'm doing some work as a programmer. I'm interested in getting my master's later but for now I'll dig through a couple books to stay busy.

Can anyone recommend the areas of math used in designing guidance, navigation, and control systems (like what may be used at places like Nasa, spacex, etc)?

I have a strong background (2 or more semesters each) in

  • real analysis (through basic measure theory and Lebesgue integration)
  • complex analysis
  • linear algebra
  • (partial) differential equations
  • numerical analysis

I have a semester in group theory, and another in rings/fields (culminating with Galois theory) as well, but I expect it won't be as much help.

(I know this is kind of 'soft', so if this question is better suited elsewhere, or needs more specification, let me know.)

Side note - I know there's a field of math called "Control Theory" that's got a basis in classical and functional analysis, and even some topology. I guess the question I'm really asking is if such rigor as is provided in these topics typically would be useful at all if I were to get a job in this field one day, or if I should just learn how Kalman filters are implemented and how to program embedded C code.


4 Answers 4


Here are some of the books I've enjoyed. Note that I'm from an engineering background, and I do robotics and specialise in optimal-control and systems with non-linear dynamics.

  1. Nonlinear Dynamics and Chaos, Strogatz. This is very approachable and he actually also has lectures online if you prefer that format. It's not specific to the applications you have in mind, but it does cover a very important part (nonlinear dynamics), which is where a lot of research is pushing at the moment.
  2. Dynamic Programming & Optimal Control, Berstekas. From my point of view, this text is quite rigorous. Very thorough if you want to get into optimal-control, and stuff like trajectory-optimization.
  3. The Variational Principles of Mechanics, Lanczos. A bit old, but a classic. More on the theoretical than practical side.
  4. Optimal Control & Estimation, Stengel.

Also, here are a couple of MOOCS that imho are excellent.

  1. Underactuated Robotics, this deals with optimal-control for non-linear systems, and focuses quite heavily on robotics applications. However it does a lot of stuff like trajectory optimization which is really relevant to orbit planning etc. and just overall is super fun and well taught! Downside is the next session will probably be next fall. You can watch all the vids and see the exercises anyway, but you'll need your own matlab license to do them.
  2. Discrete Optimization This one does optimization from a more CS point of view, and is also really fun. I'd say not as close, but it still does stuff like travelling salesman (essentially shortest path problem), and touches on a lot of algorithms that will be useful.

Note that the second course in particular is very hands-on, and not so much about the math. The first course is imho a very good balance of both. Not a lot of proofs, but still a lot of insight into the math behind everything.

  • 1
    $\begingroup$ I have a copy of Strogatz' book, and for the MOOC, fortunately I still have my student license of Matlab :) $\endgroup$
    – galois
    May 19, 2016 at 5:05

I work in the Guidance, Navigation, and Control department for a big aerospace company and also did my undergrad in math/physics. Here's my advice:

(1) Get a Master's in aero, since your math background alone has not taught you how to think like an engineer. A mistake most mathematicians/scientists who become engineers often make is assuming engineering is best treated from the perfectionist mindset of math/science and not the messy combination of technical knowledge, politics, and multidisciplinary cooperation it really is. The master's degree won't get you all the way there, but it will get you used to talking with engineers and thinking like one.

(2) You better know control theory, and well. You need to be really conversant with classical control theory, since this is what most design actually uses. Learn a lot about state space too (I think it will be easier if you have a good background in functional analysis). You can learn about optimal control, adaptive control, robust control, nonlinear control, etc. but keep in mind this is not applied as frequently. Finally, Kalman Filtering is a must since this is the current workhorse for state estimation. As a math student, you'll enjoy the use of Hilbert spaces and stochastic processes used in Kalman Filtering in a way which most engineers won't.

(3) Don't knock implementation. I'm not sure this is what you meant by "if I should just learn how Kalman filters are implemented and how to program embedded C code." but it sort of sounded like this. You will learn that engineers don't really care about math (especially rigorous math) on its own. You need to be able to do something with it. Implementing a Kalman filter on a tiny computer which can fit on a spacecraft and doing so reliably in the often high-radiation environment of space is a field unto itself. There's a lot of math in algorithm development, and you'll learn a ton of physics too!

(4) Don't pigeon-hole yourself. NASA, SpaceX, et al. may be sexy sounding to you now, but that's only because they get tons of press. There's lots of smaller firms, government labs, etc. On a personal note, I wish I had been more aware of how cool defense applications are and studied weapons more. There's a lot of jobs for good weaponeers.

Some Books

To get started you can get pretty much any book on topics like orbital mechanics/astrodynamics (Bate, Mueller, White [BMW] is the classic, but there are many others), attitude determination and control (I recommend Wertz for an old overview, Sidi for a relatively easy book with a lot of practical ideas, and Markley & Crassidis for the most up-to-date review on attitude determination algorithms.) You'll also need something on control theory. I took my first course using Murray and Astrom, which is free here. Blakelock's Automatic control of Aircraft and Missiles is a classic overview of aircraft autopilots and its modern descendant is Stevens and Lewis' Aircraft Simulation and Control. If you want a good, classic reference for spacecraft dynamics, I have always loved Thomson's Introduction to Space Dynamics.

Finally, lots of people are posting about GPS here. If you are working on guided missiles, aircraft, or satellites in LEO, GPS can be useful to know about (again, a field unto itself which many general GNC people don't know a whole lot about), but for the missions you're probably thinking of, which go beyond the orbits of the GPS satellites, GPS can't be used. Not to mention the whole field of GPS-denied navigation, which is blooming right now. For these applications, you'll need more general ideas of navigation.


I'm not an expert, but here are several books I've looked at:

  • Linear Algebra, Geodesy, and GPS by Gilbert Strang
  • The Global Positioning System and Inertial Navigation by Farrell and Barth
  • Introduction to Random Signals and Applied Kalman Filtering by Brown and Hwang
  • Fundamentals of Kalman Filtering: A Practical Approach by Zarchan and Musoff
  • Applied Mathematics in Integrated Navigation Systems by Rogers
  • Global Positioning, Inertial Navigation, and Integration by Grewal, Weill, and Andrews

If I were going to recommend one book on this list for you, I would pick Farrell and Barth. It's relatively short, and it discusses Kalman filters and inertial navigation.


I found this book online for free. Take a look at it before you commit to buy any of the others. Some background in Kalman filtering would also be useful overall. hth


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .