Jump to content

Talk:Coppersmith–Winograd algorithm

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by CBM (talk | contribs) at 00:31, 3 June 2009 ([[WP:LEAD|Lede]]: update maths rating). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
WikiProject iconMathematics Redirect‑class Low‑priority
WikiProject iconThis redirect is within the scope of WikiProject Mathematics, a collaborative effort to improve the coverage of mathematics on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
RedirectThis redirect does not require a rating on Wikipedia's content assessment scale.
LowThis redirect has been rated as Low-priority on the project's priority scale.

algorithm

This should probably be tagged as a stub since it doesn't contain the actual algorithm nor much of a discussion past the big O complexity. I'd do it, but I don't know the algorithm. Lavid 19:46, 25 February 2007 (UTC) lavid[reply]

Actually, I do not think anyone has ever written down the full algorithm. The paper only proves that such an algorithm exists. I do not think we can provide an explanation of the technique here without writing an essay as complex as Coppersmith and Winograd's paper. Publishing a short introduction here and a link to the paper is probably the best we can do. 192.167.206.227 14:55, 15 May 2007 (UTC)[reply]

Is this the same as the Winograd algorithm for matrix multiplication? I'm reading about Winograd algorithm in one book right now, and it has quite concise explanation of how the algorithm works. I could give this explanation here, but for some reason I'm not quite sure if it is the same thing. The book is available on Internet (here's the link), however it might not be of much use to you since it's in Serbian :P -- Obradović Goran (talk 00:19, 19 July 2007 (UTC)[reply]
According to Strassen algorithm#History, there is an algorithm due to Winograd in 1980 and another one published in 1990 by Coppersmith and Winograd. Could it be that your book describes the 1980 algorithm? That would also be worthwhile to describe. Winograd's 1980 algorithm is described at http://www.f.kth.se/~f95-eeh/exjobb/background.html . Alternatively, if you give me the page in your book where I should look at, I could have a look - formulas are the same whatever language the book is written. -- Jitse Niesen (talk) 13:14, 23 July 2007 (UTC)[reply]
Yes, it appears that it is the 1980 algorithm. It is said in Serbian text (which is the main reason why I had my doubts that it is this algorithm), that Strassen algorithm is more efficient than Winograd algorithm. The algorithm is described on the page 212 of the book (220 in .pdf) - just search for winograd. I will translate here the description, since it is very short:

Because of simplicity, let us assume that n is even number. Let's introduce the notation

By regrouping, we get

Numbers and are calculated only once fore each row P, and column Q, which takes only n^2 multiplications. Total number of multiplications is therefore decreased to . Number of additions is increased for approximately n^3/2. The algorithm is therefore better than direct one in case when addition is faster than multiplication (which is usually the case).

Comment. Winograd algorithm shows that changing of the order of calculation may decrease the number of calculations, even in expressions like matrix multiplication, which are simple in form. Next algorithm [Strassen] exploits the same idea much more efficiently.

-- Obradović Goran (talk 20:08, 17 May 2008 (UTC)[reply]

?!

The Coppersmith–Winograd algorithm is frequently used as a building block in other algorithms to prove theoretical time bounds.

How does this work? --Abdull (talk) 11:37, 9 August 2008 (UTC)[reply]

You reduce your problem to one or many matrix multiplications, for example this. --Mellum (talk) 19:43, 10 August 2008 (UTC)[reply]

A 2.496 algorithm by Pan?

The Numerical recipes book (at the end of chapter 2) mentions an article from 1984 in SIAM review (vol 26 pp 393--415) that proved a big-O of 2.496 was possible. I haven't found a mention yet of this bound on wikipedia. It's worth mentioning (if it was a valid paper... I'm not a member of SIAM to even read it) as it was a better algorithm than the strassen one for a while before this one. Jason Quinn (talk) 21:43, 28 January 2009 (UTC)[reply]

Hi, I was wondering if someone could include the pseudocode for the Coppersmith-Winograd algorithm (if no one wants to do it, I would actually like to know where I can find it for my own interests).

Thanks, (Dr. Megadeth (talk) 01:24, 5 May 2009 (UTC))[reply]