Factbites
 Where results make sense
About us   |   Why use us?   |   Reviews   |   PR   |   Contact us  

Topic: Strassen algorithm


In the News (Wed 8 Oct 08)

  
  Examples of use   (Site not responding. Last check: 2007-10-25)
Strassen's matrix multiplication algorithm is able to perform this calculation in time
Thus one might be able to speed up the code by using Strassen's algorithm instead of the traditional algorithm.
If one suspects that this is the case one can use comparative debugging to determine if and when the result of Strassen's algorithm differs significantly from that of the ordinary algorithm.
www.ii.uib.no /~fredrikm/fredrik/debug/strassen.html   (126 words)

  
  Strassen algorithm - Wikipedia, the free encyclopedia
In the mathematical discipline of linear algebra, the Strassen algorithm, named after Volker Strassen, is an algorithm used for matrix multiplication.
Although his algorithm is only slightly faster than the standard algorithm for matrix multiplication, he was the first to point out that Gaussian elimination is not optimal.
Practical implementations of Strassen's algorithm switch to standard methods of matrix multiplication for small enough submatrices, for which they are more efficient; the overhead of Strassen's algorithm implies that these "small enough" submatrices are actually quite large, well into thousands of elements.
en.wikipedia.org /wiki/Strassen_algorithm   (423 words)

  
 Tuning Strassen's Matrix Multiplication for Memory Efficiency
Strassen's algorithm for matrix multiplication gains its lower arithmetic complexity at the expense of reduced locality of reference, which makes it challenging to implement the algorithm efficiently on a modern machine with a hierarchical memory system.
All implementations of Strassen's algorithm that we have encountered use an empirically chosen cutoff criterion for determining the matrix size T at which to terminate recursion.
Furthermore, since Strassen's algorithm is based on divide-and-conquer, an implementation must handle odd-size matrices, and reduce recursion overhead by terminating the recursion before it reaches individual matrix elements.
www.cs.duke.edu /~alvy/papers/sc98   (5218 words)

  
 CS 730 -- Assignment 1
In 1969, Volker Strassen discovered an algorithm to multiply two n X n matrices in time O(n^(2.81)) instead of O(n^3) as is required by the standard algorithm.
The algorithm is based on a clever way to multiply 2 X 2 matrices using 7 multiplications and 18 additions/subtractions.
At each recursive step of Strassen's algorithm, if n is odd add an extra row and column of zeros so that A and B are embedded in (n+1) X (n+1) matrices A' and B'.
www.mcs.drexel.edu /~jjohnson/sp03/cs300/assignments/assign1.html   (913 words)

  
 A three-dimensional approach to parallel matrix multiplication
The algorithm has been combined with Winograd's variant of Strassen's algorithm to achieve performance which exceeds the theoretical peak of the system.
Our 3D algorithm can be combined in a straightforward manner with the O(n**2.81) matrix multiplication scheme developed by Strassen, thereby allowing it to take full advantage of the latter's high efficiency [1].
It is also possible to use Strassen's algorithm on the global matrices down to a level where the matrices fit into the local memory of the node, as described by Agarwal et al.
www.research.ibm.com /journal/rd/395/agarwal.html   (2587 words)

  
 rpb002
It is shown that Strassen's method satisfies a certain numerical stability property (albeit weaker than that satisfied by the normal method); and that scaling is essential for numerical accuracy using Winograd's method.
Strassen's method should be faster for sufficiently large n, and this will be important in the future as memory sizes increase.
The error analysis of Strassen's algorithm shows that, although it is not as stable componentwise as the normal algorithm, it is sufficiently stable to be usable in implementations of Level 3 Basic Linear Algebra Subroutines (BLAS).
web.comlab.ox.ac.uk /oucl/work/richard.brent/pub/pub002.html   (331 words)

  
 Designing a new general-purpose language : Another motivating example for load-time configuration
