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

Topic: Multiplication algorithm


Related Topics

  
  Multiplication algorithm - Wikipedia, the free encyclopedia
A multiplication algorithm is an algorithm (or method) to multiply two numbers.
Lattice multiplication is algorithmically equivalent to long multiplication.
This algorithm is also known as Peasant multiplication, because it has been widely used among those who are unschooled and thus have not memorized the multiplication tables required by long multiplication.
en.wikipedia.org /wiki/Multiplication_algorithm   (1145 words)

  
 Strassen algorithm - Wikipedia, the free encyclopedia
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.
His paper started the search for even faster algorithms such as the Winograd algorithm in 1980 (which uses 7 binary multiplications, but 15 binary additions instead of 18 with the Strassen algorithm), and the more complex Coppersmith-Winograd algorithm published in 1987.
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   (405 words)

  
 Binary numeral system - Wikipedia, the free encyclopedia
Multiplication in binary is similar to its decimal counterpart.
So in the algorithm to convert from an integer decimal numeral to its binary equivalent, the number is divided by two, and the remainder written in the ones-place.
This suggests the algorithm: Repeatedly double the number to be converted, record if the result is at least 1, and then throw away the integer part.
en.wikipedia.org /wiki/Binary_numeral_system   (3137 words)

  
 Algorithm - Facts, Information, and Encyclopedia Reference article
Algorithms can be implemented by computer programs, although often in restricted forms; mistakes in implementation and limitations of the computer can prevent a computer program from correctly executing its intended algorithm.
The concept of an algorithm is often illustrated by the example of a recipe, although many algorithms are much more complex; algorithms often have steps that repeat (iterate) or require decisions (such as logic or comparison).
Certain countries, such as the USA, controversially allow some algorithms to be patented, provided a physical embodiment is possible (for example, a multiplication algorithm may be embodied in the arithmetic unit of a microprocessor).
www.startsurfing.com /encyclopedia/a/l/g/Algorithm.html   (2150 words)

  
 Matrix Multiplication
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)

  
 Peasant Multiplication
It is even said that the algorithm "is still used by peasants in some areas, such as Russia." However, the source of the Russian Peasant designation is unexpectedly murky.
I may only conjecture that the algorithm has acquired the Russian part of the designation in the process of translation from Russian and the Peasant part was appended due to a widely spread conviction that (at least in older times) it was mostly the peasant population that exclusively, albeit sparsely, filled the Russian vastness.
It is sometimes referred to as the Ethiopian (Peasant) Multiplication; the linkage could be explained by the proximity of the two nations and intermixing of their cultures.
www.cut-the-knot.org /Curriculum/Algebra/PeasantMultiplication.shtml   (795 words)

  
 Booth's multiplication algorithm - Wikipedia, the free encyclopedia
Booth's algorithm follows this scheme by performing an addition when it encounters the first digit of a block of ones (0 1) and a subtraction when it encounters the end of the block (1 0).
The algorithm was invented by Andrew D. Booth in 1951 while doing research on crystallography at Birkbeck College in Bloomsbury, London.
Booth's algorithm is of interest in the study of computer architecture.
en.wikipedia.org /wiki/Booth's_multiplication_algorithm   (386 words)

  
 CS 267 Homework Assignment 1
We attempted changes to the matrix multiplication algorithm such as: loop unrolling, explicit pre-loading, explicit use of registers, inter- and intra-block traversal order, interchanging the order of loops and the elimination of function calls.
Figure 2 shows the performance of the naïve matrix-matrix multiplication algorithm versus square matrix size N. It is evident that this algorithm is not scalable since greater than 100 Mflops/s performance is sustained for values of N<96 and falls off to less than 10 Mflops/s at N=512.
The matrix-matrix multiply algorithm was evaluated on the Millennium cluster.
www.cs.berkeley.edu /~binetude/course/cs267/assignment1/assignment1.htm   (2035 words)

  
 Assignment: Integer and Polynomial Multiplications
The purpose of this assignment is for you to familiarize yourselves with different algorithms for integer and polynomial multiplication.
Algorithms considered in this assignment include (a) the long (gradeschool) multiplication method, and (b) the basic divide-and-conquer method.
Implement long multiplication (gradeschool) of arbitrary length integers in a manner similar to the multiplication of the polynomials of the example programs.
www.cs.pitt.edu /~kirk/cs1501/assignments/intmult/mult-03-2.html   (881 words)

  
 AAPS Everyday Mathematics Parent Handbook
Algorithms generally involve repeating a series of steps over and over, as in the borrowing and carrying algorithms and in the long multiplication and division algorithms.
This algorithm is included mainly for its historical interest, and the fact that it provides fine practice with the multiplication facts and adding single-digit numbers.
The uses of this algorithm with problems that involve scientific notation or decimal information will be explored briefly in grades 5 and 6, mainly to build number sense and understanding of the meanings of division.
instruction.aaps.k12.mi.us /EM_parent_hdbk/algorithms.html   (2329 words)

  
 [No title]
