by seanhunter
6 subcomments
- My dad (an engineer not a mathematician) would use Newton-Raphson[1] to solve basically any problem that wasn’t very obviously linear. When I was a kid, some of my first programming memories were my dad getting me and my brother to implement Newton-Raphson in basic on an HP85a, getting me to implement Newton-Raphson in rpn on an HP calculator, debugging my dad’s (genuinely revolting) basic program[2] which wouldn’t run but (who would have guessed?) used Newton-Raphson to compute something or other.
He basically learned the one numerical root-finder and how to evaluate basic second derivatives and he was set for life on all the problems a career in chemical and process engineering could throw at someone.
[1] https://sheffield.ac.uk/media/31988/download?attachment
[2] He learned to program in FORTRAN and lived by the maxim that a determined FORTRAN programmer can write FORTRAN in any language.
- I think this is true for engineers as well! I enjoy getting to know the "theme" of my favorite coworkers over the years. There was:
* The fellow who always looked for the simplest hack possible. Give him the most annoying problem, he'd pause, go Wait a minute! and redefine it to have a very easy solution. He typed very slowly, but it didn't really matter.
* The one who truly loved code itself. He would climb mountains to find the most elegant, idiomatic way to express any program. Used the very best practices for testing, libraries, all that. He typed very fast.
* The former physicist who spent all his time reading obscure mailing lists on his favorite topics. His level of understanding of problems in his domains of interest was incredible.
I could go on and on! It's such a fun taxonomy to collect. All of these friends were marvelous at solving their particular flavor of problem.
As for myself, I like to think that my "trick" is to spend a long time poking at the structure of a problem. Eventually the solution I was looking for doesn't matter anymore, but the tools I developed along the way are pretty useful to everyone!
by zelphirkalt
0 subcomment
- My impression from math lectures as a CS student was, that you have to know the tricks, otherwise you just sit there dumbfounded, not knowing how you can make progress. Obviously, there will also be some kind of mathematical understanding of things at play, but a lot of the math stuff is pattern recognition and applying tricks. If you don't know them, it becomes very frustrating. I've not ever seen a way of teaching math though, that focuses on teaching learners these tricks or techniques. They always fell out of things on the side or the teaching person assumed you know it, or was surprised, that the learning people were not able to see it, or able to apply some trick. Or they just didn't care, as long as a small portion of the learners somehow were able to solve it, because then it obviously cannot possibly have been their way of teaching, but other students must have been lazy...
- Feynman wrote in his autobiography that much of his success came from having different mathematical tricks than most of his peers. So when they were stuck, he could sometimes make progress.
- I remember annoying one of our professors at the university. Whenever he was discussing a problem and found me falling asleep, he called my name. I woke up, said Chinese remainder theorem and with like 90% success rate it solved the problem handily. Yes, it was an Algebra class. We were still surprised how well it worked.
- My lecturer was once unable to solve a problem at the blackboard.
After trying for some time, he said he needed a short break to go back to his office to look at his notes. He brought the notes, and there he found a hint he had written for himself: "Use a trick"
- One of the answers links https://www.tricki.org/, which describes itself as a 'Wiki-style site with a large store of useful mathematical problem-solving techniques.' no longer maintained, but looks neat.
- For programmers I would say graphs or at least thinking in graphs is a common one.
Some would say SAT is also a handy trick but I’ve personally never used it.
- There is a joke in applied mathematics that we’re like Taco Bell. We all use the same six ingredients, mixing them in different ways.
For myself, I’ve found several techniques I use over and over again. Some of this is a “when you’re a hammer, everything looks like a nail.” But fundamentally there are only a handful of ideas. One professor of mine once said the only groundbreaking result in the past few decades was compressive sensing.
- - The hard part of a compiler is the parser. Find an existing parser, then emit using that language's web templates.
- Your DB query is better in an inverted index.
- Consider your data locality carefully.
- From a comment:
> These methods can be combined. First generalize the problem, making it more complicated. Then simplify along a different axis. –
Stig Hemmer
Very relevant to software design too.
- For most of my computer science PhD the “trick” was just to get the inductive definition to work, and then how to tweak it for the next paper. Or, get enough structuret we can do an “abstract nonsense” proof[0].
[0]:https://ncatlab.org/nlab/show/category+theory#AbstractNonsen...
by thr0waway001
0 subcomment
- In my world every triangle is a right triangle and I my hammer is the Pythagorean Theorem.
- One surprise of reading this thread was learning that Terry Tao is an active user of Math Overflow!
- A mathematician tricks.always.
There is no point to untrick the trickster. Misuse of your time
by ErroneousBosh
0 subcomment
- I do various things where for example I need to convert a linear movement of a control knob to a non-linear value.
Quite often I'll look at it and go "aha, it's exponential subtracted from a constant", and then go "aha, that doesn't quite work, it's a polynomial", and then fiddle with that for twice as long.
Eventually, "meh, sod it, I'll just sketch out a graph of what I want on paper, turn it into a lookup table, and LERP for the correct value".
It's amazing how quickly you get a sense of "I just need to bend that in a little so that if these are both up full it doesn't go absolutely mental", and plan your tables accordingly. Also ROM is cheap these days.
- I like the trick of adding zero to an equation.
- [dead]
by catchcatchcatch
0 subcomment
- [dead]