Therefore, it is common practice to use the divide and conquer algorithm down to a certain size, and then switch to the straightforward algorithm.
Strassen's algorithm is divide and conquer, so it is possible to use it down to a certain size and then switch over.
For example, there may be optimizations possible for the straightforward algorithm that depend on knowing the maximum size of the input.
blogs.msdn.com /hartwil/archive/2006/05/04/590254.aspx   (592 words)

  
 Matrix Multiplication   (Site not responding. Last check: 2007-10-25)
Discussion: Although matrix multiplication is an important problem in linear algebra, its main significance for combinatorial algorithms   is its equivalence to a variety of other problems, such as transitive closure and reduction, solving linear systems, and matrix inversion.
Strassen's algorithm is difficult to implement efficiently because of the data structures required to maintain the array partitions.
Algorithm 601 [McN83] of the Collected Algorithms of the ACM is a sparse matrix package written in Fortran that includes routines to multiply any combination of sparse and dense matrices.
www2.toki.or.id /book/AlgDesignManual/BOOK/BOOK3/NODE138.HTM   (910 words)

  
 CSCI 3650, Summer 2000
The full algorithm depends on an algorithm to find an approximation to the median of a list of numbers, which will be derived next time.
The algorithm involved several ideas, including performing a sweep, remembering extra information (not just the answer) to make it possible to update the information, using binary search to speed up searching, and using linked lists to prevent copying of sequences.
That algorithm is described in the text in section 34.4.
www.cs.ecu.edu /~karl/3650/sum00/index.html   (1080 words)

  
 [No title]   (Site not responding. Last check: 2007-10-25)
The Symmetric QR Algorithm is one of the most widely-used algorithms for the calculation of the eigenvalues of a symmetric n*n matrix.
It is based on forming the QR factorisation of a sequence of matrices that are orthogonally similar to (and thus have the same eigenvalues as) A. The convergence of the QR algorithm is frequently accelerated by the incorporation of (explicit or implicit) shifts at each stage of the iteration process.
Quasi-Newton Algorithms, and in particular algorithms from the Broyden family, are the most widely-used algorithms for the unconstrained minimisation of a nonlinear function.
www.ma.man.ac.uk /~freeman/projects_05.html   (423 words)

  
 HPCLab University of Patras - Courses
It aims at introducing the students to fundamental algorithmic techniques and concepts.
What is an algorithm, Graphs, Trees, Asymptotic Notation, Correctness, How good is an Algorithm, Optimal Algorithms, Usage of trees for analyzing algorithms, Lower bounds for searching and sorting arrays, An example of an optimal algorithm, The "heap" data structure and the Heapsort algorithm for sorting arrays, NP and NP-complete problems, Reductions.
Synergy and interaction of algorithms, applications, implementations and computing infrastructure for the development of efficient methods for large computational problems.
www.hpclab.ceid.upatras.gr /home.php?action=courses&language=2   (860 words)

  
 CodeGuru Forums - an existing efficient matrix multiplication algorithm?   (Site not responding. Last check: 2007-10-25)
The one I've implemented is the Strassen algorithm.
Strassen's algorithm is O (N ^ (log (base 2) 7)).
However, the overhead of Strassen's algorithm is such that it is not worth using for matrices with less than some thousands of elements (128x128 may be big enough to show a benefit).
www.codeguru.com /forum/showthread.php?t=402989   (1146 words)

  
 Computer Science - CS 410 Top: Algorithm Design & Analysis (4 credits)   (Site not responding. Last check: 2007-10-25)
Read the well-written description of an algorithm from the computing literature and convert it to code that achieves the best asymptotic performance for that algorithm.
Analysis of algorithms, algorithm selection, associated mathematical techniques, concept of NP-completeness, techniques for proving algorithms are correct.
A major goal of the course is to teach students to choose an appropriate algorithm to solve a problem.
www.cs.pdx.edu /course.php?cid=273   (403 words)

  
 PlanetMath: Solovay-Strassen test
By repeating this algorithm we can increase the chance that the result is correct.
Therefore every iteration of the algorithm has a chance of at most
Since the algorithm would have to be wrong after every iteration, after
planetmath.org /encyclopedia/SolovayStrassenTest.html   (125 words)

  
 Primality Testing
