To me, it seems that there are two general categories of things referred to as "math": A: the one used in this article: What people generally refer to as math. What's used by engineers, (most) scientists, etc. B: The one used by math majors and mathematicians. This type is abstract, contains things domains that end in "theory".
My question: Do you think an approach like in the article is possible to learn Math B? I have tried several times, unsuccessfully. I'm proficient in most domains of Math A. (Differential equations, linear algebra etc, symbol manipulation, geometry, and how tho apply them to practical problems).
Math B seems, in contrast, beyond me. There is a programming analogy: Math B is like Haskell, or pure functional programming, which also is as ungraspable to me. I am wondering if maybe this is partially genetic, partially something you have to learn at an early age. Or maybe it takes a formal learning path.
I think there is another one, Math C that involves day-to-day mental arithmetic which I am terrible at despite being good at Math A and holding engineering degrees. There might also be another element of Math C which is a feel for numbers and lets you know if an estimate or the value staring at you on the calculator screen makes sense or if it is obviously wrong.
I tie my poor mental arithmetic skills partly to never properly learning multiplication tables, at least not all of them and perhaps something lacking in my brain which also means I have a terrible sense of direction.
Yet, when it comes to symbol manipulation where the numbers don't matter until the very end, then I am good at that.
I thought this too.
When you're young the multiplication table seems like a daunting thing to memorize, but after graduating university, it doesn't seem so bad.
So I went back and memorized my times tables using Anki. It was pretty easy, but ultimately changed very little and I easily forget them if I stop practicing.
I've come to realize that not mastering the times tables were a symptom, not a cause, of my learning difficulties.
I’ve something similar
For whatever reason, 6x7, 6x8, 7x7 and 7x8 are a persistent hole in my ability to memorize. Sure I can temporarily memorize them, but they shortly evaporate back into the void and I’ll have return to quickly having to calculate them out again.
I’ve also got this thing where I get mixed up between verbal “eleven” and “twelve”. They sound different, but at the same time somehow sound just similar enough that the boundary that should exist around them as symbols never properly formed. I have to pause and manually match the number to the sound, every time. What’s especially funny to me is I have no such problem distinguishing between onze and douze from French, which I only know a few words of and certainly never hear in real life.
I’d like to think the first problem I’d eventually fix if I was using those multiples constantly, but I’m not so sure because the second problem definitely doesn’t improve.
I wonder if it would help to remember that etymologically "eleven" comes from "one left" (as in, I counted the first ten and there was still one more) and "twelve" comes from "two left".
As for the others, I think remembering these in several different ways is stickiest. For example, you might think of 7·7 = (5 + 2)² = 25 + 2·10 + 4 or perhaps 7·7 = (6 + 1)² = 36 + 2·6 + 1 or 7·7 = 7·(10 − 3) = 70 − 21. If you already know 7·7, then 6·8 = (7 − 1)(7 + 1) = 49 − 1. You can try computing 7·8 by repeatedly doubling: 7, 14, 28, 56. Etc.
The squares of primes become memorable if you've ever tried searching for primes in your head. That's because 7*7 is the smallest product of prime factors that are all larger than or equal to 7: in other words, you can check for the primality of numbers smaller than that by testing for division by 2, 3, or 5 only, because they must divide by one of those or be prime.
Because of this pointless mental exercise it also sticks in my mind that 11 squared is 121 and 13 squared is 169 (though the presence of 69 helps with that one).
I like the shove it to the nearest 10 approach. It makes a lot of calculations much simpler b/c they can be transformed to a simple multiplication by 10 and a addition or subtraction or two.
1. 6⋅7 = (6⋅10) - (6⋅3) = 60 - 18 = 42
2. 7⋅7 = (7⋅10) - (7⋅3) = 70 - 21 = 49
3. 13⋅19 = (13⋅20) - (13⋅1) = 260 - 13 = 247
4. 58⋅61 = (58⋅60) + (58⋅1) = 3480 + 58 = 3538
If we go up another order of magnitude, then the system starts really grinding to a halt though tbh :)
I definitely relate to that for some things. I have a distinct memory of struggling to memorize 6x7, 7x7 and 7x8 in elementary school. What I settled on was just artificially making the numbers "stick out" in my head... It's hard to explain, but for example for 7x7=49, the way I pronounce it in my head is really distinct, and I'm also very "passionate" (as a mnemonic, but also genuinely) about how it "makes no sense" that the numbers 7 and 7 could make 49. Similarly with 42, I have this idea of 6 and 7 combining in such a clunky way that they somehow produce 42, and this image of them forming a kind of gnarled-up branch to "reach" 42.
Anyway, just an interesting thing I've never put into words about this point -- I'm realizing that when I can't remember something, I kind of toss around a concept in my head until one of these nonsense mnemonics has a match. I'm also reminded of "memory palaces," where people assign concepts to a mental location even when there's not necessarily a correlation, and it drastically improves their recall. Maybe I should try this more -- now I'm wondering why I apply this to some things and not others.
Did you learn them when you were young? Those are completely ingrained for me.
I don't really bother to keep them memorized 'uncompressed', I remember a jumble of them that stuck for one reason or another (eg 7x7=49 just sort of makes me feel 'satisfied' somehow) and just have built up an instinct to 'disassemble' the multiplication into the ones I remember more strongly. Eg for 7x8, while I did instantly think 56, I still automatically checked it as 7x7+7. This also helps with larger multiplications, since my first instinct is to simplify the problem to something that is trivially solvable and checkable.
Nowadays I don't often have to use these tricks, the vast majority of the time I'm already typing into something that can give me the result (a browser, or a terminal), or am in no rush and can just use my phone or watch. At most it makes for an occasionally nice trick to show in conversations.
I'm in the same boat. The multiplication tables for me in that zone are constructs from other principles. :) So, Fives and Nines are easy and I can derive the Sixes Sevens and Eights from those. It's definitely extra steps. I think I'm reasonably good at the sort of mental arithmetic described in another post, Those particular operations just remain as symbols until I absolutely need to define them more precisely. I don't have a problem with 11s and 12s, but 5s and Rs trip me up.
The way that our brains process symbols is fascinating. If anyone out there has any literature or reading on this, I'd be interested. Especially, as related to ADHD/Autism.
Very similar story. Never managed to memorize multiplication table. Can do it, but it vanishes. By that I mean the "tricky" pairs but I don't know what is tricky about them. Been programming computers for close to 30 years, do lots of math but multiplication table is still tricky to me.
Been playing guitar for 20+ years, can't memorize the note names on some frets.
Studied music in college, I still need to count lines sometimes when reading sheet music, besides some reference points I can't seem to memorize the locations of notes on the staff.
Not like I have a general memorization problem. I am good with human languages, programming languages. Have very good working memory etc. But some things just stump me.
The Hitchhiker's Guide to the Galaxy (see start of chapter 32) lets me remember that "what do you get when you multiply six by seven?" was a proposed Ultimate Question for The Answer. I couldn't remember it until I started remembering it in that context.
If anyone else here wants to memorize multiplication facts, this is great: https://mathigon.org/multiply
If you want to practice division as well, check out Zetamac or (if you don't want to be timed) my simpler tool: https://math.twilam.com/
It takes significant effort to get in the groove of a particular 'day-to-day' math. My job has regularly recurring parts where I spend a lot of time doing one or more of 3 basic skills: setting up integrals and differential equations, converting lots of numbers to binary or hex, and trig-based approximations.
When I spend too much time away from one, it really shows. The other day, I tried to do the trig approximations, and it was like getting up after sitting too long with legs crossed. The fluency just wasn't there.
For improving Math C skills, one approach you can check out is Fermi estimates or Fermi problems.
https://en.m.wikipedia.org/wiki/Fermi_problem
I loved math type A, so I majored in it.
Once you're fully ensconced in the major, it pivots into type B. And it turns out that I hate type B but slogged through it with medium-good grades.
looking back on it now, I've come to like type B and wish I could go retake those classes with my current perspective.
I think my original distaste was largely due to what felt like a bait-n-switch: start out majoring in something you like and are good at, but then pull the rug out and switch to something completely different
The fact that intro math classes don't do proofs (Type B) is because of the same pressure from people who only want to do Type A.
Due to internal changes in my uni, for the first time, my freshmen year, the math department taught proper proof-based Calculus 101 (from Apostle of all books) to all majors. Then the engineers and biologists complained so much, they had to cut out a lot of proofs from Calculus 102. There were even more complaints, so by second year, there were hardly any proofs in the core math courses. In a few years, the calculus courses had become devoid of proofs.
Some unis have separate intro courses for math majors, but it's very difficult to offer them in the current economic climate.
I think Proof vs non-proof is part of it, but it’s mostly related to level of abstraction.
You can do proofs for calculus, probability, or logic and still feel like you’re working with the types of problems you do in type A math.
But once you start doing proofs in modern algebra or topology you’re doing things with abstract objects that seem to exist for the amusement of mathematicians that look down on “applied math”
The real problem is that "type B", despite being much more important of an activity to learn (for mathematics or any other kind of technical problem solving) is almost entirely ignored in primary/secondary education.
While at it: pure functional programming is very easy to grasp. You should just think about programming as of not tinkering with the state, not altering things, but as of producing outputs from inputs.
Say, analog electronics mostly works in the pure functional domain. An amplifier does not try to change the input signal. Instead, it produces a more powerful output signal, following the shape of the input signal. A tone generator in a musical instrument does not try to make a key on the keyboard vibrate. Instead it produces a sound signal according to the key pressed (which note and what velocity).
The simplest way to try practical pure functional programming is to connect a few Unix processes via pipes:
The above is a pure function compositon, as a map-reduce pipeline, in point-free style. (Yay, buzzwords.) It counts top-level functions in a Python file.But how to achieve something like updating with that? By looping the output back to the input, and switching o the "next version" once it's computed. Conway's game of Life looks like an ultimate "update in place" thing. But it's purely functional, too: the new state of the map is completely computed based on the previous state if the map. Then the new map is seen as "the current map". Similarly, frames in a drawn animation do not change, but they are shown at the same place one after another, giving the impression of motion and change of "the same" picture.
In general, our Universe may be seen as a purely functional computation: its next state is a function of its past states, and the past is immutable.
I think the OP was trying to say that type theory is difficult, not that the kind of "no mutable state" idea is difficult.
Type theory can be complicated! OTOH e.g. untyped lambda calculus is purely functional, and lives without types. It can be easily explained using the notion of "macro", or text substitution, familiar to any C programmer.
Certainly knowing some category theory helps. Finding out mathematical underpinnings of e.g. monads is some effort, and a foray into a non-daily math territory. I'd compare it with learning about matrices and quaternions when doing 3D geometry stuff. In either case, you have to make an effort and acquire a bit of special knowledge. But once you've learned it, it becomes and remains "intuitive", you don't have to think deeply or write complex formulae to use it. You just write [int(x) for x in line.split(",") if x] and don't mentally split this chain of monadic operations into an isomorphism and a catamorphism.
I like your conviction Re "functional programming is very easy to grasp".
Many won't but I agree in the purest (sorry) sense.
There is no scattered changing state. I think we all learned input-function-output as a construct in maths class?
Spreadsheets (sans-VBA) is arguably the most prolific programming language and simplest, being used by people who do not recognise they are programming. Felienne Hermans gave a good talk on this subject in GOTO 2016.
Spreadsheets have numerous shortfalls though, and "real" functional programming languages make it difficult to not feel intimidated: in my experience, but this is getting much better.
[1] is a game of life in calculang, functional language I'm developing, where for all it's verbosity at least I hope the rules and development over generation (g) can be reasoned with (sans-state!).
Not very practical but can show calculang computation/workings as it progresses and as parameters change - things that are easy for FP and otherwise intractable, and which further help with reasoning.
But, a big challenge is to be approachable (not intimidating), and I'm trying to make that better. I think it helps enormously to be focused on numbers as calculang is, and not general programming.
[1] https://6615bc99ad130f0008ecc588--calculang-editables.netlif...
In high school, I got a D in first semester calculus, and declared myself "done" with math. Up until that point, I had used a calculator as a crutch, but calculus required symbolic manipulation that could not be faked. My dad's influence was stronger than my mom's -- she was fearless, but he frequently spoke of how "bad at math" he was. And that was an easy out. I was just taking after my dad, "bad at math!"
Around that time, I went from noodling around with programming, to taking it seriously. I learned a bunch of programming languages, and landed a web development job straight out of school. I wasn't just done with math, I was done with school, too!
After a few years of that, I got bored with web dev, and decided I'd rather try my hand at engineering of some sort. I enrolled in community college, and quickly discovered that all of the engineering courses had... math prerequisites. So I bit the bullet, and for the first time, applied myself. Turns out that I wasn't intrinsically bad at math; I just hadn't been sufficiently motivated! I was paying my own way, so I ended up taking a job in the tutoring center. As I transferred to university, I found myself taking more and more of these math "prerequisites" and not following through on the engineering courses. I matriculated as a math major, and today I've got a PhD in math.
In my mid-20s, I didn't even believe that I could be Math A person. But I got good at that stuff, for the sake of engineering! And then I went straight through to Math B (and, almost amusingly, forgot most of those Math A skills -- watch out, unused skills get rusty!)
I actually credit my programming experience for the intermediate transition from my "bad at math" late teens to my "willing to try Math A" mid-20s. Programming taught me to think rigorously, and abstractly. So I must push back on the notion that this is intrinsic to a person, and must be learned at an early age: I wasn't doing Math B until after 25 when my brain was supposedly fully mature. And while I did have the benefit of a formal education, I would assert with some confidence that the relevant detail there was that I was in a cohort of students who were working together, beholden to homework deadlines and exams -- because math is hard and it's really easy to get demoralized without that external reinforcement.
I have also found that programming is the gateway drug to Math B. Thanks to Functional Programming and Type Theory I eventually found may way into Abstract Algebra, Topology, and Category Theory... Wish I had time to go back and study these with a mentor, though!
This is what I would tell people, but just use a weight lifting analogy. If you're out of shape, of course you will struggle to do any sort of exercises. But if you keep working at it in a disciplined way, while being kind to yourself and praising your progress, eventually you can get good at it.
Calculus is a tiny bit of new material plus a shit ton of rote algebra. Even undergrad prob and stat was 80% algebraic manipulation.
Abstract math (type B) is a very rigorous discipline that underpins the other kind used by engineers (type A). Type A is indeed learned by repetition along with understanding. It is very important to simply do the math to become better at it and understand what you can expect from your calculations.
Type B on the other hand far more about understanding. You will never understand the theory of a mathematical space and how to apply it, by simple repetition. That is a far more theoretical and creative endeavour. You need to learn it and apply it to understand it. I suppose you could call the process of applying it some kind of repetition, but in my opinion the insights comes from applying it to concepts you already know.
A formal learning path is a very good idea, because people with more knowledge know what order you can progress in, in such a way that you actually apply your knowledge in a natural way and build on previous learnings. And it is definitely a huge help that teachers can help you guide your learning when you are stuck.
Proofs in abstract algebra, for example, require the ability to quickly and correctly manipulate symbols on paper (using already discovered rules/lemmas/theorems).
The repetitive practice is in this manipulation of symbols. It takes a long time and deliberative practice to learn this skill. You just practice by doing symbol repetition in different contexts, instead of doing the same thing over and over again like multiplication tables, because your symbol manipulation abilities have to be general [1].
If you try to teach, you will quickly discover that there is a wide difference in this ability for math majors by their final years. And the students who have poor symbol manipulation abilities inevitably struggle at the higher level concept application, because they keep making mistakes in the symbol manipulations and having to redo it.
[1] Contrast the training of 100m sprinters (multiplication table), who only run 100m on a fixed track that they will eventually race on, and the training of cross country runners (symbol manipulation), who practice on a variety of routes, because their races are on different routes.
I think it's the key. Learning maths isn't something you can do on the side. It's countless hours of intensive active learning and problem solving. I don't see how it can be done outside an academic path. I remember my undergraduate program, we had 14 hours of class of maths alone a week, plus a 4-hours exam every other Saturday, and I was working several hours a day on top of this, most days of the week.
Maths can be fun, but who wants to do that kind of effort for the pure joy of learning?
The secret is that you can convert most type B math into type A by looking at steps in a proof as rules in a term rewriting system where the terms are mathematical expressions.
I've not found a book that makes this point completely explicitly, but most of those which cover sequent calculus get you half way there.
The rest of type B math is intuition which lets you guess at new conjectures and how to get you from the assumptions that you've made and the conjecture that you want to prove efficiently.
Um... yes, it's even more important in math B to be able to have, at your fingertips, all the theorems related to Ideals, Rings, Groups, Categories, Topologies, etc. This is why I re-read my math textbooks from time to time. You always miss some theorems, and they're often key to higher-level understanding.
I studied both A and B. In college, I declared a double major in math and physics. Then I went to grad school in physics.
Granted, it was one brain (mine) studying both subjects, so it should not be shocking that I learned both in the same way. Of course I practiced lots of problems and derivations in my physics class, but I also practiced and memorized lots of proofs in my upper level (i.e., more theoretical) math classes.
And truth be told, maybe even in my liberal arts courses as well. Thanks to programming, I got really good at typing. Thanks to owning a personal computer (one of the first at my college) I started writing and re-writing a lot. Repetition and practice even got me through those courses.
It was simply mercenary at the time, not wanting to waste time during exams recalling the easy stuff gave me more time to think about the hard stuff. But I think it did help me in the long run. I still use a lot of that stuff today, at age 60, though it's certainly more computer-aided than it was back then.
The answer is yes and it's the only way. You need to develop fluency to understand "Math B". It's only ungraspable right now because you haven't had enough of the right kind of practice. The right kind of practice is 1) well motivated for your curiosity 2) achievable.
If you feel comfortable with Math A but not Math B you might enjoy _Graphical Linear Algebra_[1], which is specifically that bridge!
As someone who is decent at Math B but mostly incompetent at Math A I suspect it comes down to the old analysis vs algebra opposition — being better at thinking about things visually/spatially vs linguistically. Both are trainable though.
I think the approach outlined here works well enough. When teaching us about adjunctions, our category theory lecturer used to have us recite the definition of a left adjoint at the start of every lesson, and he'd draw the diagram as we spoke. I can't say I can still recite it by heart but I do feel like I have a decent intuition for adjoint functors.
[1]: https://graphicallinearalgebra.net/
I was just thinking about this the other day. Personally, I think that math falls into two categories, though I think I would distinguish them differently from you (If I'm understanding you correctly). Its kind of like the difference b/t the hammer maker and the carpenter, the producer and the consumer. For me, mathematics (the kind you research and which is abstract and theoretical) is largely in the hammer maker camp. We'll call this math X, these guys are creating and polishing tools (aka in analysis providing proofs and arguments for why the real numbers can be considered complete or that a derivative actually can be taken on a given class of functions).
Then there is Math "Y". This is all the guys who use those things the X guys are selling, the proverbial hammers they have produced. They assume the X guys did their work correctly and that when they use the products they've bought i.e. the rules, theorems and strategies developed by the X guys, to solve a particular equation or problem, the answer is correct. For example, they assume the limit of the sum of two polynomial functions on the reals is equivalent to the sum of the limits of those functions - they don't care about all the nitty gritty details and justifications - the X guys figured all that out for them. They Y guys are much more concerned with figuring out how to get the rocket into space or ensure the skyscraper is soundly built.
I would say from my experience, very little of mathematics education is in the X camp, I'm not saying this is a bad thing though, perhaps it is similar to the fact that most programmers are not compiler programmers or programming language creators :)
Math as done by mathematicians 100% involves knowing the ins and outs of core concepts by heart. You can’t begin to derive new theorems about things you aren’t fluent with