Talk:Karatsuba algorithm

message: The Karatsuba algorithm is the first fast computational algorithm, Merge-sort from 1945 --- isn't!!! The note below is written by a person who is not a specialist in this field.91.79.192.32 (talk) 12:59, 1 February 2011 (UTC)
replies: text: Says who? Please cite a reliable published source. -- X7q (talk) 13:36, 1 February 2011 (UTC)

text: He wrote that with regard to multiplication algorithms. I don't see how "the first fast computational algorithm" (not just for multiplication) follows from that. -- X7q (talk) 14:40, 1 February 2011 (UTC)
thread_title:  Divide and conquer (February 2011) 

message: The Karatsuba multiplication algorithm, ... in 1960 ... The Karatsuba algorithm can be considered to be the earliest example of a binary splitting algorithm, or more generally, a divide and conquer algorithm.
I think this is wrong. According to Merge_sort, von Neumann invented Merge Sort in 1945.  —Preceding unsigned comment added by 84.74.154.5 (talk) 14:11, 23 July 2008 (UTC)
thread_title:  Divide and conquer 

message: Consider merging material from [ The Karatsuba multiplication], which has some descriptions of variants and some more sources. JackSchmidt (talk) 12:57, 26 February 2009 (UTC)
thread_title:  Merge from Karatsuba multiplication 

message: With n=2^10=1024, the formula 3n^(log_2(3)) approx 3n^1.585 evaluates to 177193, not 59049 as claimed in the heading paragraph. Now, I do not know what's wrong, the formula or just the result. Someone might want to look into this issue. Gulliveig (talk) 05:46, 20 July 2009 (UTC)
replies: text: Good catch. Looks like the original writer forgot the 3 in front — 3 n^{\log_23} evaluates to exactly 3^{11} = 177147, in fact. Shreevatsa (talk) 06:31, 20 July 2009 (UTC)
replies: text: Sorry, but the original number 59049 was correct. Note that the number of single-digit multiplies is at most 3n^(log_2(3)) for general n, but is less than that for many vaues of n.  In particular, when n is exactly a power of two 2k, the count is exactly n^(log_2(3)) = 3k, not 3 × 3k.  All the best, --Jorge Stolfi (talk) 22:12, 24 July 2009 (UTC)
replies: text:  Ok, I edited the text to mention this explicitly, to avoid future confusion. Thanks, Shreevatsa (talk) 22:24, 24 July 2009 (UTC)
thread_title:  Calculations in Example 

message: Someone objected to the suggestion of using B = 109 because "multiplication by 109 is not realizable by bit-shifts, so choosing B this way doesn't make sense".  Actually multiplication by 109 corresponds to shifting the array of "digits" (each stored in one 32-bit word) by one full word.This choice of basis for bignum arithmetic may be advantageous when one expects a lot of input/output in decimal.  Other similar choices are B = 10000 (each "digit" stored in a 16-bit short word) and B = 100 (each "digit" stored in one byte).  The last two choices allow decimal output and input by table look-up, without divisions or multiplications. All the best, --Jorge Stolfi (talk) 03:02, 12 December 2009 (UTC)
replies: text: Sounds interesting, you should add that to the article. Adrianwn (talk) 08:15, 12 December 2009 (UTC)

text: And what exactly do you want to tell us by that? Furthermore, could you please explain this edit? I reverted a previous, similar edit of yours, because it was unclear and seemed redundant. – Adrianwn (talk) 05:37, 17 June 2010 (UTC)
thread_title:  Using B = 10^9  

message: ;Further subdivision 1 to 4:
if the operands are 1:4 length they might be a particular form of 4:4 n then we might find better orders for Karatsuba algo (1960)  — Preceding unsigned comment added by 93.118.212.93 (talk) 20:54, 25 May 2012 (UTC)
replies: text: Yes, that is true (if I understand your idea correctly) and is called Toom-Cook multiplication.--LutzL (talk) 12:45, 7 December 2012 (UTC)

text: Please try again in plain english with more details. Did you intend to describe something like Ancient Egyptian multiplication?--LutzL (talk) 12:45, 7 December 2012 (UTC)

text: What exactly are you trying to say? What is "autosolve"? The idea to reduce multiplication to two squarings is old. How is 3a+b the most significant part of m? What is m? Usually one would take m=(a+b)/2 and n=(a-b)/2. m=3a+b would require n=3a-b to cancel the squares, then m*m-n*n=12*a*b. How do you propose to achieve the squarings? Using Karatsuba? Do you resolve the mixed scale multiplication again to a difference of two squares? What is the complexity relation, that is, how is T(2n) expressed in terms of n and T(n)? n*log(n)-Multiplication is Schönhage-Strassen, an algebraic variant of the FFT. Did you check that?--LutzL (talk) 12:35, 7 December 2012 (UTC)

text: Please study Daniel J. Bernstein: Multidigit multiplication for mathematicians. for an overview of fast multiplication algorithms and ways to communicate them. If the formalism is right, the language doesn't matter that much.--LutzL (talk) 20:16, 19 December 2012 (UTC)