This is the basis of the Solovay-Strassen algorithm.
So, to use this algorithm to find primes, you randomly select odd numbers in the size range you are interested in.
If the algorithm reports that the number is composite, then choose another random selection, until the algorithm reports that your choice is prime.
www-math.cudenver.edu /~wcherowi/courses/m5410/ctcprime.html   (610 words)

  
 Lecture Schedule for CS155   (Site not responding. Last check: 2007-10-25)
This algorithm keeps a queue of unprocessed vertices (initially all the vertices) and each iteration of the main loop removes and processes the member of the queue that is at least "distance" from the source vertex.
This algorithm is a dynamic programming version of the recursion that finds the lowest-weight path from vertex p to vertex q with at most m edges.
The extended euclidean algorithm is both important and basic and you will be expected to master it completely, i.e.
www.mathcs.sjsu.edu /faculty/beeson/courses/cs155/LecturesFall2005.html   (1595 words)

  
 Lecture Schedule for CS155   (Site not responding. Last check: 2007-10-25)
This is an important algorithm in computational biology, illustrating a practical use of dynamic programming.
 The Euclidean algorithm for the gcd,  and the extended Euclidean algorithm.
It works for numbers of the order of a hundred decimal digits long, such as are of interest for studying factorization algorithms and cryptography (as we'll do next semester in CS255).
www.mathcs.sjsu.edu /faculty/beeson/courses/cs155/LecturesFall2004.html   (1228 words)

  
 Home Page for term projects of CS 838-1 Spring 1999
The algorithm for splitting the work is based simply on sending a part of the stack to the requesting processor.
It is a recursive 7-ary divide-conquer algorithm: The basic idea is that the matrix is splits to 4 n/2× n/2 submatrices, from which by summing 7 pairs of submatrices is formed that are then multiplied.
This algorithm is fairly easy to implement, except that you must keep the processors synchronized across the phases of the algorithm and you are required to simulate the 2-D mesh of processors even though you physical interconnect topology might be different.
www.cs.wisc.edu /~tvrdik/project.html   (2164 words)

  
 Algorithms and Data Structures 2006/2007
Algorithms and Data Structures is taught in Semester 1 by Dr Mary Cryan.
Archive of the Inf2B Algorithms material is here (for reference).
Pessimal Algorithms and Simplexity Analysis, by Broder and Stolfi.
www.inf.ed.ac.uk /teaching/courses/ads   (806 words)

  
 [Lowerbounds, Upperbounds] » Multiplying 70-by-70 Matrices
Strassen’s algorithm for matrix multiplication is a classic example of how a straightforward algorithm may be beaten asymptotically by a witty one.
Basically, he designed a class of matrix multiplication algorithms which is parameterized by the size of the submatrices used in the recursion.
The number of multiplication happens to be minimized when the submatrices are chosen to be 70 times smaller.
magic.aladdin.cs.cmu.edu /2006/07/21/multiplying-70-by-70-matrices   (308 words)

  
 Cryptology ePrint Archive   (Site not responding. Last check: 2007-10-25)
Several variations of Gaussian Elimination, Strassen's Algorithm and the Method of Four Russians are analyzed.
In particular, we demonstrate that Strassen's Algorithm is actually slower than the Four Russians algorithm for matrices of the sizes encountered in these problems.
This algorithm is $\log n$ times faster than Gaussian Elimination for dense boolean matrices.
eprint.iacr.org /2006/163   (210 words)

  
 Tuning Strassen's Matrix Multiplication for Memory Efficiency - Thottethodi, Chatterjee, Lebeck (ResearchIndex)   (Site not responding. Last check: 2007-10-25)
Abstract: Strassen's algorithm for matrix multiplication gains its lower arithmetic complexity at the expense of reduced locality of reference, which makes it challenging to implement the algorithm efficiently on a modern machine with a hierarchical memory system.
First, the algorithm internally uses a non-standard array layout known as Morton order that is based on a...
5 Implementation of Strassen's algorithm for matrix multiplica..
citeseer.ist.psu.edu /thottethodi98tuning.html   (531 words)

  
 Strassen products   (Site not responding. Last check: 2007-10-25)
The lack of an obvious pattern in the algorithm was the original motive for the work described in this paper.
The budget for a Strassen product, using the Winograd improvement, is 22 operations (7 multiplications and 15 additions).
Based on the number of "stems" generated by the parallel algorithm and the rate at which progress is made through that set of stems, we estimate that exhaustive search for the Strassen matrix product on the 1,024-processor nCUBE 2, even with aggressive pruning rules, would take many centuries.
www.scl.ameslab.gov /Publications/Gus/FiveMultiplications/node13.html   (237 words)

  
 [Lowerbounds, Upperbounds] » Theory of Computing
Instead of picking a random element and accept it as the pivot, we let the partitioning algorithm test if the random element is a balanced pivot, i.e., it sits between the 25-percentile and the 75-percentile.
Clearly the probability of picking a balanced pivot is 1/2 and so the partitioning algorithm will finish in an expected constant number of trials.
Instead, Bastet uses a special algorithm designed to choose the worst brick possible.
magic.aladdin.cs.cmu.edu /category/theory-of-computing   (3632 words)

  
 Papers Directory
David H. Bailey and Helaman R. Ferguson, "A Strassen-Newton Algorithm for High-Speed Parallelizable Matrix Inversion," Proceedings of Supercomputing 1988, Oct 1988, pg.
This paper was later cited for both the Chauvenet Prize and the Merten Hesse Prize, awarded by the Mathematical Association of America.
David H. Bailey, "The BBP Algorithm for Pi," manuscript, Sep 2006.
crd.lbl.gov /~dhbailey/dhbpapers   (2057 words)

  
 CS 241 Algorithmics
  Use the algorithm developed in the book and lecture notes in your proof.
Write an O(n) algorithm that computes the union  A È B of two n-element sets A and B of integers.
Show how Strassen's algorithm computes the matrix product of
www.academic.marist.edu /~jzbv/algorithms/Hw4_DivideAndConquer.htm   (263 words)

  
 Unambiguous Hit List Of Gerguson
Gerguson: A Strassen Newton algorithm for high speed Info: Daily Result: New Schedule: Last Month: This Month: Next Month Demetric Gerguson Tournament results for Demetric Gerguson.
Gerguson: A Strassen Newton algorithm for high speed efrguson freguson fegruson ferugson fergsuon ferguosn fergusno derguson rerguson terguson Hinckson verguson cerguson fwrguson f3rguson f4rguson frrguson ffrguson fdrguson fsrguson feeguson during his lifetime, but in reality he was Harry Gerguson, an Orphan Train Rider.
Gerguson: A Strassen Newton algorithm for high speed during his lifetime, but in reality he was Harry Gerguson, an Orphan Train Rider.
bigconnecticutguide.info /names/Gerguson.php   (317 words)

  
 Extra-High Speed Matrix Multiplication on the Cray-2 - Bailey (ResearchIndex)   (Site not responding. Last check: 2007-10-25)
This can be achieved by (1) employing Strassen's matrix...
Both IBM and Cray support routines for fast matrix multiplications using Strassen s algorithm.
However, the error bound given by Strassen s algorithm is weaker than that...
citeseer.ist.psu.edu /158992.html   (489 words)

  
 Schönhage-Strassen algorithm - Wikipedia, the free encyclopedia
In mathematics, the Schönhage-Strassen algorithm is an asymptotically fast method for multiplication of large integers.
It was developed by Arnold Schönhage and Volker Strassen in 1971
The algorithm uses Fast Fourier Transforms in rings with
en.wikipedia.org /wiki/Sch%C3%B6nhage-Strassen_algorithm   (177 words)

Try your search on: Qwika (all wikis)

Factbites
  About us   |   Why use us?   |   Reviews   |   Press   |   Contact us  
Copyright © 2005-2007 www.factbites.com Usage implies agreement with terms.