# What should I do when I get stuck?

I come from the software engineering background. My main problem with math materials online is how dense and unforgiving those usually are. I often read a math article and get what the author is trying to say, up until a certain point where I have no idea how they arrived from A to B. Sometimes I'm lucky and it clicks, but even then I think they could've been more empathetic to their reader and explain the same thing with multiple operations instead of combining them into a single one. It appears as if most of the authors think that their readers have the same context as they do.

I never have this kind of problem in software engineering. I can always find an answer to a question or a solution to a roadblock. In worst case I can run the code myself, debug it, see how it works, etc. You could probably do something similar in math, however sometimes it is not practical. Here's an example:

How did they arrive at this conclusion? The article is about Euclidean Algorithm, so why would I know about this property of numbers? If it's necessary to know this property, then how can I find the name of the property, so I could look around online for alternative and more accessible explanations? How can I verify it? Should I write a $$200$$-digit-number on paper to do that?

While writing this question I actually understood the first expression, but what if I didn't? A lot of times I just gave up on some problems because I couldn't wrap my head around it and didn't know how to find a solution or explanation, etc. I'd love to learn math but this process is super frustrating and breaks my motivation. How can I resolve those blockers on my own, so that I could be as fluent with it as I am with software engineering?

• Practice-eth make-eth man-eth perfect-eth? P.S. forgive the sorry attempt at sounding funny. – AryanSonwatikar May 16 '20 at 14:04
• Like debugging, sometimes when it makes no sense you have to put aside your feelings of overwhelming frustration, step back, and approach the thing again one careful step at a time. In the cited paragraph you have one premise ($a$ has $200$ decimal digits) followed by three conclusions. Which conclusion was unclear? They are each not so much known properties, but more things that you work out as you go. – David K May 16 '20 at 23:09
• There's a reason "self-taught mathematician" is much rarer than "self-taught developer". How can you resolve those blockers on your own? Sometimes you can't, and you should get help from someone/people who you trust to not help you too much. – Mark S. May 17 '20 at 16:44

In software engineering, suppose you run into an object, called inequality. You look at the main body of the code, and just see inequality.howManyDivisions() used at a key step. The natural thing to do is look up that object method and see what is happening under the hood, or just accept that the method is doing what it claims to do.

So it goes with math. Except, math is a thousands or tens-of-thousands of years old discipline, and looking up inequality.howManyDivisions() might mean reading a book on number theory, or something related to groups, or whatever. Or you just accept that you can't know everything, and the referees presumably were experts who knew what was essential and commonly known in their intellectual community, and accept that it's probably true; maybe even ask a colleague who does that kind of thing. There a trick used often in my field that looks like a typo, and people who are unfamiliar are always pleasantly surprised when they get an explanation, not just because it's useful but because it's so simple once you know how it's done. There's a lot of that going on.

• Great analogy! With software engineering I somehow don't have the inclination to dive deep into the implementation, I often can trust the abstraction to do what it does. Sometimes, when I have no idea how something works and there is no info that would resolve the confusion, I dive into the implementation and have no problem in understanding the code. – Dima Knivets May 16 '20 at 14:53
• This is not my experience with math at all. First of all, when I read the article I feel like it's a personal challenge to understand everything in it, somehow I can't let it go and "trust the abstraction". I think the main reason is that with engineering I'm pretty confident that I will understand how it works if I need that, but with math the only thing I'm confident about is that I will get stuck at some point and will have to give up 😅 – Dima Knivets May 16 '20 at 14:55
• Finally, I try to understand everything in the article because otherwise I fear that I won't be able to fully grasp the topic. I often have this thought that if the author included this info here then it is relevant to the topic. – Dima Knivets May 16 '20 at 15:01
• When I was an undergrad and in grad school, there were so many papers or books I picked up where the first few "notation and background" chapters ground my progress completely to a halt, so I never got to the interesting stuff, because I felt like I needed a complete understanding of everything to move forward. It was not productive. What I do now is try to understand the paper at a conceptual level, and ask, "what am I going to use from this, and how much does that rely on bits I don't understand?" Then I learn more about those parts critical to me, and not asides or quick calculations. – user762914 May 16 '20 at 15:09
• For example, I just read a bunch on selection theorems. They are used in a lot of places. If I tried to learn everything those papers touched on, I would have to take a year off. I can't do that. So I figured out what theorems absolutely needed, and then filled in the background to feel like I 100% understood those theorems, even though there's dozens of other results I only vaguely understand. – user762914 May 16 '20 at 15:11

I'll give a practical take on this:

The statement that you posted is just an example that the authors use to show why Euclid's algorithm is much more efficient than a naive gcd implementation. Since you are just interested in learning about Euclid's algorithm, if you don't understand this example, no harm is done in ignoring it. I adopt this strategy for most things I see in my math textbooks and focus only on the core theorems. If this piece of information is really crucial for solving problems, then I would come back and do a double take (try to learn the matter presented). Otherwise, out of most 800-page math texts, the core theorems are contained only in ~200 pages of subject matter. You need to pick up these theorems and apply them to solving your problems.

