|
|
| Looking for math library |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
My post is too long for a.cc to process correctly, so I had to leave out some quotes relevant to my responses. Sorry about that. Evert said:
Edgar said: You're contradicting yourself. First you say they're equally valid and then you admit that powers of 10 can represent more numbers than powers of 2. That's not a contradiction. Of course it is a contradiction. If you can represent more natural numbers with one base than you can with another, that makes the other base less valid as a choice for what you want to use. Evert said:
Edgar said: Are powers of 10 a better representation of numbers than powers of 2 or not? Well, yes they are. No they're not. Powers of 10 can represent more numbers than powers of 2, so they are a better representation of numbers. Evert said:
Edgar said: Floating point numbers are broken if they can't represent a decimal string exactly. No they're not. They would be if they couldn't represent a binary string exactly, but they can. Computers use binary, not decimal. Computers may use binary, but guess what - computers are intended for human use, and humans use decimal. So for mathematical purposes, they are broken. Evert said:
Edgar said: I've said numerous times that I expect a string to be represented exactly in data format and to get the same string out when converting back. Why do I have to keep saying this? Because you keep not getting that you're spouting nonsense? You're the one spouting nonsense. Expecting perfect string decimal to data conversion and back is a reasonable expectation for my purposes. There's no good reason that 5.1/0.1 should ever equal something other than 51. You act as if I expect the common implementation of floating point numbers to do what I want it to do. I've said more than once I'm looking for a data type that will perfectly convert to data and back to string, so it should be completely obvious by now I'm not intending to use conventional floating point numbers. If you don't get that, too bad. Evert said: What's not true? The number of even integers being the same as the total number of integers? Shows your ignorance if that's what you meant. There are always twice as many total integers as there are even integers. The fact that the count of both approaches infinity is irrelevant. Evert said: And yes, x = x+n can be true if x is infinite. No, it can't. Subtract infinity from both sides and you have 0 == n? Since the condition was that n is non-zero, it is obvious 0 doesn't equal n. Infinity + 1 is not infinity. Infinity times 2 is not infinity. The entire number system breaks if you treat it that way, so I won't. Evert said:
Edgar said: I understand I can't exactly represent irrational numbers. I'm not trying to either. No, but you're trying to do something analogous. Representing exact decimal numbers exactly in data is not analagous to representing irrational numbers. @ Audric Edgar said: When scanned, "#.#" has to equal #.# - ie... "5.1" has to equal 5.1 when scanned from a string. Because currently if I use sscanf on "5.1" to get a double and then printf the double back out with high precision, it is 5.0999999999999996 instead of 5.1, and this occurs far too often with other numbers as well, even if it is only off by 4e-16 or so. I want to be able to move from string to double and back without losing any precision. I may have misspoke in the last sentence when I said "to double and back", but it should have been fairly obvious that I meant "to data and back", however it would be represented. I have also clarified that several times and stated doubles aren't sufficient for my purposes, so for the last time - I want a data type that can move from string to data and back without any loss of precision. I haven't fully tested it yet, but it appears that the MAPM library can do this for me. So unless you have any suggestions for libraries that could do the same thing as well as or better than MAPM, further comments are likely pointless. Audric said: I'm pretty sure it was not intended with infinite number of decimal places that can be obtained during a computation (ex: 1/3), but rather for the numbers that are input by humans. Finally! Someone who actually comprehends what I've been asking for all along. I'm not sure what the underlying representation of the MAPM data type is, but it appears to be smart enough to know that "5.1" means 5.1 and not 5.0999999999999996. I don't believe that any rounding has occurred during conversion to data or back to string, as default precision is 30 digits, and the only rounding done is during division or else explicitly. Audric said: What's it for? It is for a function expression evaluation tool. You can try out the working prototype over at the batch files, graph plotting and thread started by William Labbett. If you run the expression 5.1/0.1 inside the program you can see that it fails horribly at extracting an exact answer (which clearly exists). The current implementation still uses doubles as the data type, and that is why it fails. I want to test MAPM a little more before I convert everything over to the MAPM data type. @ James Lohr Did you miss the part where I said I wasn't concerned about the efficient use of memory? Who cares that base 10 can represent decimal numbers exactly? Oh well, just the people who desire accurate calculations. Never mind them though. For the last time - negative powers of base 2 will never do a better job of evaluating decimal expressions than base 10 would. That's beside the point though - see my next answer to you. What is elegant about inaccurate calculations (from the use of base 2 with negative powers)? Nothing. You're the one who's naive if you think inaccurate calculations are acceptable where accurate calculations are both possible and desired. Decimal numbers are what the majority of people use - not binary. The only crude approximation of a real number here stems from the fact that negative powers of two are used, and they cannot accurately reflect most decimal numbers less than one. @ orz Use of positive powers is necessary if you want to use base 2 to accurately represent rational decimal numbers. If you can express more numbers in a certain base than another, then as far as I'm concerned it is more precise. That said, base 210 is unnecessary since I'm primarily concerned with accurate representation of decimal numbers. What exactly is it that I'm misunderstanding? You all seem to think I don't understand what is going on, but I've repeatedly shown that I do, otherwise I would be satisfied with the endlessly tiresome suggestion that floats and doubles are sufficient for my needs. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Matthew Leverton
Supreme Loser
January 1999
|
Edgar, please some day take a course on number theory (e.g., countable sets, infinity, etc) or advanced calculus (i.e., how calculus works, not how to use it), and report back to tell me how much time you spend arguing with the teacher and the textbook and what grade you ultimately get. Some of your dogmatic statements are as incorrect as me trying to claim that 1 + 1 = 3. Seriously, you are making a fool of yourself. Trust me, your intuition of how numbers work does not cancel out the discoveries of many smart mathematicians who devoted their lives to this sort of thing. You really should just drop that part of the discussion until you take time to educate yourself. Because of that, I don't think you're going to get any respect regarding the actual problem at hand (representing numbers in whatever computer system you are building). |
|
Oscar Giner
Member #2,207
April 2002
|
Edgar Reynaldo said: There are always twice as many total integers as there are even integers. The fact that the count of both approaches infinity is irrelevant.
You're disregarding basic mathematics theory here Quote: No, it can't. Subtract infinity from both sides and you have 0 == n?
But infinity minus infinity is not 0, it's undefined Quote: What exactly is it that I'm misunderstanding? You all seem to think I don't understand what is going on, but I've repeatedly shown that I do, otherwise I would be satisfied with the endlessly tiresome suggestion that floats and doubles are sufficient for my needs. That your problem can easily be solved by just using doubles, without the need to use any of those libs. All you have to understand is how floating point numbers work, and when printing a floating point number, disregard the part that doesn't have the precission required, using rounding (IIRC, 64 bit doubles have 15 significant (decimal) digits, so if you use doubles that means if you limit your output to 15 digits you'll get an exact output (the same you'd get if you used a decimal representation and print a max of 15 digits)). In your example of 5.0999999999999996. If you only print the first 15 digits, rounding the number, you'll get 5.1 printed. That's how calculators work (Orz explained it in his second post). This is faster (because you're using a native representation for floats), and also takes less memory (to get the same precission, you need more memory if you're using decimal representation than if you use a binary representation). -- |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
Oscar Giner said:
Edgar said: There are always twice as many total integers as there are even integers. The fact that the count of both approaches infinity is irrelevant. You're disregarding basic mathematics theory here So 2*x = x where {x | !0}? Who's disregarding mathematics here? Oscar Giner said: But infinity minus infinity is not 0, it's undefined Sorry, I prefer the real world where x - x = 0. Treating infinity as a special number may help solve some problems in math, but I prefer to think of it as a regular number that has just gotten too large to count. Oscar Giner said: That your problem can easily be solved by just using doubles, without the need to use any of those libs. All you have to understand is how floating point numbers work, and when printing a floating point number, disregard the part that doesn't have the precission required, using rounding (IIRC, 64 bit doubles have 15 significant (decimal) digits, so if you use doubles that means if you limit your output to 15 digits you'll get an exact output (the same you'd get if you used a decimal representation and print a max of 15 digits)). In your example of 5.0999999999999996. If you only print the first 15 digits, rounding the number, you'll get 5.1 printed. That's how calculators work (Orz explained it in his second post). This is faster (because you're using a native representation for floats), and also takes less memory (to get the same precission, you need more memory if you're using decimal representation than if you use a binary representation). Well, I can at least say that this is the first actual explanation of how to achieve what I want without using a different data type. And it was the first comment that wasn't completely condescending and derogatory, so I thank you for that. You've earned your cookie. Still, I don't want to lose precision through rounding unless the user specifically asks for it, and I don't want to limit myself to 15 digits of precision either, so my choice to use MAPM still stands as valid. Matthew Leverton said:
Edgar, please some day take a course on number theory (e.g., countable sets, infinity, etc) or advanced calculus (i.e., how calculus works, not how to use it), and report back to tell me how much time you spend arguing with the teacher and the textbook and what grade you ultimately get. Some of your dogmatic statements are as incorrect as me trying to claim that 1 + 1 = 3. Seriously, you are making a fool of yourself. Trust me, your intuition of how numbers work does not cancel out the discoveries of many smart mathematicians who devoted their lives to this sort of thing. You really should just drop that part of the discussion until you take time to educate yourself. Because of that, I don't think you're going to get any respect regarding the actual problem at hand (representing numbers in whatever computer system you are building). You're stuck on your high horse just like James and Evert are. Too busy insulting me to give decent explanations of why I don't need to use a different data type. You'd think with all the time I spend on this forum helping other people with their problems without insulting them or talking down to them, that I would get some better responses here, but maybe that's too much to ask. If you're all so educated and I'm so ignorant, then it's rather selfish of you to sit there and mock me instead of taking the time to educate me with actual proof instead of blatant 'you're wrong', 'you can't grasp it', 'you are naive', 'you're ignorant' statements, and this thread has seen more than its share of them already. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Matthew Leverton
Supreme Loser
January 1999
|
Edgar Reynaldo said: Too busy insulting me to give decent explanations of why I don't need to use a different data type. Showing you that there are the same amount of even integers as integers does nothing to show you why you do or don't need a different data type. You miss my point entirely. My point is that you are mistaken about fundamental truths and refuse to take correction. You speak as if you understand more about mathematics than somebody who knows much more than you. (I'm not speaking of myself.) So you insult the mathematicians among us by pretending to know more than they, and then expect them to entertain a thoughtful and meaningful discussion about the topic at hand. For fun here's a simple proof that there are as many even integers as integers. Give me any integer, and I will provide a unique even integer that maps to it. Given integer n, I present you an even integer 2 * n. If there were twice as many integers as even integers then I would run out of unique even integers to pair. Again, back to my point. If you would argue against proven mathematics (i.e., the equivalent of saying 1 + 1 = 3), then your arguments against using floats or doubles will be perceived as the same sort of stubbornness, regardless if you have valid concerns. |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
Matthew Leverton said: For fun here's a simple proof that there are as many even integers as integers. Give me any integer, and I will provide a unique even integer that maps to it. Given integer n, I present you an even integer 2 * n. If there were twice as many integers as even integers then I would run out of unique even integers to pair. Consider the set of integers from 1 to n where n is even. Count the number of total integers from 1 to n and the number of even integers from 1 to 2. There are n total integers and n/2 even integers. Extrapolate that as far as you want to. There are always twice as many total integers as even integers for any even n and 2x + 1 / x total integers to even integers for odd n. Your 'proof' that there are the same number of total and even integers relies on the trick of using different sets of numbers. Yes for every n there also exists 2*n, but there also exists 2*n + 1, which is odd, bringing the total ratio to 2 to one, not one to one. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Matthew Leverton
Supreme Loser
January 1999
|
I understand your reasoning, but your proof is one of intuition and is not mathematically valid. I cannot "extrapolate as far as I want" because infinity has no bounds in that context. My proof relies on no tricks. We have two sets of numbers:
We want to know if Set A and Set B are the same size. The mathematical way to prove that is to provide a one-to-one function that maps a single element in A to a unique element in B (and B to A.) I have provide such a function (although admittedly I have not actually proved that it is one-to-one and onto, but I don't think you are disagreeing with that). It is mathematically sound, and covers the range of everything in the two sets we are discussing. If you wish to argue, then we aren't even speaking the same language. Mathematics has rules, and if you don't wish to follow them, then there's no common ground for discussion. I won't try to explain it to you any further. I'm not trying to be "insulting," but I cannot explain an entire course on number theory in a handful of posts. (And it's not like I remember much of what I once learned anyway...) Here's a small article to get you started. |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
There are in truth three sets : Set A is by definition the union of B and C since there are only odd and even integers. Map set A to B and set A to C : This gives example sets of : So for all integers in A from 1 to n there are n corresponding elements in both B and C. Since B and C are the same size, and A is the union of B and C, the actual size of A will always be 2*B. The proof that there is a 1 to 1 relationship between A and B and A and C is superseded by the definition that A is composed of the union between B and C. You can't say that A is not the union of B and C because that is the definition of 'all integers'. The size of A can't simultaneously equal both the size of B and the size of the union of B and C. The only remedy to this contradiction is to stick with the definition of A as the union of B and C. In truth, it is a paradox. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Matthew Leverton
Supreme Loser
January 1999
|
Edgar Reynaldo said: the actual size of A will always be 2*B You are dealing with infinite set, so that is not an operation that means that A is not the same size as B. You are saying something like:
You cannot throw your hands up at the conclusion and say "it cannot be." You must reshape your beliefs on what you have proven to be correct. Or you must show that you have incorrectly proven one of steps 1 to 4. Your intuition that the result is a paradox because of your knowledge of how finite sets operate is not sufficient proof. Quote: The size of A can't simultaneously equal both the size of B and the size of the union of B and C. That's really just circular reasoning. That's precisely the statement that we are trying to prove. It's must like saying "1 + 1 does not equal 3 because 1 + 1 does not equal 3". It can simultaneously be the same size if you can find a function that maps A to B and a function that maps A to B union C. I present a simple mapping function for the latter:
And we already have n => 2 n for set B, so now we have proven what you said is impossible. Quote: In truth, it is a paradox. You may find this interesting. A relevant piece: Quote: However, in Hilbert's aptly named Grand Hotel, the quantity of odd-numbered rooms is as many as the total quantity of rooms. In mathematical terms, the cardinality of the subset containing the odd-numbered rooms is the same as the cardinality of the set of all rooms. Indeed, infinite sets are characterized as sets that have proper subsets of the same cardinality. |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
Fine, look at it from other direction. Map all even numbers less than or equal to 2n to all integer numbers less than or equal to 2n. You can't do it. A all integers from 1 to 2n A 1 to 2n An = Bn/2 B {2,4,6...} There are n numbers in B and 2*n numbers in A. Their cardinality is not the same. You have to consider the range of the set, even if you extend it to infinity. Maybe there are special rules to deal with infinite sets, but I prefer to deal with infinite sets as if they are impossibly large finite sets. If that's not PC, oh well. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Matthew Leverton
Supreme Loser
January 1999
|
Edgar Reynaldo said: A all integers from 1 to 2n That's not an infinite set. You are bounding it by '2n', so of course A is twice as big. But if Set A is the set of all integers, and Set B is the set of all even integers, then the mapping from B to A looks like. n => n / 2. Quote: Maybe there are special rules to deal with infinite sets, but I prefer to deal with infinite sets as if they are impossibly large finite sets. If that's not PC, oh well. It's not about being politically correct, it's about being mathematically correct. If you want to deal with "impossibly" large sets, then use this notation: {1, 2, ..., N}. However, that is not the same as infinite sets. Any conclusion you draw from such sets does not apply to infinite sets, even if N is really, REALLY big! You can not entertain a discussion that is intrinsically mathematical and then decide on using your own definitions and rules, and expect any sort of favorable outcome. |
|
orz
Member #565
August 2000
|
Edgar Reynaldo said: You all seem to think I don't understand what is going on, but I've repeatedly shown that I do, otherwise I would be satisfied with the endlessly tiresome suggestion that floats and doubles are sufficient for my needs. The problem is you're repeatedly showing that you don't understand what you're talking about and/or you're speaking Martian. Some of your comments make perfect sense, like "base 210 is unnecessary since I'm primarily concerned with accurate representation of decimal numbers". Others of your statements are confusing &| incoherent like "As I said, I'm not concerned with irrational numbers, or with infinite precision" (in response to a post of mine that clearly was not talking about irrational numbers or infinite precision), or wrong like "Use of positive powers is necessary if you want to use base 2 to accurately represent rational decimal numbers" (depending upon how I interpret that it's either clearly false or true on a technicality but very very strongly implying things that are false), or wrong as written but maybe if I interpret a bit creatively then it could be right, like "If you can represent more natural numbers with one base than you can with another, that makes the other base less valid as a choice for what you want to use" (all natural numbers can be expressed exactly in all bases... maybe you meant real numbers?). Anyway, focusing on the purely practical end of things, you have never commented on the very simple, easy, & common technique I described in my first post back on the first page (another person had already recommended the same technique, but he was confused and did not understand the nature of the technique). If you are willing to accept a tiny loss of precision and a substantial loss of efficiency then a slight variation on that can get you even more decimal-like behavior without much extra complexity. |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
Matthew Leverton said: That's not an infinite set. You are bounding it by '2n', so of course A is twice as big. But if Set A is the set of all integers, and Set B is the set of all even integers than, the mapping from B to A looks like. n => n / 2. Make n infinite then. You have to keep indefinitely extending the set to make it fulfill your mapping. {2,4,6...2n} I guess we have to go up to 4n, I mean 8n, I mean 16n, so on, so forth, forever and ever over again... You're comparing unequal ranges of numbers. Of course you can say that for every number n there also exists a number 2n, but that doesn't prove for every set of numbers from 1 to n there also exists n numbers from 2 to n by 2. It just doesn't cut it for me. Sorry. Matthew Leverton said: If you want to deal with "impossibly" large sets, then use this notation: {1, 2, ..., N}. However, that is not the same as infinite sets. Any conclusion you draw from such sets does not apply to infinite sets, even if N is really, REALLY big! Well then if that's the way mathematicians deal with infinite sets, then I don't want any part of it, because it's just screwed up. The cardinality of {2,4...2n} will never equal the cardinality of {1,2...2n}. It just doesn't hold up. If you can find me a proof that 2*infinity == infinity, then maybe I'll shut up about this. Otherwise, it's probably not likely. Append for orz orz said: Others of your statements are confusing &| incoherent like "As I said, I'm not concerned with irrational numbers, or with infinite precision" (in response to a post of mine that clearly was not talking about irrational numbers or infinite precision) That was in response to this : orz said: As has already been pointed out in this thread, there are rational real numbers that cannot be represented in base-10 with non-repeating digits (1/3rd was previously mentioned, but any simple integer fraction with a divisor that has any prime factor other than 2 or 5 also qualifies). Sorry if it was confusing or not matched to the topic. But it mostly applies, as I'm not interested in precisely representing rational fractions. If I wanted that, I would be looking for a fraction library, not an arbitrary precision library. orz said: wrong like "Use of positive powers is necessary if you want to use base 2 to accurately represent rational decimal numbers" (depending upon how I interpret that it's either clearly false or true on a technicality but very strongly implying things that are false), Can you represent one tenth exactly using negative powers of 2? No. That's why I said that. orz said: or wrong as written but maybe if I interpret a bit creatively then it could be right, like "If you can represent more natural numbers with one base than you can with another, that makes the other base less valid as a choice for what you want to use" (all natural numbers can be expressed exactly in all bases... maybe you meant real numbers?). I guess I meant all real numbers that don't repeat. Sorry for the confusion. orz said: Anyway, focusing on the purely practical end of things, you have never commented on the very simple, easy, & common technique I described in my first post back on the first page (another person had already recommended the same technique, but he was confused and did not understand the nature of the technique). If you are willing to accept a tiny loss of precision and a substantial loss of efficiency then a slight variation on that can get you even more decimal-like behavior without much extra complexity. I guess you were referring to this : orz said: If you only care about destringifaction+stringification not producing the original value, simply limiting every decimal stringification to 14 digits meets your requirements well over a fairly wide range of numbers, though that's actually a decrease in precision. I guess I didn't actually know what that entailed, as I wasn't thinking of the number being rounded that way. Sorry if it seemed like I ignored you, I just wasn't perfectly clear on what that actually meant. In any case, see my response to Oscar Giner, as it applies equally as a response to you : Edgar said: Still, I don't want to lose precision through rounding unless the user specifically asks for it, and I don't want to limit myself to 15 digits of precision either, so my choice to use MAPM still stands as valid.
My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Matthew Leverton
Supreme Loser
January 1999
|
Edgar Reynaldo said: I guess we have to go up to 4n, I mean 8n, I mean 16n, so on, so forth, forever and ever over again... Keep doing that. You'll never reach infinity. Quote: Make n infinite then That makes no sense. You don't understand what infinity means in mathematical terms. Quote: Of course you can say that for every number n there also exists a number 2n, but that doesn't prove for every set of numbers from 1 to n there also exists n numbers from 2 to n by 2. I don't disagree. Quote: Well then if that's the way mathematicians deal with infinite sets, then I don't want any part of it, because it's just screwed up. Your lack of understanding doesn't make it "screwed up." Not wanting "any part of it" simply makes you ignorant and a waste of time to help in these matters. Quote: It just doesn't cut it for me. Sorry. Your ignorance doesn't offend me... you don't have to apologize. It's actually good to let people know that you reserve the right to reject any proven mathematical principle on the basis that it upsets your belief system. Edit: It goes back to my original statement: Please take some advanced (theory) mathematics courses in a higher education setting and let me know how it goes. I seriously would be interested in any recordings you could provide of you discussing your disbelief with your Ph.D. equipped math professor. I would love to find out if you could solve all the problems and proofs by using whatever mathematical system you have contrived. If so, then you're a much smarter person than I am. I got a bachelor's degree in math as an "A student," but I cheated by using the well tested mathematical truths of old as opposed to my own inventions. It's good to be inquisitive and to "prove all things" but to live in denial is, well, basically pathetic. |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
@orz Matthew Leverton said:
Edgar said: I guess we have to go up to 4n, I mean 8n, I mean 16n, so on, so forth, forever and ever over again... Keep doing that. You'll never reach infinity. So the value 2n as n approaches infinity doesn't equal infinity then? Neat trick. Matthew Leverton said: That makes no sense. You don't understand what infinity means in mathematical terms. Enlighten me then. What does infinity really mean? Matthew Leverton said:
Edgar said: Of course you can say that for every number n there also exists a number 2n, but that doesn't prove for every set of numbers from 1 to n there also exists n numbers from 2 to n by 2. I don't disagree. Then WTF are we talking about? Matthew Leverton said: Your ignorance doesn't offend me... you don't have to apologize. It's actually good to let people know that you reserve the right to reject any proven mathematical principle on the basis that it upsets your belief system. Ah... Back to condescension. There's the old Matthew. I wondered where you went. You were actually being quite generous in your explanations there for a while. I knew it couldn't last though. I will freely admit that the way infinite quantities are dealt with bothers me. If that makes me an imbecile in your eyes so be it. Meh. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Matthew Leverton
Supreme Loser
January 1999
|
Edgar Reynaldo said: I will freely admit that the way infinite quantities are dealt with bothers me. If that makes me an imbecile in your eyes so be it. Meh. It is fine to not understand. There's plenty of things I never understood, and never will. But assuming it is nonsense because you don't understand it is where the ignorance sets in. Quote: What does infinity really mean? In this context, an infinite set is one that does not have a finite number of elements. If you say something has N elements, then it is surely not infinite. Quote: Then WTF are we talking about? There are the same "number" of even integers as odd integers as total integers. (Edit: added the quotes, since it's really the cardinality that is being discussed.) Building an argument contrary to that by using increasingly larger finite sets is an understandable attempt, but ultimately it is irrelevant. The sets we are dealing with here are infinite. This is a fundamental concept that you are refusing to accept. Yes, it is extremely counterintuitive. Infinity is a strange concept. Embrace it in all its glory and you'll learn why 1/3 = 0.333... and 2/3 = 0.666... and subsequently 0.333... + 0.666... = 0.999... and ultimately get to 0.999... = 1. Quote: You were actually being quite generous in your explanations there for a while. There's nothing more to add when your conclusion is "screw mathematics." I'm simply telling you how I perceived you to be. If I am wrong, then, well, I was bound to be at some point. |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
Matthew Leverton said: There are the same number of even integers as odd integers as total integers. Building an argument contrary to that by using increasingly larger finite sets is an understandable attempt, but ultimately it is irrelevant. The sets we are dealing with here are infinite. The set of all even integers is a subset of the set of all integers. It can never have the same cardinality. It just doesn't make any fucking sense. Matthew Leverton said: This is a fundamental concept that you are refusing to accept. Yes, it is extremely counterintuitive. Infinity is a strange concept. Embrace it in all its glory and you'll learn why 1/3 = 0.333... and 2/3 = 0.666... and subsequently 0.333... + 0.666... = 0.999... and ultimately get to 0.999... = 1. Perhaps. I'll just have to take your word for it. Just stop telling me that 2*infinity equals infinity so my brain stops hurting. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
tobing
Member #5,213
November 2004
|
Gosh, what a wonderful "discussion". How I love it... It reminds of the fact that at each mathematical institute on this world, you have to deal with letters and their authors, who claim to have solved squaring the circle, or proved that sqrt(2) is not irrational, or found the ultimate world formula. It's all the same, just ignoring basic mathematical rules. Mathematicians (and philosophers) have been thinking hard about infinity for centuries, and the subject IS hard to grasp. You need the right concepts, and wrap your mind around sometimes strange thoughts. No wonder mathematicians had a hard time understanding this, and all the paradox stuff that hides inside. Follow the two references into wikipedia, they are a good start to a long journey. If you want to understand, that is... http://en.wikipedia.org/wiki/Countable_set |
|
Arthur Kalliokoski
Second in Command
February 2005
|
"Infinite" breaks down to "in" (meaning not) and "finite", meaning, well, finite. (or countable). If you could point out a number and say "that's infinity" all I have to do is add one to it to disprove that. Edgar Reynaldo said: Just stop telling me that 2*infinity equals infinity so my brain stops hurting. Look at it this way, you'd have to travel an infinite distance to sail a ship off the end of the world. Going twice as fast won't help. BTW, that library I offered earlier uses binary, so I guess you wouldn't want it. [EDIT] This is the routine that decides how many decimal digits can be printed with reasonable accuracy in my bignum lib. I limited the digits to less in the trig example above to preclude someone else coming along and saying "I found an incorrect digit at the end of the 3rd result" or something. void bn_maxdecset(void) { double tmp; //log10(256) ~= 2.4082 but practically it leaves junk at the end bn_maxdec = (double) bn_fracbytes * 2.4082; //printf("\norgmaxdec = %d",bn_maxdec); tmp = (log(bn_fracbytes )); tmp *= 1.5; tmp = floor(tmp); bn_maxdec = (double) bn_maxdec - tmp; //printf("\nnew maxdec = %d\n",bn_maxdec); //fflush(stdout); }
They all watch too much MSNBC... they get ideas. |
|
tobing
Member #5,213
November 2004
|
There are three different concepts involved here, and intermixed in mathematically invalid ways: cardinality, ordinal numbers, and approximation by an infinite series (which is what a good part of calculus is about). When you talk about infinity and countable sets, stick to cardinality. Which is well explained in that wikipedia article about countable sets. In terms of cardinality, it is indeed true that 2*NN=NN, where NN denotes the cardinality of the natural numbers, here commonly referred to as infinity. When you talk about 0.9999....=1, that is actually a statement about approximation, and is in fact stating that the series of numbers 0.9, 0.99, 0.999, 0.9999, ... etc. ad inf. ultimately converges to 1, in terms of the limes (or limit) in sense of calculus. |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
In mathematical terms, the cardinality of the subset containing the odd-numbered rooms is the same as the cardinality of the set of all rooms. This is what I can't grasp. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Arthur Kalliokoski
Second in Command
February 2005
|
Consider this: A line a centimeter long has an infinite number of points in it. If you doubt this, specify two points that are "infinitely close together" and I'll just get the average distance from one end. On the other hand, a square centimeter in area has an infinity of lines at 90 degrees to one edge, is this "more" infinity or not? We can move up to a cube that measures 1cm^3 if you like. Or going back to the square centimeter: Not only does it have an infinity of straight lines parallel to each edge, but it also has an infinity of lines at arbitrary angles. As well as an infinite amount of parabolic arcs. Extend this to the cube. And yet the centimeter line segment has "just as many" points as these other things in a cube. Or at least you can never run out. They all watch too much MSNBC... they get ideas. |
|
tobing
Member #5,213
November 2004
|
Oops. Be careful here: If you talk about a line of 1cm, you talk about real numbers, not natural numbers. But, real numbers do have a different cardinality than natural numbers, which amounts to a mathematical proof (originally given by Cantor) that there are indeed more real numbers than natural numbers. So the real numbers do have a different, and greater, cardinality than natural numbers! In contrast, the rational numbers have the same cardinality as the natural numbers. For a proof (which is giving an bijective map between the two sets) again see Cantor. Want some more? It was for a long time unknown if there is any cardinality between the natural numbers and the real numbers. This is known as Cantor's continuum problem. The answer is quite unexpected, and again goes very deep into mathematical logic: You can have both answers... in terms of commonly accepted axioms Cantor's continuum hypothesis is not decidable. That is, you can neither prove it nor disprove. This goes back to the work of Kurt Gödel during the 1930s or so. |
|
james_lohr
Member #1,947
February 2002
|
Another point I forget to mention: There is a proof that states that it is possible to represent any real number exactly with an infinite sum of increasing negative powers (binary or decimal). Therefore if memory and computation is not part of the equation, then it is possible to represent your decimal values exactly using infinite floating point numbers. This is of course hypothetical, since no computer has an infinite amount of memory, but it's no less hypothetical than your grounds for using decimal over binary.
|
|
tobing
Member #5,213
November 2004
|
The infinite sum is, to be a tiny little bit more precise, a notion for an (infinite) series of numbers that converges to the desired real number. Which is again approximation, where you can approximate the real number to any given degree of exactness by the numbers of that series. Which again means that 1) you don't get the exact value, and 2) you need more members of the series to achieve a better approximation... |
|
|
|