text: Please publish a paper, preferably refereed, where you give a detailed description of what happens when in your algorithm, some example and also a detailed account of your reinvention of the "master theorem". But even then this discussion page is not the right place to talk about this fundamentally different "idea".--LutzL (talk) 20:32, 5 February 2013 (UTC)

text: This is the general Toom-Cook idea. Please read and understand the paper by Bernstein, as I told You before.--LutzL (talk) 19:09, 9 February 2013 (UTC)
thread_title: Original research by 93.118.212.93 (Florin Matei) I (collapsed)

message: This article axiomatic stated that:
z0 = 345 × 789 = 272,205
However, it doesn't explains the algorithm for compute that. Is there the time for applying long multiplication, or just apply Karatsuba algorithm again to that expression? 31.42.239.14 (talk) 21:54, 25 February 2013 (UTC)
thread_title:  How it has been computed? 

message: ;ok, abt some a bit different K idea possible able 4 generalization:
multiplying A=(a1;a2) with B=(b1;b2) might be planned like this (a1+b1)*(a2+b2), (a1-b1)*(a2-b2), and a1*b1... i think this could challenge Toom-Cook algo, by some K. generalization that use mostly algebraic sums n possibly finding more simplier systems of equation... the algebraic sums to b multiplied  that ofer decent agebraig sums of desired coetients might b search evn automatically, by the computer...good luck! (i posted similary tries on Toom - Cook talk page.) 93.118.212.93 (talk) 10:51, 27 March 2013 (UTC)
replies: text: Please locate a proper math forum to discuss your reinventions of the wheel. For instance mathoverflow.net, mathforum.org or the mathematical news groups. Now You are proposing the widely explored application of numerical FFT to polynomial and integer multiplication.--LutzL (talk) 12:54, 28 March 2013 (UTC)

text: No, russian style is to leave the solution of a problem to the reader. What you want is to leave the formulation of a problem to the reader. This is crank style. Come back when you have an implementation with demonstrable runtimes.--LutzL (talk) 12:13, 15 April 2013 (UTC)
thread_title: Original research by 93.118.212.93 (Florin Matei) II (collapsed)

message: The lead of our article claims that this algorithm was "invented by Karatsuba". Given that the original publication was joint with Ofman, is there reliable sourcing (independent of Karatsuba himself) that this algorithm was invented solely by Karatsuba? If so, what was Ofman's contribution? —David Eppstein (talk) 02:24, 5 August 2013 (UTC)
replies: text: Hi, I believe the history section does a good job on that: invented by Karatzuba during a seminar of Kolmogorov, published two years later by Kolmogorov and Ofman (another student in the seminar I read somewhere?) under the names of Karatsuba and Ofman. I do not believe that minutes of the seminar exist, so the amount and influence of brainstorming is not reconstructable.--LutzL (talk) 14:46, 5 August 2013 (UTC)
thread_title:  "Invented by Karatsuba"/"Kolmogorov was very agitated" 

message: The opening paragraphs states that Karatsuba discovered this algorithm.  Although the principles or properties underlying the algorithm may indeed have been discovered, the algorithm itself would have been invented, unless it was somehow preexistent.  I posted this instead of modifying the article directly in case somebody has a justification for the current wording.  — Preceding unsigned comment added by 38.104.57.138 (talk) 16:01, 14 April 2017 (UTC)
replies: text: Nonsense. This O(n^1.58) algorithm has always existed; therefore it was discovered. On can generally interchange "discovered" and "invented" for algorithms, but the simpler and more fundamental the algorithm, the more "discovered" is appropriate, and the more ad hoc the algorithm, the more "invented" is appropriate. -- Jibal (talk) 22:40, 17 January 2020 (UTC)
thread_title:  Algorithms are generally invented, not discovered 

message: "four multiplications...were known to Charles Babbage," isn't that faster than the "quadratic 'grade school' algorithm" (wherein each digit of a multiplicand is multiplied by each digit of a multiplier and
shifted results are added)? If so, that'd mean the Karatsuba algorithm wasn't the first faster multiplication algorithm. 213.41.102.186 (talk) 10:17, 15 December 2023 (UTC)
replies: text: The great observation of Karatsuba is that 3 multiplications are sufficient where Babbage needed 4 multiplications, and that this leads to an algorithm that is faster (for large factors) than all previously known algorithms. D.Lazard (talk) 11:03, 15 December 2023 (UTC)
replies: text: Indeed. But, the four multiplications known to Babbage already beats "grade school," right? 213.41.102.186 (talk) 15:04, 15 December 2023 (UTC)
replies: text: Why do you think that? BTW, the 4 multiplications are the same as the "quadratic 'grade school' algorithm" with 2-digit numbers in a high radix. — Vincent Lefèvre (talk) 15:35, 15 December 2023 (UTC)
replies: text: Oh, doesn't beat, understood. 213.41.102.186 (talk) 16:50, 15 December 2023 (UTC)
thread_title:  Was Babbage faster?