If you face a problem that you have to solve and are unable to comprehend the tools/strategies required to solve it, break it down!. Make a list of all the theorems that you need to solve said problem and then learn the theorems one by one. If you get stuck on a theorem, Math.SE is always there to help :). Once you're done with the theorems, you can go back to the problem and try to apply your learnings. Two things can happen at this stage:

1. You solve the problem successfully. This is good and it means that you grasped the theorems
2. You are unable to solve the problem. In this case, you need to pinpoint the location where you got stuck and revise the tools/theorems you are using in that location. Then, revert back to learning those theorems properly. Keep doing this and you'll eventually reach 1.

If you keep running into case 2, you need to be persistent. Persistence doesn't always mean tackling the problem head-on; sometimes it can also mean giving the problem a break. Stick with the problem, and you are bound to solve it.

P.S: I wrote this explanation before noticing that you understood what the sentence is trying to say.

What the authors are trying to say is that every 200-digit number fits in the range $$10^{199} \le a \lt 10^{200}$$ This is because the smallest 200-digit number is $$10^{199}$$ (1 followed by 199 zeros) and the largest is $$10^{200}-1$$ (9 repeated 200 times). If you take a square root across the inequality, you get $$3.16 \times 10^{99} \le \sqrt{a} < 10^{100}$$ since we have to find a list of divisors of $$a$$, in the worst case, we will have to divide $$a$$ by all the numbers less than $$\sqrt{a}$$. Thus, at most, we would have to perform $$3.16 \times 10^{99} \approx 3 \times 10^{99}$$ divisions. Even if we could do a billion divisions per second, it would take us $$3 \times 10^{90}$$ seconds or around $$10^{82}$$ years (!) to do this naively, without euclid's algorithm. That is all the sentence and associated paragraphs are trying to say.

• Thanks! Sometimes authors use the examples to help understand a theorem, so ignoring the examples often feels like I'm missing out on some crucial perspective about the theorem or a problem. Finally, how could I know which theorems I need to know to solve a particular problem? – Dima Knivets May 16 '20 at 15:05
• Again, I'm reading your explanation and I'm not sure if I could've understood where the 3 $\times 10^{99}$ in the proof comes from without it. How could I've known that they applied a square root to the whole inequality? – Dima Knivets May 16 '20 at 21:17
• @DimaKnivets The context is very suggestive. They don't provide an explanation, so the step must be simple enough (relatively) that they can expect their intended audience to be able to figure it out. They go from an inequality with $a$ in the middle to an inequality with $\sqrt{a}$ in the middle. What would change $a$ into $\sqrt{a}$? Taking the square root. Let's check: would that turn $10^{200}$ into $10^{100}$? Well, $\sqrt{10^{200}}=(10^{200})^{1/2}=10^{200/2}=10^{100}\checkmark$. So for the right side, they took the square root. I wonder if they did something like that on the left... – Mark S. May 17 '20 at 16:38
• it is definitely obvious and trivial once you know what they did, but it wasn't like that until you find out – Dima Knivets May 18 '20 at 10:47

As one of my favorite professors Hung-hsi Wu at Berkeley said, put the book down. Perhaps try a different book.

• I don't think that helps because the new book will contain stuff I won't be able to process on my own too, so this is a never ending process. This is based on an actual experience. There is an author, Robert Blitzer, whose books are very approachable and I usually have no problem understanding the material. The problem is that I can't always rely on a single author having a book on some topic. I want to be able to read random articles and papers. I want to be able to dive into a text and resolve the confusion on my own. – Dima Knivets May 16 '20 at 14:48
• @DimaKnivets Be careful with where you put your goalposts. No mathematician alive in the past century can read arbitrary math papers. That's simply unreasonable. But if you jump from book to book on, say, common undergraduate material, you'll understand a higher percentage each time (especially if you put effort into understanding some of the steps/ask people for help when you get stuck, like you're doing now). – Mark S. May 17 '20 at 16:42

Mathematical writing (at every level) expects more effort from the reader than other kinds of exposition, so you should expect to have to go slowly and work out many steps for yourself using some scratch paper. The goal is to see intuitively why things are true, so try to figure things out on your own before searching for explanations - it's much easier to follow a proof if you've already tried to solve the problem. For introductory-level topics, none of the proofs are particularly tricky - most of the work is just wrapping your head around the problem and "seeing it the right way".

In your example, if you didn't follow the first step, you might still understand that the 200-digit numbers are bounded, so stop and try to figure out what the bounds are. Write down examples with smaller numbers in place of 200 and try to find a pattern. Eventually you'll convince yourself that the statement you read is true.

In many cases a general formula / statement can be better understood if you start with the simplest cases of application of that statement.

The example you cite is oone of these cases.

If $$a$$ had just one decimal digit, then .. (easy to catch the basis of the statement) If $$a$$ had two digits , then ..( just a little more cpmplicated, but the path start to emerge)
if $$a$$ has $$n$$ digits ..