Another possibility, based on the definition of multiplication as multiple additions, could proceed by adding one of the integers n times, where n is the other integer.
Multiplication of a given number by a binary digit (step 1a) simply produces 0 (if the binary digit is 0), or reproduces the given number (if the binary digit = 1).
This algorithm obviously takes longer on average to match the answer the greater N is, and is of order N. An alternative strategy is to divide the guessing range in half and determine which half the answer lies in.
www.unm.edu /~dmclaugh/Computation/5_Algorithms   (4311 words)

  
 Other Algorithms
Lattice multiplication and variations of today's standard long multiplication were introduced into Europe by Fibonacci (whose correct name is Leonardo of Pisa).
This interesting algorithm of multiplication, which was used long ago, is based on the principle of doubling and halving.
To use the Russian peasant algorithm, 49 is placed in the halves column and 183 in the doubles column.
online.edfac.unimelb.edu.au /485129/wnproj/multiply/lattice.htm   (875 words)

  
 Formal Algorithms for Multiplication
Teaching the algorithm proceeds in three steps: multiplication by a single digit, then multiplication by a multiple of ten and then to multiplication by numbers with two or more digits.
Children should write multiplication in this form for some time, until the procedure is familiar and the concepts (especially the distributive law) is well understood.
Multiplication by a multiple of ten in their heads and it doesn't matter if not all children can do Multiplication by numbers with two or more digits &endash; except for special numbers done mentally.
online.edfac.unimelb.edu.au /485129/wnproj/multiply/algorith.htm   (622 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.
23] for matrix multiplication and its variants are the most practical of such algorithms, and are classic examples of theoretically high-performance algorithms that are challenging to implement efficiently on modern high-end computers with deep memory hierarchies.
The conventional algorithm is applied to submatrices that are each 8KB in size (32x32x8), and correspond to the four quadrants of a 64x64 submatrix.
www.cs.duke.edu /~alvy/papers/sc98/index.htm   (5218 words)

  
 [No title]
The algorithm multiplies A, a m x k matrix, and B, a k x n matrix, to produce C, a m x n matrix.
Two versions of this algorithm were optimized, the first was squared matrices and the second was non-squared matrices.
In the enhanced version of the algorithm, a temporary variable is used to compute the sum, and not until the sum is completely finished being calculated is this value stored into the matrix.
filebox.vt.edu /j/jawolfe1/wolfe_proj2.doc   (818 words)

  
 Fast Multiplication -- Booth's Algorithm   (Site not responding. Last check: 2007-10-22)
It is obvious that If straight forward multiplication is used, the first one is easier than the second as only two single-digit multiplications are needed for the first while four are needed for the second.
The Booth's algorithm for multiplication is based on this observation.
When the multiplicand is negative represented by signed 2's complement, it needs to be complemented again for subtraction (when the LSB of multiplier is 1 and the extra bit is 0, i.e., the beginning of a string of 1's).
fourier.eng.hmc.edu /e85/lectures/arithmetic_html/node10.html   (420 words)

  
 Analysis of a Class of Parallel Matrix Multiplication Algorithms
Notice that our algorithms inherently operate on matrices and panels, and thus the performance for the different cases in Table 2 where "small" is taken to equal the algorithmic blocking size needs to be determined.
By comparison, a panel-panel or panel-matrix based algorithm will inherently perform badly when n is small, since in those algorithms parallelism is derived from the distribution of C and B, respectively, which are only distributed to one or a few columns of nodes when k is small.
In particular, choosing between the algorithms that target the case where at least two dimensions are large would become a matter of determining which matrix has the largest number of elements.
www.cs.utexas.edu /users/plapack/papers/ipps98/ipps98.html   (4779 words)

  
 Linear Algebra Part One
This algorithm is employed to study the structure of the eigen-values and eigen-vectors, especially degenerate conditions of repeated eigen-values.
The complications resulting from degeneracy of the given matrix affect each of the algorithms of the multiplication family in the same manner.
In it is stated that "while there are many known algorithms for finding the eigen-pairs of a Hermitian matrix; there is no known algorithm for a non-Hermitian matrix." This statement would include the multiplication family (multiplication, division, my squaring) and the Jacobi algorithm.
www.rism.com /LinAlg/LAone.htm   (3845 words)

  
 Publications Volker Müller
Finally we present a fast probabilistic algorithm for checking whether a given rational function is congruent to an entry in a table of rational functions modulo some fixed polynomial.
The algorithm is a generalization of a similar algorithm for quadratic number fields.
The theory of both algorithms is explained and a description of an implementation for large prime fields is given.
lecturer.ukdw.ac.id /vmueller/publications.php   (1794 words)

  
 Integer Power Algorithm
