What's the difference between 0/0 and 1/0?
blog.plover.com
blog.plover.com
Of course the answer to both questions is negative but it's the consequence of a much more general fact: In any field the additive zero element can never have a multiplicate inverse. (If it did, the field's other algebraic operations would suddenly lead to contradictions.) And in this sense, there is also no difference between the expressions 1/0 = 1 · 0⁻¹ and 0/0 = 0 · 0⁻¹ because 0⁻¹ simply doesn't exist.
I've always found this explanation much more illuminating. No matter what you do, you can never have 0⁻¹!
To be fair this is mathematical pedantry when we're talking about trivial objects. But in principle it's meaningful because every field you can construct will lose critical properties if you allow one element to be both the additive and multiplicative identity. Unfortunately authors don't always make it clear that you need both existence and uniqueness when they state the field axioms.
> [the] warped numbers are like a hole that you can fall into but you can't climb out of, and 0/0 is a deeper hole inside the first hole.
This makes giving any kind of sense to 0^(-1) even harder for me (when 0 is a sedenion).
Technically, many definitions of localization do allow for zero/zero divisors to be included (we can use any multiplicatively closed set) however by the definition of localization all of the elements in our localized ring become equal to each other.
The mathematical meaning of a/b = c/d in a general ring is that there exists some value s in the set of legal denominators where s(ad - c*b) = 0. If 0 is an allowable denominator then a/b = c/d for every a,b,c,d.
Thus, 0/0 was an indeterminate value, and 1/0 was seen as an impossibility.
Boole's example: if m means "is mortal" and h means "is human", then saying "there is no immortal humans" is h AND NOT m = 0, and Boole explains that from it you could deduce: m = h + 0/0 and not h meaning "mortals are humans and something indeterminate which is not human"
here it's still George Boole trying to cram normal arithmetics into logic, but still.
This is false. This relies on an assumption not stated - that f is continuous.
For a simple counterexample:
f(x) = 1, x=0
f(x) = x, x!=0
g(x) = x
Limit of the ratio as x approaches 0 is 1.
this is what's going when the article say "slides smoothly in toward 2"
https://www.google.com/search?q=(x^2%2B2x)/x
and this is another common example, which "slides" toward a different number (which is why when you see the division alone is "undefined" and only acquires value in context)
https://www.google.com/search?q=sin(x)/x
but beyond the "just apply limits" party trick it's the implication however that's the most interesting part, and I'll use the words from here[1]:
> Things that appear to be zero may be nonzero in a different dimension (just like i might appear to be 0 to us, but isn’t)
[1] https://betterexplained.com/articles/why-do-we-need-limits-a...
For x⋅0=0 (i.e. 0/0) any number fits. Is there such a thing as an anti-null? In the infinite set, 0/0 is infinite.
If a/0 isn't any number if you exclude 0, then a/0 should be zero. Tada!
...of course zero wasn't in the set, which makes it a null
Division is the inverse of multiplication (a * b / b = a / b * b = a). However, multiplication by 0 is not injective (we have x * 0 = 0 for every x), so multiplication by zero can't have an inverse operation, and both 0/0 and 1/0 are undefined.
1/0 is undefined because no value of x satisfies 1/0 = x.
0/0 is indeterminate because any value of x satisfies 0/0 = x.
https://en.wikipedia.org/wiki/Cylindrical_harmonics
?
I was being slightly facetious, but any average person will tune out a complete derivation after 15 integral signs, 50 terms, and 100 factors unless there is a pleasing narrative woven throughout the discussion.
I like this one: https://blog.plover.com/math/60-degree-angles.html
For the article what it try to do is using limit to see whether the difference converge to a finite number
diff(x) = one(x)/zero’(0) - zero(x)/zero’’(0)
Where one and all zero function approach 1 and 0, smooth etc
Find diff(x) when lim x-> 0
Trying to dig this up I found these:
I am probably showing my bias as an algebraist here, but there is a purely algabraic way of seeing the difference between 0/0 and 1/0, which is (in my view) more intuitive.
The standard way of constructing the field of fractions is to start with the integers (or your choice of base ring), and define an equivalence relation on the set:
Q = { (x,y) | x,y are integers, y!=0 }
Given by: (a,b) ~ (c,d) iff ad = bc
Intuitively, the pair (a,b) is the fraction a/b, and the equivalence relationship is defining that: a/b = c/d is equivalent to ad =bc (assume b,d are non-zero). From that you can define multiplication and division in the expected way and verify that the resulting structure is a field that behaves as you would expect the rationals to behave.One thing to notice in the above view is that the prohibition on dividing by 0 is entirely artificial. By removing 6 characters from the above definition, we arrive at the following structure:
W = { (x,y) | x,y are integers }
(a,b) ~ (c,d) iff ad = b
Let [W] be the set of equivalence classes on W, and [Q] be the set of equivalence classes on Q.If we define addition and mulitplication on [W] and [Q] in the "obvious" way, then [Q] behaves identically to the field of rational numbers (indeed, this is a common construction.
Further, [W] contains [Q] as a subset, so we can view [W] as an extension to the rational numbers.
We can verify that [W] contains exactly two elements not present in [Q], which I will denote:
⊥ = [(0,0)] = 0/0
∞ = [(1,0)] = 1/0 = a/0 for a!=0 and a!=⊥
The question now becomes, is "division" meaningful on [W]. If we keep the same definition of multiplication as with [Q], it is clear that we cannot define an inverse operation [0].However, we can define a unary operation called the reciprical, given by: /[(x,y)] = [(y,x)]
And define a division operation as multiplication by the reciprical. So:
[(a,b)] div [(x,y)] = [(a,b)] * (/[(x,y)]) = [(a,b)] * [(y,x)] = [(ay,bx)]
And note that, on the subset [Q], this operation is identical to our standard notion of division.
With this, we have extended [Q] into a structure, [W], for which division by 0 is defined.
Further, by doing so, we added exactly 2 elements: 0/0 and 1/0. So we can see that 0/0 and 1/0 are distinct (in this structure) in a way that 1/0 and 2/0 are not. (as 1/0 ~ 2/0 in the same way that 1/1 ~ 2/2)
In fact, the behaviour of ⊥ ∞ should not be suprising to this forum.
⊥ behaves essentially like NaN in that it "absorbs" the other number in all operations. So:
x + ⊥ = ⊥ and
x * ⊥ = ⊥.
∞ behaves mostly like you would expects: 0 * ∞ = 0,
x * ∞ = ∞ | x != 0 and x != ⊥
x + ∞ = 0 | x != ⊥
The main "weirdness" here is that ∞=-∞In fact, this [W] I have been describing is an established structure refered to as a Wheel [1], and can be constructed over the real or complex numbers just as easily (it can also be viewed as an extension of the more well known Riemann sphere by adding ⊥)
[0] I will note that the lack of division by 0 means that we cannot define an inverse operation for multiplication in [Q] either.
You are correct that my original post is mistaken. I wish I could attribute that to a typo, but it was really me just working from memory without checking my work. A correct equivalence relation for a wheel over integers is as follows:
(a,b) ~ (x,y) iff there exists s1,s2 (both non-zero integers) such that:
(s1 * a, s1 * b) = (s2 * x, s2 * y)
When b,y are non zero, this is the same as the equivalence relationship on fractions.An interesting thing is they have the value -0 so you can set a=-0 and 1/a returns -Infinity.
One has zero nothings in it...? It also has an infinite number of somethings in it. And each something has another infinity of divisible somethings within that.
Therefore anything that isn't nothing (in the universe of abstraction which doesn't exist in reality, but whatever) is infinite.
OBVIOUSLY.
NOTE: Hasn't read the article and is mathematically challenged.
1/0 definitely has no real value 0/0 might have one, but you've framed the question poorly -- if you rewrite the problem in a different way, you might find the value of 0/0 for your case eg, by applying L'Hôpital's rule
In short, the extensions work and at times are convenient but work less well than the rules of the real numbers; the extensions are a bit tricky and have to be careful.
$ node
> 1.0/0.0
Infinity
> 0.0/0.0
NaN
Never change, Stack Exchange.
https://serverfault.com/questions/966765/private-network-dns...
Closed due to "off-topic". With a comment that basically says "I don't like your problem, try to be more normal."
I suggest having a look at dnsmasq [1]:
> -S, --local, --server=[/[<domain>]/[domain/]][<ipaddr>[#<port>][@<source-ip>|<interface>[#<port>]]
> Specify IP address of upstream servers directly. Setting this flag does not suppress reading of /etc/resolv.conf, use --no-resolv to do that. If one or more optional domains are given, that server is used only for those domains and they are queried only using the specified server. This is intended for private nameservers: if you have a nameserver on your network which deals with names of the form xxx.internal.thekelleys.org.uk at 192.168.1.1 then giving the flag --server=/internal.thekelleys.org.uk/192.168.1.1 will send all queries for internal machines to that nameserver, everything else will go to the servers in /etc/resolv.conf.
[1]: http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html
Side note: I find a similarity between SO and HN. Both can feel pretty hostile and over-the-top with penalizing you for not saying things "the right way." But as much as it does annoy me sometimes, these are two of the most useful websites for my purposes.
has a long discussion of this problem.
Not sure if the curators are unaware or simply don't care as long as they're still getting fresh questions for whatever's shiny and new.
In practice, nonetheless, it is now the last place I look, not the first, and also the last place I contribute. There are plenty of other forums for relevant and current answers, and without dripping poison.
Would you mind listing a few examples?
In quite a few cases the official dev forums for a particular vendor or technology are actually very active, and I think that's because forums just got a lot easier to implement. For example I get a lot back from the Apple Developer forums (not the public discussion community, which is hot garbage) and Vue.js's own forum.
A fair chunk of what I previously used Stack Overflow for (finding code snippets to learn from) has been replaced by the ease of browsing public repositories on Github.
For the first 5 years or so, Stack Overflow was amazing. For newer subjects that haven't changed significantly in a the last couple years, it's probably still amazing, but the shelf life on this is much shorter in general, because new subject generally change quite quick (conversely, when Stack Overflow was first filling up, all the C/C++.Perl/Python/Bash etc stuff were long past their high churn stages).
When all these sites were new and shiny and still filling in the gaps, this wasn't a problem. Now that we've gotten a decade or more of some of them, they have the problem of being filled with information that was highly relevant at one point, but as it's lost relevancy over time is still treated as relevant.
As the timeline of major changes to these crowd-sourced repositories of knowledge goes, I think the next major advance will be a good algorithm to degrade relevancy (points?) over time with the ability for people to "vouch" for data as still accurate, or to "refine" data to limit the scope it applies to when the subject has expanded and it no longer is as accurate as it was because of that.
E.g. an answer for a Python which works only for Python 2.X but at the time applied generally because Python 3 had not been released. After Python 3 comes out, that answer either needs to be less relevant because it's only sometimes correct, or refined to note where it does and does not apply, in which case it retains its relevancy and should hopefully not crowd out data for the portions of the subject it does not apply to (Python 3 in this case).
I'm convinced this, or something like it, is the next big thing for crowd sourced data, as it becomes more and more important as our collective online data ages.
Edit: It's worth noting Google has likely already solved this, at least for their problem space. Then again, the way Google could be considered to be a repository of crowd sourced data is slightly different than most sites. That said, I wouldn't be surprised to hear they have a solution, either in place or planned, for how to deal with this affecting the knowledge graph.
- [python-2.x] https://stackoverflow.com/questions/tagged/python-2.x
- [python-2.6] https://stackoverflow.com/questions/tagged/python-2.6
- [python-2.7] https://stackoverflow.com/questions/tagged/python-2.7
- [python-3.x] https://stackoverflow.com/questions/tagged/python-3.x
- [python-3.6] https://stackoverflow.com/questions/tagged/python-3.6
- [python-3.7] https://stackoverflow.com/questions/tagged/python-3.7
- [python-3.8] https://stackoverflow.com/questions/tagged/python-3.8
and so on.
Part of the problem is that at the time of the question the tags might be entirely sufficient but become less so as the the subject changes over time and new tags are available.
Also you could try retag a question with the appropriate version tag, e.g. [python-2.x] or [python-3.5], so other people will know that when using a newer version of Python there might be other (better) answers.
I use python versions to illustrate the point. That doesn't.meannit encapsulates all the nuances. For example, take a question that asks about the best way to handle HTTP client needs in Python that doesn't include an answer suggesting the requests module[1] because it predates it? Its not strictly tied to a python version, but it does.auffwr for being older, and adding a new, better answer years later may take years more to be ranked high in the answers (if ever). Can.that problem. Be solved with tags? Maybe. Can it. Be solved well by fairly free-form community decided tags? I doubt it.
> Also you could try retag a question with the appropriate version tag, e.g. [python-2.x] or [python-3.5], so other people will know that when using a newer version of Python there might be other (better) answers.
Yes, and people could instead just volunteer their time to accurately rate every question and answer on some absolute scale, say 1 to 1000. Unfortunately systems like that don't scale because it requires too much effort from the individual, and people tire of it.
What sites like Stack Overflow and Reddit spearheaded was to instead give users many tiny, easy, and individually insignificant decisions which when taken in aggregate allowed for the emergent behavior to show its value.
I suspect we'll see a similar solution (at least in part) to this, where some small behavior is incentivized to not just generate and rate the data, but curate it over time. Tagging may be part of that solution, but I think it's fairly inadequate in its current incarnation.
1: I'm assuming requests is still popular. I'm not really a python programmer, but it's more common than my preferred languages so I figured it would convey the point easier.
For instance, Ember.js is still seeing lots of development and has changed drastically in some ways, but every time I've searched SO it almost always brings up questions from ~2013. I'm convinced that a lot of the so-called "learning curve" would go away if Stack Overflow was wiped out of existence, which is a weird thing to say having once been a big fan of Stack Exchange.
A better way to find solutions is to just join Slack/Discord/IRC servers for different software communities and ask questions there.
Don't even get me started on the toxic attitudes on SE.
Working around other people's hangups is a real pain, but that's basically what a large portion of participating in a pseudo-anonymous internet forum is about, unfortunately.
If you look honestly at humanity, the motivations of the average person are selfish and unenlightened. An internet mod enjoys authority and an elevated sense of self worth by putting other people down.
There really are some people genuinely enthused by virtues such as intellectual discovery and shared dignity, but they're in short supply and likely to be outnumbered in the population clamoring to become internet mods.
I've had a few posts removed from a SO site after I corrected someone who happened to be a mod there. And the Innocence Project fights to give innocent people their lives back because some prosecutors don't want a scratch on their resume.
I think it would be better if we acknowledged these realities more-often rather than pretending all the evil people in the world died in Nazi Germany, or wherever, and they weren't just normal people.
I think this is also why I always retreat into nerdy or intellectual endeavors. Not because I am particularly intelligent, but because the real world is so ugly.
There is no real excuse here as far as human cognitive ability goes. The problem is with morality.
I think these examples show that as humanity goes forward I think moral integrity/intelligence/bravery is more important to develop than our purely technological and scientific capabilities.
The third or fourth cover actual use case like solutions, of course that leaves more room to quibble and vote down, but you learn more from it.
It's the difference between answering a trivia question about a car vs actually fixing a car.
Why post on some else's site? Especially quality work that took real effort. I'm guilty of it too (although nothing so cool is this article).
We complain about the web becoming dangerously centralized compared to the past. Much of this is because of free high grade labor that adds value to an already dominant organization.
In one case an organization that is much complained about becomes even more of a necessity and so has less incentive to fix itself. In another the reverse happens.
In hyperbole: in one case you may as well not post it, in the other case you may as well have not written it.
It's a good read but he missed his clear mission. One extra paragraph?
"Then 2 + 2 could equal 7!"
If you go through the examples of how they derive that, you can actually fix it quite easily by assigning each 0/0 pair to different variables. This prevents the underhand commutative rule violation.
Then all that you are left with is linear algebra. Whether that equation is solvable depends upon how many constraints you have. But it at least doesn't cause math to violate itself.
Taking the author's argument that a/b = the number x, for which x * b = a, it's easy to draw this out to it's logical conclusion:
For numerators (that is: a) other than 0, you get impossible equations. That is: 1 / 0 = "the number which, when multiplied by 0 is 1." In equation form: x * 0 = 1 Well no such number exists. Therefore x can be said to be "no number."
But for the case where a and b are both zero, the equation becomes: x * 0 = 0. And in this case, the answer is any number, since any number multiplied by zero = 0.
So we can think of 0 / 0 as "any number" and non-0 / 0 as "no number".
That means assigning each instance of 0/0 to a variable is a very good solution. Because we use a letter to represent an unknown number in basic algebra, but in linear algebra we also use a letter to represent a value which could be any number. As in the equation for a line: y=mx+b, where x and y can both take on any value.