# Tag Info

125

I can think of a few courses that would need Calculus, directly. I have used bold face for the usually obligatory disciplines for a Computer Science degree, and italics for the usually optional ones. Computer Graphics/Image Processing, and here you will also need Analytic Geometry and Linear Algebra, heavily! If you go down this path, you may also want to ...

27

This is somewhat obscure, but calculus turns up in algebraic data types. For any given type, the type of its one-hole contexts is the derivative of that type. See this excellent talk for an overview of the whole subject. This is very technical terminology, so let's explain. Algebraic Data Types You may have come across tuples being referred to as product ...

13

Numerical Methods. There exist cumbersome calculus problems that are unique to specific applications, and they need solutions faster than a human can practically solve without a program. Someone has to design an algorithm that will compute the solution. Isn't that the only thing that separates programmers from scientists?

13

Automation - Similar to robotics, automation can require quantifying a lot of human behavior. Calculations - Finding solutions to proofs often requires calculus. Visualizations - Utilizing advanced algorithms requires calculus such as cos, sine, pi, and e. Especially when you're calculating vectors, collision fields, and meshing. Logistics and Risk ...

10

Part 1 I'm going to do something I decided I wouldn't do: try to nutshell my research on this topic. I'll go over on how the algorithmic O-notation must be defined, why it is probably not what you've been taught, and what other misconceptions float around this topic. I wrote this in the form of an imaginary discussion. The following discussion is based on ...

9

The short answer to your question is "no". Richardson's theorem and its later extensions basically state that as soon as you include the elementary trigonometric functions, the problem of deciding if $f(x) = 0$ (and hence if $f(x) = g(x)$, since this is the same as $f(x) - g(x) = 0$) is unsolvable. What's interesting about this is that the first-order ...

8


8

Different people have different views on what the definition of continuity should be, but the way I see it, we should define continuity to be computability relative to some oracle. For example: Definition: A function $f : \mathbf{X} \to \mathbf{Y}$ is continuous, if there is a computable partial function $F :\subseteq \mathbf{X} \times \mathbb{N}^\mathbb{N} \... 8 Arno's answer provides some very useful background reading material, I would just like to address your specific question about$\mathbb{R}$. Let us first recall a result by Peter Hertling, see Theorem 4.1 in A Real Number Structure that is Effectively Categorical (PDF here), about computable structure of the real numbers. Suppose we have a representation of$...

7

Your problem seems to reduce the following simpler question: Given two functions $F,G$ in class of functions, do we have $F(x)=G(x)$ for all $x$? (In other words, do they have the same value everywhere?) I don't know whether this is decidable, for this class of functions. If it is, then your problem should be decidable as well. For your problem, a ...

7

The fact is that there's very little chance you'll ever use calculus. However, virtually every other scientific discipline DOES use calculus and you are working on a science degree. There are certain expectations of what a university science degree is supposed to mean and one of those things is that you know calculus. Even if you'll never use it. It's okay ...

7

What $S(m) = T(2^m)$ means is that $S$ and $T$ are two different functions which produce the same result while taking inputs as $m$ and $2^m$ respectively. Function $S$ can be considered as an operator with two internal steps (otherwise, composition of functions): $S'$ operator: Input:$m$, Output:$2^m$ $T$ operator(original function): Input:output of ...

6

Computers don't use the hexadecimal number system for assembly language. Assembly language, or rather machine code, uses base 256 (typically): instructions are encoded in units of bytes. When displaying machine code, it is customary to use octal or hexadecimal. The reason is that in many cases, the byte is further subdivided into bitstrings, and identifying ...

6

Let me tell you the story of young Carl Friedrich Gauss. He was six years old and in a small school with one class for everyone from 6 to 16. His teacher needed some quiet time for some job, so he asked the kids to add up the numbers 1 to 1000. 30 seconds later young Carl Friedrich had the answer: 500,500. How did he do it? He changed the order and ...

6