If you implement multiplication in such a way that multiplying an M-bit number by an N-bit number takes time proportional to MN, then the elegant algorithm above may be no faster than just multiplying by x n times; it might even be slower.
Your x^15 algorithm was wrong; you had (x^3)*(x^5) when you needed (x^3)^5.
You are right; a naive multiplication algorithm that multiplies two N-bit numbers in O(N^2) time would be slow.
c2.com /cgi/wiki?IntegerPowerAlgorithm   (730 words)

  
 Introducing A Multiplication Algorithm
Students will be able to use the paper and pencil algorithm for multiplication and the Base 10 Blocks to interpret the multiplication of a single-digit number and a multi-digit number.
After this lesson has been completed, students will be able to represent multiplication with base 10 blocks and will also be able to connect this concrete representation of multiplication to the paper and pencil algorithm.
Students will be presented with a multiplication word problem.
www2.bc.edu /~coylejc/Base10LessonPg.htm   (648 words)

  
 CS 1501
The purpose of this assignment is to empirically compare a production very-long-integer multiplication algorithm such as that in the NTL library with one that you write yourself.
The ZZ multiplication algorithm from the NTL library is a hybrid algorithm – it uses the Gradeschool algorithm ("classical" algorithm as described in NTL) until a certain integer size, and then crosses over to the Karatsuba algorithm.
Store/save the (digits, elapsed time) pairs for both of the multiplication algorithms for each digit value used (remember that the max value for digits may be different for different algorithms).
www.cs.pitt.edu /~kirk/cs1501/assignments/longinteger/assig1.html   (1278 words)

  
 1.2 Multiplication Algorithm   (Site not responding. Last check: 2007-10-22)
As is to be expected, multiplication is more complicated.
The usual method of multiplication requires simultaneous summation of multiple rows of decimal numbers.
While this looks a bit complex, it is still not the most efficient when the p and q are large enough to allow us to use more (order linear in p and q) ``book-keeping'' steps in exchange for efficiency.
www.imsc.res.in /~kapil/crypto/notes/node3.html   (280 words)

  
 strassen matrix multiplication algorithm
Since all of the runs are timed identically, one can assume that the timings match relative to each other, but not to any kind of wall clock time.
By functioning properly is meant that the Classical and Strassen results were subtracted from the Maple Default algorithm results.
This argument is an integer that will be the row size of one of the matrices, matrix A. The column size of A is the row size plus a constant, for these runs, the constant is -9.
bl-uits-tucson.ads.iu.edu /tom/strassen   (936 words)

  
 A Poly-Algorithm for Parallel Dense Matrix Multiplication on Two-Dimensional Process Grid Topologies - Li, Skjellum, ...   (Site not responding. Last check: 2007-10-22)
We classify these algorithms coherently into three categories according to the communication primitives used and thus we offer a taxonomy for this family of related algorithms.
One of the primary design goals of PMLP is in enabling the use of different algorithms depending on data representation schemes, while...
The possibility for combining different algorithms operating under various data representation schemes is one of the main features in...
citeseer.ifi.unizh.ch /2892.html   (510 words)

  
 CS267: Notes for Lecture 9 (part 2), Feb 13, 1996
This algorithm is well suited to an s-by-s mesh of processors, for which we will now measure the performance.
Rather than describe this algorithm, due to Ho, Johnsson and Edelman, in detail, we refer the reader to paper Parallel Numerical Linear Algebra, by Demmel, Heath, and van der Vorst, in volume 7 of the Class Reference Material.
As mentioned above, matrix multiplication with a 1D layout on a ring of processors can be done using a communication pattern very similar to the one needed for computing gravity in the "Sharks and Fish 2 problem.
www.cs.berkeley.edu /~demmel/cs267/lecture11/lecture11.html   (3038 words)

  
 Matrix Addition and Multiplication   (Site not responding. Last check: 2007-10-22)
Addition of two matrices is very simple: the sum of two matrices is the matrix composed of the sums of elements of the two matrices:
This definition is expressed in C in algorithm 4.1.
The algorithm for multiplication is quite a bit different than might be expected- instead of simply multiplying the elements together, each element of the product is the result of several operations, as described in algorithm 4.2.
www.eecs.harvard.edu /~ellard/Q-97/HTML/root/node18.html   (133 words)

  
 math lessons - Multiplication algorithm
An old method for multiplication, that does not require multiplication tables, is the Peasant multiplication algorithm; this is actually a method of multiplication using base 2.
Instead of computing a convolution, one can instead first compute the discrete Fourier transforms, multiply them entry by entry, and then compute the inverse Fourier transform of the result.
(See convolution theorem.) The fastest known method based on this idea was described in 1971 by Schönhage and Strassen (Schönhage-Strassen algorithm) and has a time complexity of Θ(n ln(n) ln(ln(n))).
www.mathdaily.com /lessons/Multiplication_algorithm   (917 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.