[math-fun] Almomorphism
Almomorphism This note is about "almost homomorphisms" -- Almomorphisms. We already use these: I'm assigning a name, and suggesting we might get some milage from formalizing our use. An almomorphism can be "almost" in a few ways. It might usually be true, or sometimes be true, or be true more often than chance; or it might be nearly correct, most of the time. Example A: Residues modulo A and modulo B, with A < B < A+small. Then addition modulo A is frequently the same as addition modulo B. The answer c+d (mod A) is the same as c+d (mod B) when there's no wraparound, i.e. c+d < A. This happens about half the time for randomly chosen c & d. Looking at multiplication, the no-wraparound condition becomes cd < A. This only happens with frequency about logA/A, which is somewhat more likely than would be expected by chance. Example B: Floating point numbers, as a model of the reals. (Within the represented range) floating point operations are a reasonably close image of the real numbers being modeled. Example C: Rounding of numbers. Rounding maps ranges of numbers into single values. The results of arithmetic operations on the single values are frequently close to the result of rounding the operation applied to the original operands. We have a lot of knowledge about how rounding affects answers, and when it is correct, or slightly wrong. For example, if c and d are rounded to C and D, and the relative error of the rounding is at most 10%, and c and d are positive, then C+D (i.e. round(c)+round(d)) is within 10% of c+d. Example D: The projective line, and the reals. The reals have no infinity, but arithmetic works on all the other finite values. These examples show that the question of when the results are valid is complicated, but we know a lot of the answers. Rich
Good idea. The important part is deciding which axioms you're going to satisfy; i.e., floats (normally) don't satisfy associativity. At 10:42 AM 10/12/2010, rcs@xmission.com wrote:
Almomorphism
This note is about "almost homomorphisms" -- Almomorphisms. We already use these: I'm assigning a name, and suggesting we might get some milage from formalizing our use. An almomorphism can be "almost" in a few ways. It might usually be true, or sometimes be true, or be true more often than chance; or it might be nearly correct, most of the time.
Example A: Residues modulo A and modulo B, with A < B < A+small. Then addition modulo A is frequently the same as addition modulo B. The answer c+d (mod A) is the same as c+d (mod B) when there's no wraparound, i.e. c+d < A. This happens about half the time for randomly chosen c & d. Looking at multiplication, the no-wraparound condition becomes cd < A. This only happens with frequency about logA/A, which is somewhat more likely than would be expected by chance.
Example B: Floating point numbers, as a model of the reals. (Within the represented range) floating point operations are a reasonably close image of the real numbers being modeled.
Example C: Rounding of numbers. Rounding maps ranges of numbers into single values. The results of arithmetic operations on the single values are frequently close to the result of rounding the operation applied to the original operands. We have a lot of knowledge about how rounding affects answers, and when it is correct, or slightly wrong. For example, if c and d are rounded to C and D, and the relative error of the rounding is at most 10%, and c and d are positive, then C+D (i.e. round(c)+round(d)) is within 10% of c+d.
Example D: The projective line, and the reals. The reals have no infinity, but arithmetic works on all the other finite values.
These examples show that the question of when the results are valid is complicated, but we know a lot of the answers.
Rich
participants (2)
-
Henry Baker -
rcs@xmission.com