You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you have ever taken CS in high school or college, you have probably been taught about how to represent negative numbers in binary using 2's complement.
categories: math, constant 2nd difference, constant second difference, proof, derivation, recurrence, recursion, closed-form solution, nth term
6
6
permalink: /2nd-diff
7
7
---
8
8
9
-
## 1. Preamble<aname="preamble"></a>
9
+
## 1. Introduction<aname="intro"></a>
10
10
11
-
During junior high school, I was introduced to a formula for finding the n<sup>th</sup> term of a certain sequence with a second difference that went something like:
11
+
During a math class in junior high school, I was introduced to a formula for finding the n<sup>th</sup> term of a certain sequence with a constant second difference that went something like:
12
12
13
13
T<sub>n</sub> = 1/2(n)<sup>2</sup> - 1/2(n) + 1, for a sequence `1, 2, 4, 7 ...` and n >= 1.
14
14
15
-
At first, the formula seemed quite random (similar to the quadratic formula) and I could not wrap my head around it at the time.
15
+
The teacher never really explained it though, so it was just a mysterious formula to me at the time.
16
16
17
-
I wondered how adding a second difference could make the trivial arithmetic formula so complex, and I was inspired by a textbook I was reading ("Concrete Mathematics" by Donald Knuth), so I tried to derive the formula myself.
18
-
I also did not like to use things I did not understand, and there is no better way to understand something than to make it yourself from scratch.
19
-
20
-
I wrote this blog post to share in hopes that someone may find it useful.
17
+
Later in college, I was inspired by a textbook I was reading (Chapter 1 of Concrete Mathematics by Donald Knuth on Recurrence Relations) and remembered the mysterious formula, so I tried to derive it myself to better understand it.
21
18
22
19
## 2. What is a 2<sup>nd</sup> Difference?
23
20
24
21
Say there is a sequence `1, 2, 4, 7 ...`.
25
22
You may have come across quite a few of these types of sequences on IQ tests and whatnot, and it is easy to find that the fifth term is 11 and so on.
26
23
27
-
However, it is obvious at a glance that the sequence does not follow the familiar arithmetic or geometric formulas, so we cannot yet find an arbitrary n<sup>th</sup> term of the sequence without knowing the previous terms.
28
-
Finding the general formula for this will be the goal of this derivation.
24
+
However, it is obvious at a glance that the sequence does not follow the familiar formulas for finding the n<sup>th</sup> term of arithmetic or geometric sequences, so we cannot yet find an arbitrary n<sup>th</sup> term of the sequence without first knowing the previous terms.
25
+
Finding the general closed-form solution for this will be the goal of this derivation.
29
26
30
27
The difference or ratio between every term and its subsequent term is not constant, unlike what is needed for a+(n-1)d or ar<sup>n-1</sup> to work properly.
31
-
Instead, the difference (which we will now call the 'first difference') increases by a constant amount as the sequence goes on.
28
+
Instead, the difference (which we will call the 'first difference') increases by a constant amount as the sequence goes on.
32
29
33
30
We can see this clearly if we construct a new sequence from the first differences:
34
31
@@ -44,15 +41,15 @@ so the sequence of first differences is:
44
41
45
42
`1, 2, 3 ...`.
46
43
47
-
Unlike the original sequence, it is easy to see that this sequence has a constant difference of one, so the n<sup>th</sup> term can be found using the familiar formula (albeit with some notation modifications):
44
+
Unlike the original sequence, it is easy to see that this sequence has a constant difference of one, so the n<sup>th</sup> term can be found using the familiar formula (albeit with some modifications to notation):
48
45
49
46
(d<sub>1</sub>)<sub>n</sub> = a<sub>2</sub> + (n - 1)d<sub>2</sub>, for n >= 1,
50
47
51
-
where (d<sub>1</sub>)<sub>n</sub> is the n<sup>th</sup> first difference, a<sub>2</sub> is the first term of the sequence of first differences (a<sub>1</sub> would be the first term of the original sequence), and d<sub>2</sub> is the difference for the sequence of first differences (or the second difference).
48
+
where (d<sub>1</sub>)<sub>n</sub> is the n<sup>th</sup> first difference, a<sub>2</sub> is the first term of the sequence of first differences (a<sub>1</sub> would be the first term of the original sequence), and d<sub>2</sub> is the constant difference between each term in the sequence of first differences (which we will call the 'second difference').
52
49
53
50
## 3. Derivation of the Formula
54
51
55
-
Using the approach we naturally used to find that 11 was the fifth term in the original sequence earlier, we can model the sequence as a recursive problem:
52
+
Taking inspiration from how we intuitively found that 11 was the fifth term in the original sequence earlier, we model the sequence as a recurrence problem:
56
53
57
54
T<sub>1</sub> = a<sub>1</sub>;
58
55
@@ -64,13 +61,13 @@ Note that it is (d<sub>1</sub>)<sub>n-1</sub> and not (d<sub>1</sub>)<sub>n</sub
Which matches what I wrote on the [preamble](/2nd-diff#preamble).
145
-
You can try out a few examples to check for any counter-examples, but you will not know for certain if it will always be correct unless you prove it, which will be talked about in the next section.
141
+
Which matches what I wrote in the [introduction](/2nd-diff#intro).
142
+
You can try out a few examples to check for any counter-examples, but you will not know for certain if it will always be correct unless you prove it, which is what we will do in the next section.
146
143
147
144
## 4. Proof by Mathematical Induction
148
145
149
146
Continuing from the previous section: the derivation makes sense, and we can try a few examples, but how do we know for sure that there is no counter-example somewhere we did not check?
150
147
We need to be mathematically rigorous to show our formula will always work.
151
148
152
-
Fortunately, there is a convenient method called "proof by induction" that fits nicely for our sequences situation.
153
-
If we show that our formula is true for a base case and also that it is true for any n if it was true for (n - 1), we can confidently conclude that the formula is true for all n.
149
+
Fortunately, there is a convenient method called "proof by induction" that fits nicely into our sequences situation.
150
+
If we show that our formula is true for a base case and also that it is true for any n if it was true for (n - 1), we can confidently conclude that the formula is true for all positive integer n.
= a<sub>1</sub> + (1 - 1)a<sub>2</sub> + 1/2(1 - 2)(1 - 1)d<sub>2</sub>, for n = 1
207
-
208
-
= a<sub>1</sub> + (0)a<sub>2</sub> + 1/2(-1)(0)d<sub>2</sub>, for n = 1
209
-
210
-
= a<sub>1</sub> + 0 + 0
211
-
212
-
= a<sub>1</sub>.
213
211
214
-
Which matches our definition, and hence proves that the formula is true for n = 1.
215
-
Combining that with the earlier [induction step](/2nd-diff#step), we get that it is also true for n = 2, n - 1 = 1.
216
-
Then that also shows that the formula is true for n = 3, n - 1 = 2.
217
-
This then continues on infinitely, which shows that our formula holds true for any n.
212
+
### 4.3 Conclusion
218
213
219
-
QED.
214
+
Combining the [base case](/2nd-diff#base) with the [induction step](/2nd-diff#step), we get that it is also true for n = 2 (as it is true for n = 1), which also shows that the formula is true for n = 3 (as it is true for n = 2) and so on.
215
+
This continues infinitely, showing our formula holds true for any positive integer n. QED.
<metaproperty="twitter:title" content="Dark Mode without Javascript" />
19
19
<scripttype="application/ld+json">
20
-
{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-09-07T00:00:00+08:00","datePublished":"2024-09-07T00:00:00+08:00","description":"Alternative title: System default theme for webpages","headline":"Dark Mode without Javascript","mainEntityOfPage":{"@type":"WebPage","@id":"https://de-soot.github.io/dark-mode"},"url":"https://de-soot.github.io/dark-mode"}</script>
20
+
{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-09-07T00:00:00+08:00","datePublished":"2024-09-07T00:00:00+08:00","description":"Alternative title: System default theme for webpages","headline":"Dark Mode without Javascript","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/dark-mode"},"url":"http://localhost:4000/dark-mode"}</script>
0 commit comments