Object Oriented Model of Generalized Matrix Multipication 441
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Solving the Multi-Way Matching Problem by Permutation Synchronization
Solving the multi-way matching problem by permutation synchronization Deepti Pachauriy Risi Kondorx Vikas Singhy yUniversity of Wisconsin Madison xThe University of Chicago [email protected] [email protected] [email protected] http://pages.cs.wisc.edu/∼pachauri/perm-sync Abstract The problem of matching not just two, but m different sets of objects to each other arises in many contexts, including finding the correspondence between feature points across multiple images in computer vision. At present it is usually solved by matching the sets pairwise, in series. In contrast, we propose a new method, Permutation Synchronization, which finds all the matchings jointly, in one shot, via a relaxation to eigenvector decomposition. The resulting algorithm is both computationally efficient, and, as we demonstrate with theoretical arguments as well as experimental results, much more stable to noise than previous methods. 1 Introduction 0 Finding the correct bijection between two sets of objects X = fx1; x2; : : : ; xng and X = 0 0 0 fx1; x2; : : : ; xng is a fundametal problem in computer science, arising in a wide range of con- texts [1]. In this paper, we consider its generalization to matching not just two, but m different sets X1;X2;:::;Xm. Our primary motivation and running example is the classic problem of matching landmarks (feature points) across many images of the same object in computer vision, which is a key ingredient of image registration [2], recognition [3, 4], stereo [5], shape matching [6, 7], and structure from motion (SFM) [8, 9]. However, our approach is fully general and equally applicable to problems such as matching multiple graphs [10, 11]. -
Arxiv:1912.06217V3 [Math.NA] 27 Feb 2021
ROUNDING ERROR ANALYSIS OF MIXED PRECISION BLOCK HOUSEHOLDER QR ALGORITHMS∗ L. MINAH YANG† , ALYSON FOX‡, AND GEOFFREY SANDERS‡ Abstract. Although mixed precision arithmetic has recently garnered interest for training dense neural networks, many other applications could benefit from the speed-ups and lower storage cost if applied appropriately. The growing interest in employing mixed precision computations motivates the need for rounding error analysis that properly handles behavior from mixed precision arithmetic. We develop mixed precision variants of existing Householder QR algorithms and show error analyses supported by numerical experiments. 1. Introduction. The accuracy of a numerical algorithm depends on several factors, including numerical stability and well-conditionedness of the problem, both of which may be sensitive to rounding errors, the difference between exact and finite precision arithmetic. Low precision floats use fewer bits than high precision floats to represent the real numbers and naturally incur larger rounding errors. Therefore, error attributed to round-off may have a larger influence over the total error and some standard algorithms may yield insufficient accuracy when using low precision storage and arithmetic. However, many applications exist that would benefit from the use of low precision arithmetic and storage that are less sensitive to floating-point round-off error, such as training dense neural networks [20] or clustering or ranking graph algorithms [25]. As a step towards that goal, we investigate the use of mixed precision arithmetic for the QR factorization, a widely used linear algebra routine. Many computing applications today require solutions quickly and often under low size, weight, and power constraints, such as in sensor formation, where low precision computation offers the ability to solve many problems with improvement in all four parameters. -
Fast Matrix Multiplication
Fast matrix multiplication Yuval Filmus May 3, 2017 1 Problem statement How fast can we multiply two square matrices? To make this problem precise, we need to fix a computational model. The model that we use is the unit cost arithmetic model. In this model, a program is a sequence of instructions, each of which is of one of the following forms: 1. Load input: tn xi, where xi is one of the inputs. 2. Load constant: tn c, where c 2 R. 3. Arithmetic operation: tn ti ◦ tj, where i; j < n, and ◦ 2 f+; −; ·; =g. In all cases, n is the number of the instruction. We will say that an arithmetic program computes the product of two n × n matrices if: 1. Its inputs are xij; yij for 1 ≤ i; j ≤ n. 2. For each 1 ≤ i; k ≤ n there is a variable tm whose value is always equal to n X xijyjk: j=1 3. The program never divides by zero. The cost of multiplying two n × n matrices is the minimum length of an arithmetic program that computes the product of two n × n matrices. Here is an example. The following program computes the product of two 1 × 1 matrices: t1 x11 t2 y11 t3 t1 · t2 The variable t3 contains x11y11, and so satisfies the second requirement above for (i; k) = (1; 1). This shows that the cost of multiplying two 1 × 1 matrices is at most 3. Usually we will not spell out all steps of an arithmetic program, and use simple shortcuts, such as the ones indicated by the following program for multiplying two 2 × 2 matrices: z11 x11y11 + x12y21 z12 x11y12 + x12y22 z21 x21y11 + x22y21 z22 x21y12 + x22y22 1 When spelled out, this program uses 20 instructions: 8 load instructions, 8 product instructions, and 4 addition instructions. -
Arxiv:1709.00765V4 [Cond-Mat.Stat-Mech] 14 Oct 2019
Number of hidden states needed to physically implement a given conditional distribution Jeremy A. Owen,1 Artemy Kolchinsky,2 and David H. Wolpert2, 3, 4, ∗ 1Physics of Living Systems Group, Department of Physics, Massachusetts Institute of Technology, 400 Tech Square, Cambridge, MA 02139. 2Santa Fe Institute 3Arizona State University 4http://davidwolpert.weebly.com† (Dated: October 15, 2019) We consider the problem of how to construct a physical process over a finite state space X that applies some desired conditional distribution P to initial states to produce final states. This problem arises often in the thermodynamics of computation and nonequilibrium statistical physics more generally (e.g., when designing processes to implement some desired computation, feedback controller, or Maxwell demon). It was previously known that some conditional distributions cannot be implemented using any master equation that involves just the states in X. However, here we show that any conditional distribution P can in fact be implemented—if additional “hidden” states not in X are available. Moreover, we show that is always possible to implement P in a thermodynamically reversible manner. We then investigate a novel cost of the physical resources needed to implement a given distribution P : the minimal number of hidden states needed to do so. We calculate this cost exactly for the special case where P represents a single-valued function, and provide an upper bound for the general case, in terms of the nonnegative rank of P . These results show that having access to one extra binary degree of freedom, thus doubling the total number of states, is sufficient to implement any P with a master equation in a thermodynamically reversible way, if there are no constraints on the allowed form of the master equation. -
On the Asymptotic Existence of Partial Complex Hadamard Matrices And
Discrete Applied Mathematics 102 (2000) 37–45 View metadata, citation and similar papers at core.ac.uk brought to you by CORE On the asymptotic existence of partial complex Hadamard provided by Elsevier - Publisher Connector matrices and related combinatorial objects Warwick de Launey Center for Communications Research, 4320 Westerra Court, San Diego, California, CA 92121, USA Received 1 September 1998; accepted 30 April 1999 Abstract A proof of an asymptotic form of the original Goldbach conjecture for odd integers was published in 1937. In 1990, a theorem reÿning that result was published. In this paper, we describe some implications of that theorem in combinatorial design theory. In particular, we show that the existence of Paley’s conference matrices implies that for any suciently large integer k there is (at least) about one third of a complex Hadamard matrix of order 2k. This implies that, for any ¿0, the well known bounds for (a) the number of codewords in moderately high distance binary block codes, (b) the number of constraints of two-level orthogonal arrays of strengths 2 and 3 and (c) the number of mutually orthogonal F-squares with certain parameters are asymptotically correct to within a factor of 1 (1 − ) for cases (a) and (b) and to within a 3 factor of 1 (1 − ) for case (c). The methods yield constructive algorithms which are polynomial 9 in the size of the object constructed. An ecient heuristic is described for constructing (for any speciÿed order) about one half of a Hadamard matrix. ? 2000 Elsevier Science B.V. All rights reserved. -
Triangular Factorization
Chapter 1 Triangular Factorization This chapter deals with the factorization of arbitrary matrices into products of triangular matrices. Since the solution of a linear n n system can be easily obtained once the matrix is factored into the product× of triangular matrices, we will concentrate on the factorization of square matrices. Specifically, we will show that an arbitrary n n matrix A has the factorization P A = LU where P is an n n permutation matrix,× L is an n n unit lower triangular matrix, and U is an n ×n upper triangular matrix. In connection× with this factorization we will discuss pivoting,× i.e., row interchange, strategies. We will also explore circumstances for which A may be factored in the forms A = LU or A = LLT . Our results for a square system will be given for a matrix with real elements but can easily be generalized for complex matrices. The corresponding results for a general m n matrix will be accumulated in Section 1.4. In the general case an arbitrary m× n matrix A has the factorization P A = LU where P is an m m permutation× matrix, L is an m m unit lower triangular matrix, and U is an×m n matrix having row echelon structure.× × 1.1 Permutation matrices and Gauss transformations We begin by defining permutation matrices and examining the effect of premulti- plying or postmultiplying a given matrix by such matrices. We then define Gauss transformations and show how they can be used to introduce zeros into a vector. Definition 1.1 An m m permutation matrix is a matrix whose columns con- sist of a rearrangement of× the m unit vectors e(j), j = 1,...,m, in RI m, i.e., a rearrangement of the columns (or rows) of the m m identity matrix. -
Efficient Matrix Multiplication on Simd Computers* P
SIAM J. MATRIX ANAL. APPL. () 1992 Society for Industrial and Applied Mathematics Vol. 13, No. 1, pp. 386-401, January 1992 025 EFFICIENT MATRIX MULTIPLICATION ON SIMD COMPUTERS* P. BJORSTADt, F. MANNEr, T. SOI:tEVIK, AND M. VAJTERIC?$ Dedicated to Gene H. Golub on the occasion of his 60th birthday Abstract. Efficient algorithms are described for matrix multiplication on SIMD computers. SIMD implementations of Winograd's algorithm are considered in the case where additions are faster than multiplications. Classical kernels and the use of Strassen's algorithm are also considered. Actual performance figures using the MasPar family of SIMD computers are presented and discussed. Key words, matrix multiplication, Winograd's algorithm, Strassen's algorithm, SIMD com- puter, parallel computing AMS(MOS) subject classifications. 15-04, 65-04, 65F05, 65F30, 65F35, 68-04 1. Introduction. One of the basic computational kernels in many linear algebra codes is the multiplication of two matrices. It has been realized that most problems in computational linear algebra can be expressed in block algorithms and that matrix multiplication is the most important kernel in such a framework. This approach is essential in order to achieve good performance on computer systems having a hier- archical memory organization. Currently, computer technology is strongly directed towards this design, due to the imbalance between the rapid advancement in processor speed relative to the much slower progress towards large, inexpensive, fast memories. This algorithmic development is highlighted by Golub and Van Loan [13], where the formulation of block algorithms is an integrated part of the text. The rapid devel- opment within the field of parallel computing and the increased need for cache and multilevel memory systems are indeed well reflected in the changes from the first to the second edition of this excellent text and reference book. -
Think Global, Act Local When Estimating a Sparse Precision
Think Global, Act Local When Estimating a Sparse Precision Matrix by Peter Alexander Lee A.B., Harvard University (2007) Submitted to the Sloan School of Management in partial fulfillment of the requirements for the degree of Master of Science in Operations Research at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 2016 ○c Peter Alexander Lee, MMXVI. All rights reserved. The author hereby grants to MIT permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole or in part in any medium now known or hereafter created. Author................................................................ Sloan School of Management May 12, 2016 Certified by. Cynthia Rudin Associate Professor Thesis Supervisor Accepted by . Patrick Jaillet Dugald C. Jackson Professor, Department of Electrical Engineering and Computer Science and Co-Director, Operations Research Center 2 Think Global, Act Local When Estimating a Sparse Precision Matrix by Peter Alexander Lee Submitted to the Sloan School of Management on May 12, 2016, in partial fulfillment of the requirements for the degree of Master of Science in Operations Research Abstract Substantial progress has been made in the estimation of sparse high dimensional pre- cision matrices from scant datasets. This is important because precision matrices underpin common tasks such as regression, discriminant analysis, and portfolio opti- mization. However, few good algorithms for this task exist outside the space of L1 penalized optimization approaches like GLASSO. This thesis introduces LGM, a new algorithm for the estimation of sparse high dimensional precision matrices. Using the framework of probabilistic graphical models, the algorithm performs robust covari- ance estimation to generate potentials for small cliques and fuses the local structures to form a sparse yet globally robust model of the entire distribution. -
Matrix Multiplication: a Study Kristi Stefa Introduction
Matrix Multiplication: A Study Kristi Stefa Introduction Task is to handle matrix multiplication in an efficient way, namely for large sizes Want to measure how parallelism can be used to improve performance while keeping accuracy Also need for improvement on “normal” multiplication algorithm O(n3) for conventional square matrices of n x n size Strassen Algorithm Introduction of a different algorithm, one where work is done on submatrices Requirement of matrix being square and size n = 2k Uses A and B matrices to construct 7 factors to solve C matrix Complexity from 8 multiplications to 7 + additions: O(nlog27) or n2.80 Room for parallelism TBB:parallel_for is the perfect candidate for both the conventional algorithm and the Strassen algorithm Utilization in ranges of 1D and 3D to sweep a vector or a matrix TBB: parallel_reduce would be possible but would increase the complexity of usage Would be used in tandem with a 2D range for the task of multiplication Test Setup and Use Cases The input images were converted to binary by Matlab and the test filter (“B” matrix) was generated in Matlab and on the board Cases were 128x128, 256x256, 512x512, 1024x1024 Matlab filter was designed for element-wise multiplication and board code generated for proper matrix-wise filter Results were verified by Matlab and an import of the .bof file Test setup (contd) Pictured to the right are the results for the small (128x128) case and a printout for the 256x256 case Filter degrades the image horizontally and successful implementation produces -
The Strassen Algorithm and Its Computational Complexity
Utrecht University BSc Mathematics & Applications The Strassen Algorithm and its Computational Complexity Rein Bressers Supervised by: Dr. T. van Leeuwen June 5, 2020 Abstract Due to the many computational applications of matrix multiplication, research into efficient algorithms for multiplying matrices can lead to widespread improvements of performance. In this thesis, we will first make the reader familiar with a universal measure of the efficiency of an algorithm, its computational complexity. We will then examine the Strassen algorithm, an algorithm that improves on the computational complexity of the conventional method for matrix multiplication. To illustrate the impact of this difference in complexity, we implement and test both algorithms, and compare their runtimes. Our results show that while Strassen’s method improves on the theoretical complexity of matrix multiplication, there are a number of practical considerations that need to be addressed for this to actually result in improvements on runtime. 2 Contents 1 Introduction 4 1.1 Computational complexity .................................................................................. 4 1.2 Structure ........................................................................................................... 4 2 Computational Complexity ................................................................ 5 2.1 Time complexity ................................................................................................ 5 2.2 Determining an algorithm’s complexity .............................................................. -
Mata Glossary of Common Terms
Title stata.com Glossary Description Commonly used terms are defined here. Mata glossary arguments The values a function receives are called the function’s arguments. For instance, in lud(A, L, U), A, L, and U are the arguments. array An array is any indexed object that holds other objects as elements. Vectors are examples of 1- dimensional arrays. Vector v is an array, and v[1] is its first element. Matrices are 2-dimensional arrays. Matrix X is an array, and X[1; 1] is its first element. In theory, one can have 3-dimensional, 4-dimensional, and higher arrays, although Mata does not directly provide them. See[ M-2] Subscripts for more information on arrays in Mata. Arrays are usually indexed by sequential integers, but in associative arrays, the indices are strings that have no natural ordering. Associative arrays can be 1-dimensional, 2-dimensional, or higher. If A were an associative array, then A[\first"] might be one of its elements. See[ M-5] asarray( ) for associative arrays in Mata. binary operator A binary operator is an operator applied to two arguments. In 2-3, the minus sign is a binary operator, as opposed to the minus sign in -9, which is a unary operator. broad type Two matrices are said to be of the same broad type if the elements in each are numeric, are string, or are pointers. Mata provides two numeric types, real and complex. The term broad type is used to mask the distinction within numeric and is often used when discussing operators or functions. -
Using Machine Learning to Improve Dense and Sparse Matrix Multiplication Kernels
Iowa State University Capstones, Theses and Graduate Theses and Dissertations Dissertations 2019 Using machine learning to improve dense and sparse matrix multiplication kernels Brandon Groth Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/etd Part of the Applied Mathematics Commons, and the Computer Sciences Commons Recommended Citation Groth, Brandon, "Using machine learning to improve dense and sparse matrix multiplication kernels" (2019). Graduate Theses and Dissertations. 17688. https://lib.dr.iastate.edu/etd/17688 This Dissertation is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Using machine learning to improve dense and sparse matrix multiplication kernels by Brandon Micheal Groth A dissertation submitted to the graduate faculty in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Major: Applied Mathematics Program of Study Committee: Glenn R. Luecke, Major Professor James Rossmanith Zhijun Wu Jin Tian Kris De Brabanter The student author, whose presentation of the scholarship herein was approved by the program of study committee, is solely responsible for the content of this dissertation. The Graduate College will ensure this dissertation is globally accessible and will not permit alterations after a degree is conferred. Iowa State University Ames, Iowa 2019 Copyright c Brandon Micheal Groth, 2019. All rights reserved. ii DEDICATION I would like to dedicate this thesis to my wife Maria and our puppy Tiger.