ID:2109363
 
What's weird is that in High School I never really had a fascination for mathematics, but ever since getting out almost four years ago, I've grown into this weirdo who does a little happy dance when I discover some new algorithm or something.

I can't be one of the only people on here who actively loves programming things just to see how the variables and mathematics change the output. Like, yesterday I looked up the simple Elo rating algorithm and I've been having a ball just screwing with it and its variants for the past day...

Am I a nerd? Because I feel like a nerd.
Lemme put it this way.

If I ever see my 10th grade geometry teacher in a dark alley somewhere...

What's weird is that in High School I never really had a fascination for mathematics, but ever since getting out almost four years ago, I've grown into this weirdo who does a little happy dance when I discover some new algorithm or something.

Same here. I've always had somewhat of a natural affinity for math (it would be of my highest scoring subjects, up there with English-related subjects), but I never fully embraced it while in traditional school, so eventually my skill got put on the backburner. It wasn't until the last year or so that I discovered the power behind numbers, even beyond programming-related calculations.

Am I a nerd? Because I feel like a nerd.

You sound human to me.
In response to EmpirezTeam
do you have like a folder of gifs and pictures for every scenario?
In response to Zagros5000
Zagros5000 wrote:
do you have like a folder of gifs and pictures for every scenario?

yeah its called google images.
I like math, and i am a nerd.
I've spent the last few days trying to figure out the constructions of the hyperreals, surreals, and p-adics. So yeah, I'd say I'm a wee bit of a math nerd.
Surreal numbers are constructed inductively as equivalence classes of pairs of sets of surreal numbers, restricted by the condition that each element of the first set is smaller than each element of the second set. The construction consists of three interdependent parts: the construction rule, the comparison rule and the equivalence rule.

wat dafuq did i just read
In response to EmpirezTeam
I'll explain as best I can later, but I just got home from a horribly hectic day at work and I'm exhausted.
Okay, so, I'll try and explain each of these terms by using the rational numbers as an example, at least to the best of my ability.

One way of defining the rational numbers is as ordered pairs (a,b) of integers* a, b with the restriction that b is non-zero. For example, (1,2) is a pair denoting the rational number ½, and (3,4) is a pair denoting the rational numbers ¾. But, note that (2, 4) and (-1, -2) and (14533, 29066) and infinitely many other pairs all indicate the rational number ½. We don't want to distinguish all these pairs, because in the algebra of the rationals these distinctions are not meaningful. Thus, we define an equivalence relation on these pairs, and say that for two pairs (a,b), (x,y) are equivalent (that is, (a,b) ~ (x,y), read as "(a,b) is equivalent to (x,y)") if and only if a/c = x/z and b/c = y/z, where c = gcd(a,b) and z = gcd(x,y), where the gcd is the greatest common divisor.

For example, consider (104, 176) ~ (-286, -484) because gcd(104, 176) = 8 and gcd(-286, -484) = -22**, and 104/8 = -286/-22 and 176/8 = -484/-22. Specifically, these two correspond to the rational number 13/22. But, note that (2, 7) ~/~ (2, 3) because 7/1 != 3/1.

Now, an equivalence class is a collection of all of these pairs that are equivalent under this relation. The set of all rational numbers is typically denote Q, so notationally if we were looking at the equivalence class of, say, (3, 9), then that would be {(a,b) in Q : (a,b) ~ (3, 9)}, which is read as "the set of all (a,b) in Q such that (a,b) is equivalent to (3, 9)". Now, because our arithmetic operations should respect the equivalence relation, we don't have much of a need to distinguish members of the equivalence class***, so we'll often talk of simply doing arithmetic on the equivalence classes themselves. For example, if we label ½ = {(1, 2), (2, 4), (3, 6), ...} and ¾ = {(3, 4), (6, 8), (12, 16), ...} then we can just talk of adding ½ + ¾ and in a precise sense "ignoring" what ½ and ¾ refer to.

I'll explain more later, if anyone is interested.

*We could also say that we're constructing the rational numbers from the integers. That is, we're using the rules that we already have about integers to say what we can do with the natural numbers.
**Strictly speaking, one would often consider the gcd of two negative numbers to be positive depending on how you define it, but that's an unnecessary complication for this example.
***For mathematical purposes, at least. For computational purposes, there are often some members of the equivalence class that are preferable. E.g., 1/2 + 3/4 is a little easier than 8675309/17350618 + 1998/2664.
I love me some math, and I love algorithms even more. Some of my favorite programming books are about algorithms, and I've been drooling for years over the possibility of owning Knuth's seminal series on the subject.