Download Article

Total Page:16

File Type:pdf, Size:1020Kb

Download Article International Conference on Software Engineering and Computer Science (ICSECS2013) Analysis of the Time Complexity of Strassen Algorithm Xiang Wang School of Information and Electronic Engineering Tianjin Vocational Institute Tianjin, China e-mail: [email protected] Abstract—Algorithms of matrix multiplication are widely used The function of matrix multiplication is as follows: in software engineering field. Application of Strassen template<class Type> algorithm makes a significant contribution to optimize the Type M (Type a[][N], Type b[][N],int m, int n, int p) algorithm . Therefore, thorough study based on time { complexity of matrix multiplication algorithm is very Type c[][N]; important. This paper talks about the time complexity of Strassen algorithm and general algorithm for matrix for(int k=0;k<m;k++ ) for(int u=0;u<n;u++ ) multiplication, and makes a comparison between the two algorithm routines so as to discuss the advantages and for(int v=0;v<p;v++) disadvantages of Strassen algorithm. The rational utilization c[k][u]=c[k][u]+a[k][v]*b[v][u]; plan of matrix multiplication algorithms is also discussed. return *c; } Keywords-algorithms for matrix multiplication; time complexity; Strassen algorithm We can obtain the following conclusion very easily: time complexity of a general algorithm for matrix I. A GENERAL ALGORITHM FOR MATRIX multiplication depends on the rows and columns of matrix A MULTIPLICATION and matrix B., and generally we can explain the time Let A=(aij)m × n be an m × n matrix, and let B=(bij)n × p complexity through the following expression, i.e., be an n × p matrix. Given an (m×p) matrix A with r row O(m×n×p). If matrix A and matrix B are both n × n matrices, partitions and s column partitions and a (p×n) matrix with s A×B is just a special case of matrix multiplication. And if n row partitions and t column partitions that are compatible is a power of 2, both matrix A and matrix B can be with the partitions of A, the matrix product C=A×B. partitioned into 4 n/2×n/2 blocks. The partitioned matrix can generally we can explain the matrix multiplication through then be written as the following expression, i.e., AA11 12 BB11 12 A B AAA11 12 1s BBB11 12 1t AA21 22 BB21 22 AAA21 22 2s BBB21 22 2t A B . ABABABAB 11 11 12 21 11 12 12 22 AB (3) ABABABAB21 11 22 21 21 12 22 22 AAAr1 r 2 rs BBBs1 s 2 st CCC 11 12 1t In this case, if we adopt the general algorithm for matrix CCC21 22 2t multiplication, then we need make eight n/2×n/2 Matrix AB Multiplications and four Matrix additions (or matrix subtractions). Let T(n) be time complexity of matrix CCC multiplication, we can explain the T(n) through the r1 r 2 rt (1) following recursive expression, i.e., Thus AB can be formed blockwise, yielding as an (m×p) 1 n 1 matrix with r row partitions and t column partitions. The 2 matrices in your matrix are calculated by multiplying: T() n n n (4) 8T 4 n 1 2 2 s CAB and i=1,…,r;j=1,…,t. (2) ij i j and generally we can explain the time complexity 1 through the following expression, i.e., O(n3). © 2013. The authors - Published by Atlantis Press 103 II. ANALYSIS OF TIME COMPLEXITY OF THE STRASSEN 2 2k 2k ALGORITHM T(n) 7T 81 Strassen algorithm used for matrix multiplication, which 2 2 is invented by the German mathematician Volker Strassen in 1969, is considered as one of the fastest and best matrix 1-k 1-k 2 multiplication algorithms. We define 7 new matrices: 7T2 18 2 F1=A11(B12-B22), 2-k 2-k 2 k-1 2 F2=(A11+A12)B22, 77T2 18 2 18 2 F3=(A21+A22)B11, 2 k-2 2-k 2 k-1 2 F4=A22(B21-B11), 7 T 2 7 18 2 18 2 F5=(A11+A22)(B11+B22), 2 k-3 3-k 2 F6=(A12-A22)(B21+B22), 7 7T2 18 2 F7=(A -A )(B +B ) 11 21 11 12 2 2 Thus 7 18 22-k 18 2 1-k 3 k-3 2 3-k 2 FFFFFF 7 T 2 7 18 2 AB 5 4 2 6 1 2 2-k 2 1-k 2 FFFFFF3 4 1 5 3 7 7 18 2 18 2 (5) k1 2 The numbers of n/2×n/2 matrix multiplication may set 7i 182 1-i-k back to 7 through the Strassen algorithm, when compared i0 with the general algorithm for matrix multiplication. This k1 i meantime, there are 18 matrix addition or matrix subtraction. 2 7 182k As n is a power of 2, if let k be nonnegative integer, then n i 1 2 is k-th power of 2. If k=0, then the time complexity of i0 2 matrix multiplication is 1. If k>0, generally we can explain k1 i time complexity of matrix multiplication through the 9 k 2 7 following recursive expression, 2 2 i0 4 k 2 7 n n 1 7T 81 9 k 2 4 2 2 2 i.e., (6) 2 7 1 4 so we can explain the T(n) through the following recursive expression, 6 7k 6 4k Since 1 n 1 2 k log2 n T() n n n 7 7 7T 81 n 1 2 2 log2 n i.e., (7) logn 7 n If n>1, then nlog2 n logn 7 log2 7 2 log2 n n n n log2 n T(n) 7T 81 2 2 log 7 (8) n 2 We come next to the analysis of equation(8). We replace n .2 807355 variable n with 2k. .2 81 n and 104 k2 k 2log2 n k 4 2 2 k 2 1 2 2 2 log2 n 2 1 2 2 n , 23k 2 2 k Then, we have 23log2 n 22log2 n 1 n 1 3 2 T() n .2 81 2 n n 6n 6 n n 1 (9) Thus, we have This meantime, we can explain the time complexity through the following expression, i.e., O(n2.81). It is evident 1 n 1 that the Strassen algorithm was more efficient than the T() n 3 2 (11) general algorithm for matrix multiplication. In fact, if n is n n n 1 not a power of 2, the matrix can be embedded into another matrix (let the matrix be matrix E) whose number of Let us begin to consider the behavior of a new function: dimension is a power of 2. In matrix multiplication, if the dimension of matrix E take minimum value within the 3 2 2.81 2 design requirement above is achieved, the dimension will K( n ) ( n n ) ( n 6 n ) increase twofold at most. Thus, the time complexity of i.e., K() n n3 n 2.81 5 n2 (12) Strassen algorithm can still be described as O(n2.81). III. VARIATION TRENDS OF TIME COMPLEXITY OF THE We can easily get the first order derivative and second STRASSEN ALGORITHM order derivative of the function, such that For the general algorithm for matrix multiplication, let n 2 .1 81 be a power of 2. If let k be nonnegative integer, then n is k-th K( n ) 3 n 2.81 n 10 n (13) k power of 2, i.e., n=2 . When n>1, we can deeply analyze K( n ) 6 n 5.0861 n .0 81 10 (14) time complexity of the general algorithm for matrix multiplication through the following recursive expression, We can obtain that if n>1, then K( n ) 0 and 2 n n K( n ) 0 . This implies that Strassen algorithm is always T(n) 8T 4 better than the general algorithm for matrix multiplication in 2 2 (10) terms of time complexity. And the advantage of the Strassen algorithm will became more obvious with the increase of We come next to the analysis of equation(10). We dimension of matrix. Strassen algorithm adopts the method replace variable n with 2k. of recursive algorithms, which is helpful to the implementation and analysis of the algorithm. However, the 2 method make the algorithm require a great number of 2k 2k T(n) 8T 4 dynamic two dimensional arrays so as to assign memory 2 2 space. which enhance the time complexity and space complexity when the dimension of matrix is smaller. 2 8T 2k1 4 2k1 However, the general algorithm for matrix multiplication is no problem on this aspect. Tests show when the dimension k1 of matrix is less than 500, this situation will get even worse. 2 8i 4 2 1-i-k In order to solve this problem, we can specify a numeric value (such as 500) for algorithm routine, and we will adopt i0 Strassen algorithm or the general algorithm for matrix k1 i k 2 8 multiplication based on the comparisons between the 4 2 dimension and the numeric value. i 1 2 i0 2 The function of Strassen algorithm is as follows: k1 k 2 i 2 2 i0 105 subtraction) to decrease the number of block matrix template<class Type> multiplication, and adopts divide and conquer algorithm to void S (int n,Type A[][N],Type B[][N],Type AB[][N]) complete matrix multiplication through recursive function. { Such methods can effectively reduce the time complexity of ...// definition of related array matrix multiplication.
Recommended publications
  • 1 Introduction and Contents
    University of Padova - DEI Course “Introduction to Natural Language Processing”, Academic Year 2002-2003 Term paper Fast Matrix Multiplication PhD Student: Carlo Fantozzi, XVI ciclo 1 Introduction and Contents This term paper illustrates some results concerning the fast multiplication of n × n matrices: we use the adjective “fast” as a synonym of “in time asymptotically lower than n3”. This subject is relevant to natural language processing since, in 1975, Valiant showed [27] that Boolean matrix multiplication can be used to parse context-free grammars (or CFGs, for short): as a consequence, a fast boolean matrix multiplication algorithm yields a fast CFG parsing algorithm. Indeed, Valiant’s algorithm parses a string of length n in time proportional to TBOOL(n), i.e. the time required to multiply two n × n boolean matrices. Although impractical because of its high constants, Valiant’s algorithm is the asymptotically fastest CFG parsing solution known to date. A simpler (hence nearer to practicality) version of Valiant’s algorithm has been devised by Rytter [20]. One might hope to find a fast, practical parsing scheme which do not rely on matrix multiplica- tion: however, some results seem to suggest that this is a hard quest. Satta has demonstrated [21] that tree-adjoining grammar (TAG) parsing can be reduced to boolean matrix multiplication. Subsequently, Lee has proved [18] that any CFG parser running in time O gn3−, with g the size of the context-free grammar, can be converted into an O m3−/3 boolean matrix multiplication algorithm∗; the constants involved in the translation process are small. Since canonical parsing schemes exhibit a linear depen- dence on g, it can be reasonably stated that fast, practical CFG parsing algorithms can be translated into fast matrix multiplication algorithms.
    [Show full text]
  • Mathematics People
    Mathematics People Srinivas Receives TWAS Prize Strassen Awarded ACM Knuth in Mathematics Prize Vasudevan Srinivas of the Tata Institute of Fundamental Volker Strassen of the University of Konstanz has been Research, Mumbai, has been named the winner of the 2008 awarded the 2008 Knuth Prize of the Association for TWAS Prize in Mathematics, awarded by the Academy of Computing Machinery (ACM) Special Interest Group on Sciences for the Developing World (TWAS). He was hon- Algorithms and Computation Theory (SIGACT). He was ored “for his basic contributions to algebraic geometry honored for his contributions to the theory and practice that have helped deepen our understanding of cycles, of algorithm design. The award carries a cash prize of motives, and K-theory.” Srinivas will receive a cash prize US$5,000. of US$15,000 and will deliver a lecture at the academy’s According to the prize citation, “Strassen’s innovations twentieth general meeting, to be held in South Africa in enabled fast and efficient computer algorithms, the se- September 2009. quence of instructions that tells a computer how to solve a particular problem. His discoveries resulted in some of the —From a TWAS announcement most important algorithms used today on millions if not billions of computers around the world and fundamentally altered the field of cryptography, which uses secret codes Pujals Awarded ICTP/IMU to protect data from theft or alteration.” Ramanujan Prize His algorithms include fast matrix multiplication, inte- ger multiplication, and a test for the primality
    [Show full text]
  • Amortized Circuit Complexity, Formal Complexity Measures, and Catalytic Algorithms
    Electronic Colloquium on Computational Complexity, Report No. 35 (2021) Amortized Circuit Complexity, Formal Complexity Measures, and Catalytic Algorithms Robert Roberey Jeroen Zuiddamy McGill University Courant Institute, NYU [email protected] and U. of Amsterdam [email protected] March 12, 2021 Abstract We study the amortized circuit complexity of boolean functions. Given a circuit model F and a boolean function f : f0; 1gn ! f0; 1g, the F-amortized circuit complexity is defined to be the size of the smallest circuit that outputs m copies of f (evaluated on the same input), divided by m, as m ! 1. We prove a general duality theorem that characterizes the amortized circuit complexity in terms of “formal complexity measures”. More precisely, we prove that the amortized circuit complexity in any circuit model composed out of gates from a finite set is equal to the pointwise maximum of the family of “formal complexity measures” associated with F. Our duality theorem captures many of the formal complexity measures that have been previously studied in the literature for proving lower bounds (such as formula complexity measures, submodular complexity measures, and branching program complexity measures), and thus gives a characterization of formal complexity measures in terms of circuit complexity. We also introduce and investigate a related notion of catalytic circuit complexity, which we show is “intermediate” between amortized circuit complexity and standard circuit complexity, and which we also characterize (now, as the best integer solution to a linear program). Finally, using our new duality theorem as a guide, we strengthen the known upper bounds for non-uniform catalytic space, introduced by Buhrman et.
    [Show full text]
  • Michael Oser Rabin Automata, Logic and Randomness in Computation
    Michael Oser Rabin Automata, Logic and Randomness in Computation Luca Aceto ICE-TCS, School of Computer Science, Reykjavik University Pearls of Computation, 6 November 2015 \One plus one equals zero. We have to get used to this fact of life." (Rabin in a course session dated 30/10/1997) Thanks to Pino Persiano for sharing some anecdotes with me. Luca Aceto The Work of Michael O. Rabin 1 / 16 Michael Rabin's accolades Selected awards and honours Turing Award (1976) Harvey Prize (1980) Israel Prize for Computer Science (1995) Paris Kanellakis Award (2003) Emet Prize for Computer Science (2004) Tel Aviv University Dan David Prize Michael O. Rabin (2010) Dijkstra Prize (2015) \1970 in computer science is not classical; it's sort of ancient. Classical is 1990." (Rabin in a course session dated 17/11/1998) Luca Aceto The Work of Michael O. Rabin 2 / 16 Michael Rabin's work: through the prize citations ACM Turing Award 1976 (joint with Dana Scott) For their joint paper \Finite Automata and Their Decision Problems," which introduced the idea of nondeterministic machines, which has proved to be an enormously valuable concept. ACM Paris Kanellakis Award 2003 (joint with Gary Miller, Robert Solovay, and Volker Strassen) For \their contributions to realizing the practical uses of cryptography and for demonstrating the power of algorithms that make random choices", through work which \led to two probabilistic primality tests, known as the Solovay-Strassen test and the Miller-Rabin test". ACM/EATCS Dijkstra Prize 2015 (joint with Michael Ben-Or) For papers that started the field of fault-tolerant randomized distributed algorithms.
    [Show full text]
  • Modular Algorithms in Symbolic Summation and Sy
    Lecture Notes in Computer Science 3218 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University, UK Takeo Kanade Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler University of Surrey, Guildford, UK Jon M. Kleinberg Cornell University, Ithaca, NY, USA Friedemann Mattern ETH Zurich, Switzerland John C. Mitchell Stanford University, CA, USA Moni Naor Weizmann Institute of Science, Rehovot, Israel Oscar Nierstrasz University of Bern, Switzerland C. Pandu Rangan Indian Institute of Technology, Madras, India Bernhard Steffen University of Dortmund, Germany Madhu Sudan Massachusetts Institute of Technology, MA, USA Demetri Terzopoulos New York University, NY, USA Doug Tygar University of California, Berkeley, CA, USA Moshe Y. Vardi Rice University, Houston, TX, USA Gerhard Weikum Max-Planck Institute of Computer Science, Saarbruecken, Germany Jürgen Gerhard Modular Algorithms in Symbolic Summation and Symbolic Integration 13 Author Jürgen Gerhard Maplesoft 615 Kumpf Drive, Waterloo, ON, N2V 1K8, Canada E-mail: [email protected] This work was accepted as PhD thesis on July 13, 2001, at Fachbereich Mathematik und Informatik Universität Paderborn 33095 Paderborn, Germany Library of Congress Control Number: 2004115730 CR Subject Classification (1998): F.2.1, G.1, I.1 ISSN 0302-9743 ISBN 3-540-24061-6 Springer Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks.
    [Show full text]
  • Strassen's Matrix Multiplication Algorithm for Matrices of Arbitrary
    STRASSEN’S MATRIX MULTIPLICATION ALGORITHM FOR MATRICES OF ARBITRARY ORDER IVO HEDTKE Abstract. The well known algorithm of Volker Strassen for matrix mul- tiplication can only be used for (m2k × m2k) matrices. For arbitrary (n × n) matrices one has to add zero rows and columns to the given matrices to use Strassen’s algorithm. Strassen gave a strategy of how to set m and k for arbitrary n to ensure n ≤ m2k. In this paper we study the number d of ad- ditional zero rows and columns and the influence on the number of flops used by the algorithm in the worst case (d = n/16), best case (d = 1) and in the average case (d ≈ n/48). The aim of this work is to give a detailed analysis of the number of additional zero rows and columns and the additional work caused by Strassen’s bad parameters. Strassen used the parameters m and k to show that his matrix multiplication algorithm needs less than 4.7nlog2 7 flops. We can show in this paper, that these parameters cause an additional work of approximately 20 % in the worst case in comparison to the optimal strategy for the worst case. This is the main reason for the search for better parameters. 1. Introduction In his paper “Gaussian Elimination is not Optimal” ([14]) Volker Strassen developed a recursive algorithm (we will call it S) for multiplication of square matrices of order m2k. The algorithm itself is described below. Further details can be found in [8, p. 31]. Before we start with our analysis of the parameters of Strassen’s algorithm we will have a short look on the history of fast matrix multiplication.
    [Show full text]
  • An Interview with Michael Rabin Interviewer: David Harel (DH) November 12, 2015 in Jerusalem
    Page 1 An Interview with Michael Rabin Interviewer: David Harel (DH) November 12, 2015 in Jerusalem. DH: David Harel MR: Michael Rabin DH: My name is David Harel and I have the great pleasure of interviewing you, Michael Rabin but we will try and stick with “Michael” here. This interview is taking ( ִמ ָיכ ֵאל עוזר ַר ִבּין :Hebrew) place as a result of you winning the Turing Award in 1976 and the ACM producing a series of these interviews. Maybe you can start by telling us where you were born and how you began to shift into things that were close to mathematics. MR: So I was born in Germany in a city called Breslau which was later on annexed to Poland and is now called Wrocław. My father was there, at that time, the Rector, the Head, of the Jewish Theological Seminary – a very famous institution in Jewry. In 1935, I was born in 1931, my father realized where things were going in Germany, took us, his family, and we emigrated to what was then Palestine, now the state of Israel, and we settled in Haifa. DH: So you were four years old? MR: Not yet four, actually. So we settled in Haifa. I have a sister who is five years older than I am and she used to bring home books on various subjects – one of those books was Microbe Hunters by Paul de Kruif. So I read it when I was about eight years old and it captivated my imagination and I decided that I wanted to be a microbiologist.
    [Show full text]
  • Visiting Mathematicians Jon Barwise, in Setting the Tone for His New Column, Has Incorporated Three Articles Into This Month's Offering
    OTICES OF THE AMERICAN MATHEMATICAL SOCIETY The Growth of the American Mathematical Society page 781 Everett Pitcher ~~ Centennial Celebration (August 8-12) page 831 JULY/AUGUST 1988, VOLUME 35, NUMBER 6 Providence, Rhode Island, USA ISSN 0002-9920 Calendar of AMS Meetings and Conferences This calendar lists all meetings which have been approved prior to Mathematical Society in the issue corresponding to that of the Notices the date this issue of Notices was sent to the press. The summer which contains the program of the meeting. Abstracts should be sub­ and annual meetings are joint meetings of the Mathematical Associ­ mitted on special forms which are available in many departments of ation of America and the American Mathematical Society. The meet­ mathematics and from the headquarters office of the Society. Ab­ ing dates which fall rather far in the future are subject to change; this stracts of papers to be presented at the meeting must be received is particularly true of meetings to which no numbers have been as­ at the headquarters of the Society in Providence, Rhode Island, on signed. Programs of the meetings will appear in the issues indicated or before the deadline given below for the meeting. Note that the below. First and supplementary announcements of the meetings will deadline for abstracts for consideration for presentation at special have appeared in earlier issues. sessions is usually three weeks earlier than that specified below. For Abstracts of papers presented at a meeting of the Society are pub­ additional information, consult the meeting announcements and the lished in the journal Abstracts of papers presented to the American list of organizers of special sessions.
    [Show full text]
  • Notices of the American Mathematical Society ABCD Springer.Com
    ISSN 0002-9920 Notices of the American Mathematical Society ABCD springer.com Visit Springer at the of the American Mathematical Society 2010 Joint Mathematics December 2009 Volume 56, Number 11 Remembering John Stallings Meeting! page 1410 The Quest for Universal Spaces in Dimension Theory page 1418 A Trio of Institutes page 1426 7 Stop by the Springer booths and browse over 200 print books and over 1,000 ebooks! Our new touch-screen technology lets you browse titles with a single touch. It not only lets you view an entire book online, it also lets you order it as well. It’s as easy as 1-2-3. Volume 56, Number 11, Pages 1401–1520, December 2009 7 Sign up for 6 weeks free trial access to any of our over 100 journals, and enter to win a Kindle! 7 Find out about our new, revolutionary LaTeX product. Curious? Stop by to find out more. 2010 JMM 014494x Adrien-Marie Legendre and Joseph Fourier (see page 1455) Trim: 8.25" x 10.75" 120 pages on 40 lb Velocity • Spine: 1/8" • Print Cover on 9pt Carolina ,!4%8 ,!4%8 ,!4%8 AMERICAN MATHEMATICAL SOCIETY For the Avid Reader 1001 Problems in Mathematics under the Classical Number Theory Microscope Jean-Marie De Koninck, Université Notes on Cognitive Aspects of Laval, Quebec, QC, Canada, and Mathematical Practice Armel Mercier, Université du Québec à Chicoutimi, QC, Canada Alexandre V. Borovik, University of Manchester, United Kingdom 2007; 336 pages; Hardcover; ISBN: 978-0- 2010; approximately 331 pages; Hardcover; ISBN: 8218-4224-9; List US$49; AMS members 978-0-8218-4761-9; List US$59; AMS members US$47; Order US$39; Order code PINT code MBK/71 Bourbaki Making TEXTBOOK A Secret Society of Mathematics Mathematicians Come to Life Maurice Mashaal, Pour la Science, Paris, France A Guide for Teachers and Students 2006; 168 pages; Softcover; ISBN: 978-0- O.
    [Show full text]
  • Session II – Unit I – Fundamentals
    Tutor:- Prof. Avadhoot S. Joshi Subject:- Design & Analysis of Algorithms Session II Unit I - Fundamentals • Algorithm Design – II • Algorithm as a Technology • What kinds of problems are solved by algorithms? • Evolution of Algorithms • Timeline of Algorithms Algorithm Design – II Algorithm Design (Cntd.) Figure briefly shows a sequence of steps one typically goes through in designing and analyzing an algorithm. Figure: Algorithm design and analysis process. Algorithm Design (Cntd.) Understand the problem: Before designing an algorithm is to understand completely the problem given. Read the problem’s description carefully and ask questions if you have any doubts about the problem, do a few small examples by hand, think about special cases, and ask questions again if needed. There are a few types of problems that arise in computing applications quite often. If the problem in question is one of them, you might be able to use a known algorithm for solving it. If you have to choose among several available algorithms, it helps to understand how such an algorithm works and to know its strengths and weaknesses. But often you will not find a readily available algorithm and will have to design your own. An input to an algorithm specifies an instance of the problem the algorithm solves. It is very important to specify exactly the set of instances the algorithm needs to handle. Algorithm Design (Cntd.) Ascertaining the Capabilities of the Computational Device: After understanding the problem you need to ascertain the capabilities of the computational device the algorithm is intended for. The vast majority of algorithms in use today are still destined to be programmed for a computer closely resembling the von Neumann machine—a computer architecture outlined by the prominent Hungarian-American mathematician John von Neumann (1903–1957), in collaboration with A.
    [Show full text]
  • Approximate Nearest Neighbor Search in High Dimensions
    P. I. C. M. – 2018 Rio de Janeiro, Vol. 4 (3305–3336) APPROXIMATE NEAREST NEIGHBOR SEARCH IN HIGH DIMENSIONS A A, P I I R Abstract The nearest neighbor problem is defined as follows: Given a set P of n points in some metric space (X; D), build a data structure that, given any point q, returns a point in P that is closest to q (its “nearest neighbor” in P ). The data structure stores additional information about the set P , which is then used to find the nearest neighbor without computing all distances between q and P . The problem has a wide range of applications in machine learning, computer vision, databases and other fields. To reduce the time needed to find nearest neighbors and the amount of memory used by the data structure, one can formulate the approximate nearest neighbor prob- lem, where the the goal is to return any point p P such that the distance from q to 0 2 p is at most c minp P D(q; p), for some c 1. Over the last two decades many 0 efficient solutions to this2 problem were developed. In this article we survey these de- velopments, as well as their connections to questions in geometric functional analysis and combinatorial geometry. 1 Introduction The nearest neighbor problem is defined as follows: Given a set P of n points in a metric space defined over a set X with distance function D, build a data structure1 that, given any “query” point q X, returns its “nearest neighbor” arg minp P D(q; p).A 2 2 particularly interesting and well-studied case is that of nearest neighbor in geometric spaces, where X = Rd and the metric D is induced by some norm.
    [Show full text]
  • Gaussian Elimination Is Not Optimal, Revisited
    Downloaded from orbit.dtu.dk on: Sep 30, 2021 Gaussian elimination is not optimal, revisited Macedo, Hugo Daniel Published in: Journal of Logical and Algebraic Methods in Programming Link to article, DOI: 10.1016/j.jlamp.2016.06.003 Publication date: 2016 Document Version Peer reviewed version Link back to DTU Orbit Citation (APA): Macedo, H. D. (2016). Gaussian elimination is not optimal, revisited. Journal of Logical and Algebraic Methods in Programming, 85(5, Part 2), 999-1010. https://doi.org/10.1016/j.jlamp.2016.06.003 General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. Users may download and print one copy of any publication from the public portal for the purpose of private study or research. You may not further distribute the material or use it for any profit-making activity or commercial gain You may freely distribute the URL identifying the publication in the public portal If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Gaussian elimination is not optimal, revisited. Hugo Daniel Macedoa,b,1,∗ aDTU Compute, Technical University of Denmark, Kongens Lyngby, Denmark bDepartamento de Inform´atica, Pontif´ıciaUniversidade Cat´olica do Rio de Janeiro, Brazil Abstract We refactor the universal law for the tensor product to express matrix multipli- cation as the product M · N of two matrices M and N thus making possible to use such matrix product to encode and transform algorithms performing matrix multiplication using techniques from linear algebra.
    [Show full text]