6 ms·
How does, say, encoding and decoding error-correcting codes require analysis in any way? I protest that formal power series and formal derivative should not be
by sanxiyn 12y ago
How does, say, encoding and decoding error-correcting codes require analysis in any way?
I protest that formal power series and formal derivative should not be counted under calculus or continuous math. You can define and prove properties of formal derivatives without any reference to continuum whatsoever.
Math has unity, real numbers are great, but I think people are overselling continuous-discrete connections. Dividing line between continuous math and discrete math is one of the most clear boundary in math, and there are huge amounts of useful discrete math which does not require continuous math.
If you work on machine learning, learn continuous math. On the other hand, if you work on programming language, learn logic and discrete math instead of continuous math. If you work on web applications, well, good luck. :)
- ColinWright 12y agoMy PhD is in discrete math and graph theory, and yet I find calculus and probability to be indispensable tools. I devise algorithms that work on images and streams of text, and yet I use power series and vector spaces over the complex numbers to analyze them. Writing code to implement error-correcting codes doesn't use continuous math, but some error-correcting codes are best understood as working in polynomial rings over finite fields, and many of the ideas and tools are directly linked to similar structures in infinite continuous spaces. Limiting yourself to learning only about discrete math that does not require any continuous math is like limiting yourself to using only one style of programming, or one language, or one operating system, or one hardware platform. If you don't mind being so limited, fine. If you want to understand things in greater depth and thus give yourself more opportunities and have more tools in your arsenal, learn both. They support each other in ways you can't imagine without actually learning them.
- sanxiyn 12y agoI am not saying connection does not exist (it certainly does), but I am saying connection is oversold. They support each other, but they don't support each other that much. While I don't have PhD in math, I did learn calculus and probability. I am still not convinced that they should come before logic.
- ColinWright 12y agoSee, that's the thing. People who don't have all the tools to hand think that the connections are over-rated. People who do have more of the tools to hand think that it's much more important than is realized by people who don't have all the tools to hand. It's the blub[0] paradox all over again. I would suggest that you haven't (yet) learned enough to realize that the connections are much deeper, stronger, and important than you realize. It may well be that you don't need to know that the derivative of 3x^2 is 6x, but the influence on working with discrete math of a deeper understanding of continuous math is real, but subtle and hard to explain. Like Spock said when McCoy asked what it was like to be dead: McCoy: Come on Spock this is me, McCoy!! You really have been where no one has been before, can't you tell me what it felt like? Spock: It would be impossible to discuss the subject without a common frame of reference. McCoy: You're joking - you mean I have to die before we can discuss your insight on death? We can't all learn everything. I'm not advocating that everyone should get a PhD in cross-disciplinary math subjects, just as I'm not advocating that everyone should become fluent in Japanese, Russian, and Finnish, or that everyone should become fluent in Scheme, Haskell, and Erlang. What I am saying is that I, who do have a PhD in math, believe that the connections are more extensive and useful than you realize. [0] http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html
- ejk314 12y agoThe connections may be more extensive than the average software developer will ever see. But does that make them useful? How can unrecognized connections be useful? And if those connections are not useful without the higher education he/she will not receive, then what was the point in learning them?
- ColinWright 12y agoIf you'll never program in Lisp or Haskell, is there any value in learning them? Those who do learn them say yes, that doing so has changed for the better the way they think. Similarly other subjects in math that do not, on the surface, seem to be relevant.
- yodsanklai 12y agoThere are tons of areas of CS where "continuous maths" are needed. Not only ML. And even if not needed per se, "continuous maths" can help to build intuition about discrete results.
- sanxiyn 12y agoThere are tons of areas in CS indeed, and I am not familiar with all of them. While there are tons which require continuous math, it seems to me that it is equally true that there tons which does not require continuous math. Study of programming languages comes to mind for example.
- lambdaphage 12y agoHere is a non-rhetorical answer to your rhetorical question: http://www.inference.phy.cam.ac.uk/itila/ http://www.inference.phy.cam.ac.uk/itila/ See how far you'll get without calculus.
- sanxiyn 12y agoYou actually can get pretty far, Huffman coding for example. If throwing a tome is your style, I suggest going through http://www.cis.upenn.edu/~bcpierce/tapl/ http://www.cis.upenn.edu/~bcpierce/tapl/ or http://www.decision-procedures.org/ http://www.decision-procedures.org/ -- you can go through entire books without calculus.
- lambdaphage 12y agoI thought the claim was that you don't need calculus for coding theory, not that there exist branches of advanced mathematics where calculus isn't necessary. So it's germane to produce a book on coding theory and show that the mathematics of the continuum begins literally on page 2.
- stiff 12y agoWhether you are interested in coefficients or in the main variable, a complex power series is a complex power series, and you use the theory of complex functions. You don't just take derivatives of generating functions, you use the full package, including for example convergence criteria of infinite series - that's where the power of this approach comes from in the end, that large parts of the powerful apparatus of complex analysis can be used for solving discrete problems. I don't really see any significance in the fact that formal derivatives can be defined as discrete operations, especially this only works if the powers are natural numbers, which is not the case in general. All this is tangential in the end, there are certainly some specialized areas of CS that require less calculus than others, in general though you encounter calculus a lot in almost all areas of science and engineering, and the university is supposed to give you a broad foundation for your future career, so it should teach calculus to prospective scientists and engineers.