Let $S(n) = T(n) - 2n - 2$. You can check that $S(n) = S(n-1) + S(n/2)$ (ignoring the fact that $n/2$ need not be an integer). This shows that the additive $n$ term doesn't make a big difference. For large $n$, we have roughly $S(n) - S(n-1) \approx S'(n)$, and so we are led to solve the differential equation $$S'(n) = S(n/2).$$ Consider $f(n) = \exp (\... 5 By definition, $$f(n) \in O(g(n))$$ means there exists some positive constant$c$, such that for any large enough$n$, $$|f(n)| \le c |g(n)|$$ or equivalently,$\lim_{n\to\infty} \frac{f(n)}{g(n)} \le c < \infty$Taking$\log$of both sides, for any large enough$n$it holds that $$\log (f(n)) \le log (c) + \log(g(n))$$ so, $$\frac{\log f(n)}{\log ... 5 Many people already provided applications in CS. But sometimes you'll find Calculus when you least expect: Regular-expression derivatives reexamined If you know automata this pdf might be worth reading. 5 And why are they exactly the same? I showed a math professor and he thinks they're labelled wrong but couldn't figure it out. I don't even get why there are two. When in doubt, check the book's errata (Page 4).$$ \sum_{R(j)} a_j = \Bigg( \lim_{n\rightarrow \infty} \sum_{\color{red}{{\substack{R(j)\\-n\leq j<0}}}} a_j \Bigg ) + \Bigg(\lim_{n\... 5 Let$f(n) = n/\log n$, and denote by$g(n)$the number of applications of$f$it takes to get$n$below some arbitrary constant. On the one hand,$f^{(t)}(n) \geq n/\log^t n$, and so $$g(n) \geq \log_{\log n} n = \frac{\log n}{\log \log n}.$$ To obtain an upper bound, notice that as long as$f^{(t)}(n) \geq \sqrt{n}$, we have$\log f^{(t)}(n) \geq (\log n)/...

4

If you picture these as distances along a road, it should be very intuitive. If (for example) you start at kilometer #7, then proceed through kilometers #45, #81, and #97, then the distances you travel are 45−7, then 81−45, then 97−81; and the total distance you travel is 97−7. Since the total distance is the sum of the individual distances, 97−7 =&...

4

Some more specific examples: Calculus is used to derive the delta rule, which is what allows some types of neural networks to 'learn'. Calculus can be used to compute the Fourier transform of an oscillating function, very important in signal analysis. Calculus is used all the time in computer graphics, which is a very active field as people continually ...

4

First, I want to say that it is not the case in general that an algorithm that minimizes the number of uses of the inputs is more accurate, at least for IEEE 754 floating point. For example, compensated summation. On the other hand, it's certainly the case that interval arithmetic can greatly benefit from knowing when two inputs are identical. As a ...

3

To these other excellent answers I add this point: rigor in testing. In creating test cases for some applications I have had to make use of calculus to predict expected running times, memory sizes, and choose optimal parameters when tuning data structures. This includes understanding expected rounding error, etc. While statistics is mentioned in other ...

3

Calculus -- the integral portion -- is used directly in CS as a foundation for thinking about summation. If you work through any portion of Knuth's Concrete Mathematics section on summation, you will quickly recognize conventions common to calculus: understanding some of the continuous case gives you tools to consider the discrete. Many of the uses of ...

3

The simplest reason is that, the computer does not see this, it only sees the binary. This really just aids the programer. Binary is a mess to look at, octal does not usually work since an octal number is three bits and historically computers have been using 16,32,64 bit instruction sets, none of which are divisible by 3, leaving hex as the best choice.

3

The Matrix in Computer Science (Brown) http://cs.brown.edu/courses/cs053/current/lectures.htm Coding the Matrix (Coursera) https://www.coursera.org/course/matrix Both are by Philip Klein http://cs.brown.edu/~pnk/

3

Interpolation. If by computer science you include numerical computing, any why the hell not, you often use trig functions in interpolation. Sometimes you have a sampled version of a function, say a sampled signal, $<u_0, u_1, ...>$. You would like to find a function $f(t)$ such that $f(n*T) = u_n$, for some time period, $T$. Or maybe you don't care ...

3

A hash table usually uses two different things: One, a hash function that maps an item to a hash code (with the requirement that equal items are mapped to equal hash codes), and two, a function that maps hash codes to locations in the hash table where the item would be stored. Hashing every UID to a different 32 bit hash code is trivial - just hash every ...

3

A hash function cannot avoid collisions when the size $M$ of the hash table is smaller than the size of the universal set $U$ that you are hashing. This is a consequence of the compression step. In your case, $U$ is the set of UIDs. Since $|U|=1000000$ and $M= 524309$, then $M < |U|$ and, therefore, collisions will inevitably occur (see Pigeonhole ...

Only top voted, non community-wiki answers of a minimum length are eligible