Chronology Current Month Current Thread Current Date
[Year List] [Month List (current year)] [Date Index] [Thread Index] [Thread Prev] [Thread Next] [Date Prev] [Date Next]

[Phys-L] Re: Division via subtractions



Ludwik Kowalski wrote:

Division of positive numbers by positive numbers can be done
by consecutive subtractions.

Yeah ... but why bring it up? The original claim was
that
division is iterated subtraction
in the same way that
multiplication is iterated addition
... and this claim is false. It is entirely incompatible
with any real understanding of what is going on.

If you are going to claim
multiplication is iterated addition
division is iterated subtraction
I am going to insist that
division is iterated addition
so at this level of understanding, division is not the
inverse of multiplication -- it is word-for-word the same
as multiplication.

Please, folks:
The inverse of an iteration is not
the iteration of the inverse.

Maybe you wish it were so, but wishing will not make it so.

If you really want to know what's going on, the key idea
in the iterative subtraction algorithm is not the subtraction
(since that can perfectly well be replaced by an addition).
Rather, the key idea is replacing a loop where the number
of operations is determined in advance with a loop where
the number of operations is counted on the fly. That is:
Multiplication: add B to itself A times.
Division: add B to itself an indefinite number of times,
and see how many times it takes before the sum reaches C.

To understand this in greater generality, view it as a feedback
loop. The same key idea is commonly used in analog electronics.
A good example is using the exponential I(V) curve of a diode
to create a circuit to compute logarithms, by placing the
diode in the feedback side of a closed loop.

To say the same thing in mathematical terms, we write
multiplication as an explicit function
for all A and B, C = A * B
and then write division as an _implicit function_
for all C and B, find A such that C = A * B.

I cannot emphasize too strongly that changing addition to
subtraction is not *not* _not_ NOT !NOT! what is required
to change multiplication to division. Iterated addition
gives you A*B. Iterated subtraction gives you -A*B.
-- Neither of those is division.
-- Either of those *placed inside a feedback path*
can give you division.

... too tedious for humans, unless numbers are small.

This is another reason for asking, why bring it up?
Conceptually and pedagogically it is worse than nothing,
and as a practical algorithm it is laughable, so what's
the point?

For numbers of size N, iterated subtraction is _exponentially_
more laborious than long division. That's about as bad as
anything can get.

People make acerbic jokes about the bubble-sort algorithm,
because its workload goes like N^2 while competing
algorithms are only N*log(N) ... which is a very
significant difference in many practical situations.

Imagine how rude the jokes become when the subject is
algorithms that go like 10^N while competing algorithms
are linear in N.

===========================

Pedagogically speaking: I don't expect you to teach nine-
year-olds about feedback loops or implicit functions.

But for crying out loud, don't teach them that you can
invert an iterated operation by iterating the inverse
operation. It's just wrong. It's totally wrong. It's
worse than nothing. Lots worse.