Re: Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- From: cbrown@xxxxxxxxxxxxxxxxx
- Date: 19 Mar 2007 21:17:58 -0700
On Mar 19, 1:04 pm, "VK" <schools_r...@xxxxxxxxx> wrote:
On Mar 19, 3:19 am, cbr...@xxxxxxxxxxxxxxxxx wrote:
<off topic>That depends on the used abstraction system ;-) Where I'm
going to work there are -0/+0 respectively and a possible set such as
{-0, 0, 1} and 1/-0 = -infinity, 1/0 = +infinity; so effectively two
0s with different valency towards infinity; thus bye-bye Peano 7th and
8th and Peano 9th gets a rather unusual behavior.
Yes, it seems pretty odd. I assume we are not talking about integer
types here, but instead some sort of floating point number. The
floating point numbers don't even form a field (technical jargon
apology).
They do - if I got the "field" term in math properly (60/40 chance :-)
Hmmm... I'll take that bet on the opposing side :).
A field needs to be associative over both + and *. But for finite
precision floating point numbers, it is not always the case that
(a + b) + c = a + (b + c)
(a*b)*c = a*(b*c)
There's a long and interesting thread on this with examples at "Are
floating-point numbers rational numbers?":
http://groups.google.com/group/sci.math/browse_frm/thread/eca5a6e57432c648/e2057165e9ffe331
that touches on many of the topics we are discussing regarding the
difference between the "name" of a number and that number.
Actually my note about computer +/-0 was incomplete up to being wrong.
0 can be as nothing as nothing can be on computer as well. The catch
is that it is a finite system here, so 0 is "undecidable": it may be
the real nothing or it may be such a small result that it is beyond
the given granularity. So the involved operations have to accommodate
both options: if from the "practical point of view" -1 *
10^-99999999999999999999999999 is mostly the same as nothing, from the
math view it is still a negative value.
For each given decadic rational I/10^i its d-factor is 1 when and only
when the said rational has dyadic solution by the lemma 1.0 If such
solution doesn't exist then d-factor of the said rational is 0.
That's perfect. This is sometimes called "the indicator function on a
set": f(s) = 1 if s is in the set, and f(s) = 0 if s is not in the
set.
Great, so another step is finished.
To see that you are not alone in your uncertainty, search for
"0.999... = 1?" in sci.math. It is a perennial subject of confusion
and general usenet flaming.
I'm staying - or at least always trying to stay - on the principle
"Don't come in the stranger monastery with your own Charter". That
doesn't prohibit to add new entities or to re-interpret some existing
ones if the necessity is obviously here - but for internal use only.
Like if one pipe is oval and the other pipe is circle then one either
makes a coupling by her own or she stays without the water.
So AFAICT the current math system doesn't make a difference between
"going to" and "being at", "close to the point" and "be at the point".
The latter is better stated as "getting forever closer to the point"
and "is the point"; but I see your meaning. The reals are sometimes
defined as the closure of this "idea" applied to the rationals.
I see the possibility of such abstraction, it doesn't make me upset or
dizzy or something :-) It also provides an elegant workaround for many
ancient paradox.
It also makes basic arithmetic manipulations "error-free" in a way
that the floating-point numbers can't do. I know that sqrt(2)^2 = 2
and I can make that substitution in an equation without adding any
error whatsoever to my (symbolic) calculation.
But see further.
<snip>
Here is the dead lock. No, no problem with the math, it's great! But
the system as spelled has zero valency with the computer math - or
discrete math if one wants. You see, 1 + 2 has a solution both on
paper and on any computer.
Yes, the integer type on a computer is "very much the same" as the
integers modulo some really large power of 2. So short of overflow,
they form a ring; and thus the usual manipulations of +, -, * obey the
usual rules of a ring (associative, distributive, unique additive
inverse).
Ubfortunately, this is /not/ the case with finite precision floats
(although one /can/ make a field of rationals using a different
notation).
At the same time 0.9(9) + 1.9(9) has no
algorithmic solution on any of existing systems: unless we cheat and
introduce some (period) numbers so
0.9(9) + 1.9(9) = 0.9 + 1.9 + 2 * (period9)
But this is simply a matter of one's definition of "floating point
number in computers" versus "real number in computers".
For /finite precision/ floating point numbers (fixed precision or
not), there is no such thing as "0.999(9)". Simply becuase "0.999(9)"
is not a /finite/ precision floating point; it is an /infinite
precision/ floating point, and as such not an IEEE standard :).
Respectively we'll have to add some SqrtMantissa2 such as
1 + SqrtMantissa2 = sqrt(2)
and a whole set of "infinite mantissa holders" of the latter kind.
Well, this is exactly what symbolic packages such as Mathematica do.
They define a (smallish) set of operators such a "sqrt" symbolically;
and perform (essentially) string substitutions such as "(sqrt(x))^2 ->
x".
They can also evaluate expressions like "lim n->oo (1/x^n)", again /
symbolically/ not computationally; exactly as you yourself might
justify that the limit of the previous expression for any x^2 < 1 is,
indeed, the real number named "0", and no other real number.
So for these kind of packages, there is "cheating" way of representing
a number by 0.9(9) which is distinct from representing the /same/
number as 1.0(0). These two symbols (or "symbolic computations") yield
the same result: they are demonstrably "equal".
This way the finite operations will be made by the computer, and
infinite parts simply accumulated/negated and returned to human
receiver for further considerations. That is the only way otherwise 1
+ 2 in some conditions may take the Infinity to calculate - even if
someone manages to create an ideal Turing machine.
"In some conditions" seems to mean "using certain algorithms". But
even if those algorithms are so badly designed as to /not/ halt on
such a calculation, it doesn't stop us from noting that there /are/
algorithms that /do/ halt with the output of a symbol (marks on tape,
ascii character, whatever) which corresponds to the real number 3, if
and only if the real numbers 1 + 2 = 3.
btw a skeleton in the programming closet: is a problem solvable if it
is algorithmic but it requires infinity to complete the algorithm?
Don't get me started! It's an interesting set of problems: Turing's
Halting problem, the uncomputability of the list of all computable
numbers, Godel's incompleteness theorem, recursively enumerable sets,
etc.
Sorry for all this long wording but I had to show what the particular
problem is. And yes, of cause I'm aware of rounding, error correction
and restoring value methods. But I'm not interested in them at this
point - otherwise I wouldn't by "harassing" people on sci.math.*
Heaven's! I feel more like you are permitting /me/ to harass /you/ :).
Plus, there is a whole area of "abstract" mathematics related to these
questions - numerical analysis. It even has its own newsgroup in the
sci.math.* heirarchy.
So to get anywhere further,
.... ah, yes; back to work! This was a paying gig if I recall :) ...
I need to find an extra criterion to
separate
1) all numbers having (0) in period
2) all numbers having any other period
3) all numbers with unknown/no period
(3) is easy - these are irrationals.
(1) and (2) ? 0.125 and 0.124(9), 1.3 and 1.(3)? Does the part of
science we are talking about - its official part I mean - has any
criteria of distinction?
These less philosophical questions are much easier to answer
succinctly and unequivocally.
You are correct regarding (3)(but can you prove it?).
As regards (1) and (2): informally stated, it's pretty easy (although
a little long-winded) to prove that x.(y) = z.(0) if and only if y =
b-1 and z = x+1; where x and z are integers, y is a natural with 0 <=
y < b, and b is the base we are working in for our sequence of digits
(e.g., 2 or 10).
(Proof available on request; just don't name it after me!)
Cheers - Chas
.
- Follow-Ups:
- References:
- Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- From: VK
- Re: Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- From: cbrown
- Re: Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- From: cbrown
- Re: Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- From: VK
- Re: Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- From: cbrown
- Re: Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- From: VK
- Re: Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- From: cbrown
- Re: Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- From: VK
- Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- Prev by Date: What is this pattern?
- Next by Date: Re: Well defined means?
- Previous by thread: Re: Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- Next by thread: Re: Find out if I/10^i = J/2^j (decadic - dyadic pairing)
- Index(es):
Relevant Pages
|