New algorithm for cube (third power) computation

Niels Möller nisse at lysator.liu.se
Thu Apr 8 22:26:18 CEST 2010


nisse at lysator.liu.se (Niels Möller) writes:

> However, I think the cubing it can be used as a building block for 8th
> powers. Computing a^8 = (a1 x + a0)^8 using three levels of Karatsuba is
> 3 + 3*3 + 3*3*3 = 39 multiplications (or squarings) of size n.

Ooops, I get this very wrong. Three squarings would be done by Karatsuba followed by
Toom4 followed by Toom8, 3 + 7 + 15 = 25

> But we can compute
>
>   a^3              7 nxn (according to your paper)
>   a^2              1 nxn (Karatsuba, but a0^2 and a1^2 are already computed!)

>   a^5 = a^3 * a^2  4 nxn (Toom32)
Should be            9 nxn (Toom64) 

>   a^8 = a^5 * a^3  7 nxn (Toom53)
Should be           15 nxn (Toom10x6)
>                  ----

>                   19
Should be           32

So this is a very stupid way to do it. I realized something was wrong
when I noticed the "saving" in the first two "clever" steps implies that
we compute both a^3 and a^2 in the same number of operations as the old
way of computing a^3 (which also gives a^2 as an intermediate value).

Sorry for the confusion.

/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.


More information about the gmp-devel mailing list