in [Python]

From: Martin P. Hellwig on 3 Apr 2010 16:17 On 04/03/10 16:46, Patrick Maupin wrote: > On Apr 3, 9:43 am, "Martin P. Hellwig"> IMHO, the crackpot in this > regard is actually partially right, >> multiplication does mean that the number must get bigger, however for >> fractions you multiply four numbers, two numerators and two >> denominators. The resulting numerator and denominator by this >> multiplication get indeed bigger. > > That argument is great! Just make sure that you've managed to leave > before the class has to learn about irrational numbers that don't > *have* numerators and denominators ;-) Yeah but those numbers have their own problems anyway, one of them being that you are never sure how big/small they actually are, so by that logic you could argue that if you can not give an exact measure for a given number, bickering over it size after an operation is pretty pointless (pun intended) :-) Beside the only number that really matters is 42 ;-) -- mph
From: Steven D'Aprano on 3 Apr 2010 22:03 On Sat, 03 Apr 2010 09:35:34 -0700, Mensanator wrote: > On Apr 3, 10:17 am, Steven D'Aprano <st... (a)REMOVE-THIS-> cybersource.com.au> wrote: >> On Sat, 03 Apr 2010 15:43:41 +0100, Martin P. Hellwig wrote: >> > I am replying to this post not because I disagree but because it >> > postalogically fits the best (I am by no means an expert either). >> >> > IMHO, the crackpot in this regard is actually partially right, >> > multiplication does mean that the number must get bigger, however for >> > fractions you multiply four numbers, two numerators and two >> > denominators. The resulting numerator and denominator by this >> > multiplication get indeed bigger. >> >> But you're not multiplying four numbers, > > You are if you're using Rationals. That is sheer unadulterated nonsense. A rational number (element of Q) is not a pair of numbers, it is a unique single point on the real number line R which does not depend on either the way you calculate it, or the representation you use to write it. The single number 1/2 can be written as any of 1/2, 2/4, 5/10, 1234/2468 or any of an infinite number of ratios representations. It can be written as a decimal expansion 0.5, or a binary expansion 0.1, or the negative- binary expansion 1.5, or as the base-eleven infinite expansion that starts as 0.55555... Numbers can also be written as continued fractions. The continued fraction representation for 1/2 is unexciting and happens to include two digits: [0; 2]. But the continued fraction representation of (say) 5/7 is [0; 1, 2, 2]. 5/7 isn't four numbers, or three, or two. It is one number. You might as well argue that 43/92 is "four numbers" -- you have a 4, and 3, and 9, and a 2, hence four numbers. The argument that 1/2 is two numbers is exactly as foolish as that. >> you're multiplying two numbers. > > Because they're expressed as Decimals. No, the number of operands is independent of the types of the operands. Multiplication is a binary operator: it takes exactly two arguments. Not four, or six, or one. Regardless of whether I write: Fraction(1,2)*Fraction(7,14) Decimal('0.5')*Decimal('0.5') 0.5*0.5 MyFraction.from_roman('I', 'II')*MyContinedFraction([0, 2, 0, 0, 0]) I still have two numbers being multiplied. >> One-half is not "two numbers", > > Sometimes it is. Only on Bizarro world. >> that would be a tuple > > Like this? > >>>> gmpy.mpq('0.5') > mpq(1,2) No, that's not a pair of numbers. It is a single number, equal to: ∑(i=1,∞,9/10**i) ---------------------- (ln(e)+sin(5π/2)) which is also a single number. >> or a list or >> possibly a coordinate pair. One-half is a single number, > > When dealing with crackpots, it does not help to use the wrong > arguments. And you think that telling the crackpot that he is right, multiplication always leads to bigger numbers, is somehow going to convince him that he is wrong about multiplication always leading to bigger numbers? > When multiplying gmpy.mpq(2,3) by gmpy.mpq(2,3), the > numerator and denominator have both indeed gotten bigger. So what? "One quarter" is bigger (longer) than "one half". Your point is? And in any case: >>> Fraction(3, 4)*Fraction(2, 3) Fraction(1, 2) Would you still like to argue that the numerator and denominator always get bigger when you multiply two fractions? > The trick is that when combined, the overall result is smaller. >> the number which >> if you double it gives one. >> >> Fortunately multiplication is consistent. Multiplying the two numbers >> 0.5 and 0.5 is exactly the same as multiplying 1*1 and 2*2 then >> dividing to get a single number. It's not the same as multiplying 1*1 >> and 2*2 to get two numbers, 1 and 4. >> >> You say that multiplication means that the number "must get bigger". > > Yes, not in every case, but in many cases it does. That makes no sense. It "must" get bigger, except for the cases where it doesn't? Or to put it another way: No, multiplication doesn't necessarily make numbers bigger. >> 5*1 = 5 >> 5*0 = 0 >> 5*-2 = -10 >> >> I hope you won't try to argue that 5, 0 and -10 are all bigger than 5. > > Yes, but these special cases don't help. It needs to be pointed out that > the argument is wrong even in cases like 2/3 * 2/3. The argument is that multiplication ALWAYS makes numbers bigger. Martin, out of some misguided and confused sense that the representation of a number was somehow relevant, argued that this is correct. It's not correct, not even for integers, let alone rationals. This is why I said that Martin should stop trying to justify the crackpot's belief that multiplication always makes numbers bigger, even a little bit. It's not even true for integers. It's not even true for positive (non-zero) integers. Arguments about numerators and denominators are just red-herrings. If the crackpot claimed that dolphins were fish, does it help to say he's partly right because dolphins live in water and have fins and a tail and a head just like fish? No. He wouldn't be partly right, he would be utterly, completely, 100% wrong, and he is utterly, completely, 100% wrong when he says multiplication always leads to bigger numbers. For many disagreements, neither party has it completely right and the truth lies somewhere in between. This is not one of them. Given two positions, that 1+1=2 and 1+1=7, the correct answer isn't halfway between them. Given two positions, that 1/2 multiplied by 1/2 is 1/4, or that 1/2 multiplied by 1/2 is NOT 1/4, the truth is not "both positions are partly correct". One position is just *wrong*. -- Steven
From: Steven D'Aprano on 3 Apr 2010 22:24 On Sat, 03 Apr 2010 10:56:37 -0700, Patrick Maupin wrote: >> The square root of 2 is irrational, but if you multiply it by itself >> then the result isn't irrational, so not all operations involving >> irrational numbers will result in an irrational result (unless that's >> what you mean by "closely related irrational numbers"). > > Yes, I think I am closely related to myself. But in addition to that > particular disclaimer, I qualified the statement with "most" and I also > mentioned that zero is special. I stand by the assertion that if you > take a random assortment of non-zero numbers, some irrational, some > rational, and a random assortment of numeric operators, that most > operations involving an irrational number will have an irrational > result. There are an infinite number of rational numbers. There are an infinite number of irrational numbers. But the infinity of the rationals is countable (1, 2, 3, 4, ... or aleph-0) while the infinity of the irrationals is uncountable (c or aleph-1), so there are infinitely more irrationals than rationals. To put it another way, even though there are an infinite number of rationals, they are vanishingly rare compared to the irrationals. If you could choose a random number from the real number line, it almost certainly would be irrational. (This is not to be confused with floats, which of course are all rational numbers.) -- Steven
From: Patrick Maupin on 3 Apr 2010 23:01 On Apr 3, 9:24 pm, Steven D'Aprano <st... (a)REMOVE-THIS-cybersource.com.au> wrote: > To put it another way, even though there are an infinite number of > rationals, they are vanishingly rare compared to the irrationals. If you > could choose a random number from the real number line, it almost > certainly would be irrational. Yet another correspondence between the set of numbers and the set of people ;-)
From: Mensanator on 4 Apr 2010 02:13
On Apr 3, 9:03Â pm, Steven D'Aprano <st... (a)REMOVE-THIS-cybersource.com.au> wrote: > On Sat, 03 Apr 2010 09:35:34 -0700, Mensanator wrote: > > On Apr 3, 10:17Â am, Steven D'Aprano <st... (a)REMOVE-THIS-> > cybersource.com.au> wrote: > >> On Sat, 03 Apr 2010 15:43:41 +0100, Martin P. Hellwig wrote: > >> > I am replying to this post not because I disagree but because it > >> > postalogically Â fits the best (I am by no means an expert either). > > >> > IMHO, the crackpot in this regard is actually partially right, > >> > multiplication does mean that the number must get bigger, however for > >> > fractions you multiply four numbers, two numerators and two > >> > denominators. The resulting numerator and denominator by this > >> > multiplication get indeed bigger. > > >> But you're not multiplying four numbers, > > > You are if you're using Rationals. > > That is sheer unadulterated nonsense. You obviously don't understand the workings of computers. > > A rational number (element of Q) is not a pair of numbers, Duh. Everybody knows that. But sometimes it is represented by a pair of numbers such as 1/2 or mpq(1,2). > it is a unique > single point on the real number line R which does not depend on either > the way you calculate it, There are no "real number lines" inside my computer. > or the representation you use to write it. And if you want the computer to do a calculation, then you are dependent on its representation. > > The single number 1/2 can be written as any of 1/2, 2/4, 5/10, 1234/2468 > or any of an infinite number of ratios representations. It can be written > as a decimal expansion 0.5, or a binary expansion 0.1, or the negative- > binary expansion 1.5, or as the base-eleven infinite expansion that > starts as 0.55555... But we are only discussing those representations that are a pair of numbers: numerator & denominator. Now look who's talking nonsense, bringing up things like 0.55555... > > Numbers can also be written as continued fractions. The continued > fraction representation for 1/2 is unexciting and happens to include two > digits: [0; 2]. But the continued fraction representation of (say) 5/7 is > [0; 1, 2, 2]. 5/7 isn't four numbers, or three, or two. It is one number. You're on a roll, aren't you? > > You might as well argue that 43/92 is "four numbers" -- you have a 4, and > 3, and 9, and a 2, hence four numbers. The argument that 1/2 is two > numbers is exactly as foolish as that. Are you really that stupid? > > >> you're multiplying two numbers. > > > Because they're expressed as Decimals. > > No, the number of operands is independent of the types of the operands. > Multiplication is a binary operator: it takes exactly two arguments. Not > four, or six, or one. Regardless of whether I write: > > Fraction(1,2)*Fraction(7,14) > Decimal('0.5')*Decimal('0.5') > 0.5*0.5 > MyFraction.from_roman('I', 'II')*MyContinedFraction([0, 2, 0, 0, 0]) > > I still have two numbers being multiplied. And you claim that the internal workings of all the above are the same? > > >> One-half is not "two numbers", > > > Sometimes it is. > > Only on Bizarro world. I thought you were supposed to be a Python expert? That you're supposed to understand the difference between an object and its contents? Is [1,2,3,4] one number? Of course not, it's four numbers that are part of one object. A Rational is two numbers, one object. Yes, squaring a Rational does mean multiplying two objects, but you know damn well that it involves four numbers. > > >> that would be a tuple > > > Like this? > > >>>> gmpy.mpq('0.5') > > mpq(1,2) > > No, that's not a pair of numbers. Yes, it is. Two numbers, one object. Perhaps you need to read the Tutorial? > It is a single number, equal to: The word you want here is "object". This is exactly the reason these words were invented. They're probably spinning in their grave. > > Â â(i=1,â,9/10**i) > ---------------------- > Â (ln(e)+sin(5Ï/2)) > > which is also a single number. "Object". > > >> or a list or > >> possibly a coordinate pair. One-half is a single number, > > > When dealing with crackpots, it does not help to use the wrong > > arguments. > > And you think that telling the crackpot that he is right, multiplication > always leads to bigger numbers, is somehow going to convince him that he > is wrong about multiplication always leading to bigger numbers? Of course not. But it may help the OP understand that's one of the main fallacies that crackpots often engage in. Focusing on something that's true but is a Non Sequitur. > > > When multiplying gmpy.mpq(2,3) by gmpy.mpq(2,3), the > > numerator and denominator have both indeed gotten bigger. > > So what? "One quarter" is bigger (longer) than "one half". Your point is? That in this case, multiplication did, in fact, make things larger. It didn't make the object larger, but the numbers it contains are. The crackpot focuses on the numbers while ignoring the object. For you to say only the object matters and it's smaller makes you just as wrong as the crackpot. > > And in any case: > > >>> Fraction(3, 4)*Fraction(2, 3) > > Fraction(1, 2) Now you're cheating. Again, you know damn well that Fraction(3, 4)*Fraction(2, 3) = Fraction(6,12) and what you're seeing is reduction to lowest terms. I take that back, maybe you really are that ignorant since you don't seem to grasp the concept of objects. > > Would you still like to argue that the numerator and denominator always > get bigger when you multiply two fractions? Yep. > > > The trick is that when combined, the overall result is smaller. > >> the number which > >> if you double it gives one. > > >> Fortunately multiplication is consistent. Multiplying the two numbers > >> 0.5 and 0.5 is exactly the same as multiplying 1*1 and 2*2 then > >> dividing to get a single number. It's not the same as multiplying 1*1 > >> and 2*2 to get two numbers, 1 and 4. > > >> You say that multiplication means that the number "must get bigger". > > > Yes, not in every case, but in many cases it does. > > That makes no sense. It "must" get bigger, except for the cases where it > doesn't? Or to put it another way: No, multiplication doesn't necessarily > make numbers bigger. > > >> 5*1 = 5 > >> 5*0 = 0 > >> 5*-2 = -10 > > >> I hope you won't try to argue that 5, 0 and -10 are all bigger than 5. > > > Yes, but these special cases don't help. It needs to be pointed out that > > the argument is wrong even in cases like 2/3 * 2/3. > > The argument is that multiplication ALWAYS makes numbers bigger. Martin, > out of some misguided and confused sense that the representation of a > number was somehow relevant, argued that this is correct. It's not > correct, not even for integers, let alone rationals. > > This is why I said that Martin should stop trying to justify the > crackpot's belief that multiplication always makes numbers bigger, even a > little bit. But then, you never understand where the crackpot is coming from. If the crackpot is, in fact, a troll, his goal is not to get you to believe his bogus math (which he knows is bogus), but to get you so confused you don't know what's right or how to defend it. > It's not even true for integers. It's not even true for > positive (non-zero) integers. Arguments about numerators and denominators > are just red-herrings. Right, as I said, a Non Sequitur. > > If the crackpot claimed that dolphins were fish, does it help to say he's > partly right because dolphins live in water and have fins and a tail and > a head just like fish? No. He wouldn't be partly right, he would be > utterly, completely, 100% wrong, and he is utterly, completely, 100% > wrong when he says multiplication always leads to bigger numbers. Sounds like you'll never understand math. Better stick to regular expressions. > > For many disagreements, neither party has it completely right and the > truth lies somewhere in between. This is not one of them. Given two > positions, that 1+1=2 and 1+1=7, the correct answer isn't halfway between > them. Given two positions, that 1/2 multiplied by 1/2 is 1/4, or that 1/2 > multiplied by 1/2 is NOT 1/4, the truth is not "both positions are partly > correct". One position is just *wrong*. And it seems you can't grasp the concept of a smaller forest having larger trees. > > -- > Steven |