Block Recursive Computation of Generalized Inverses∗ 1

Total Page:16

File Type:pdf, Size:1020Kb

Block Recursive Computation of Generalized Inverses∗ 1 Electronic Journal of Linear Algebra ISSN 1081-3810 A publication of the International Linear Algebra Society Volume 26, pp. 394-405, July 2013 ELA BLOCK RECURSIVE COMPUTATION OF GENERALIZED INVERSES∗ MARKO D. PETKOVIC´ † AND PREDRAG S. STANIMIROVIC´ ∗ Abstract. A fully block recursive method for computing outer generalized inverses of given square matrix is introduced. The method is applicable even in the case when some of main diagonal minors of A are singular or A is singular. Computational complexity of the method is not harder than the matrix multiplication, under the assumption that the Strassen matrix inversion algorithm is used. A partially recursive algorithm for computing various classes of generalized inverses is also developed. This method can be efficiently used for the acceleration of the known methods for computing generalized inverses. Key words. Moore-Penrose inverse, Outer inverses, Banachiewicz-Schur form, Strassen method. AMS subject classifications. 15A09. 1. Introduction. Following the usual notations, the set of all m×n real matrices Rm×n of rank r is denoted by r , while the set of all real m × n matrices is denoted by Rm×n. The principal submatrix of n × n matrix A which is composed of rows and columns indexed by 1 ≤ k1 < k2 < ··· < kl ≤ n, 1 ≤ l ≤ n, is denoted by A{k1,...,kl}. For any m × n real matrix the following matrix equations in X are used to define various generalized inverses of A: (1) AXA=A, (2) XAX =X, (3) (AX)T =AX, (4) (XA)T =XA. Also, in the case m = n, the following two additional equations are exploited: (5) AX = XA (1k) Ak+1X = Ak, where (1k) is valid for any positive integer k satisfying k ≥ ind(A) = min{p : rank(Ap+1) = rank(Ap)}. The set of matrices obeying the equations represented in S is denoted by A{S}, for arbitrary sequence S of the elements from {1, 2, 3, 4, 5, 1k}. Any matrix X ∈ A{S} is known as an S-inverse of A and it is denoted by A(S) [4]. The matrix X satisfying equations (1) and (2) is said to be a reflexive g-inverse of A, whereas the matrix X satisfying only the equation (2) is called an outer inverse ∗Received by the editors on May 2, 2012. Accepted for publication on May 26, 2013. Handling Editor: Oscar Maria Baksalary. †University of Niˇs, Department of Computer Science, Faculty of Science and Mathematics, Viˇsegradska 33, 18000 Niˇs, Serbia ([email protected], [email protected]). Authors gratefully acknowledge support from the Research Project 174013 of the Serbian Ministry of Science. 394 Electronic Journal of Linear Algebra ISSN 1081-3810 A publication of the International Linear Algebra Society Volume 26, pp. 394-405, July 2013 ELA Block Recursive Computation of Generalized Inverses 395 of A. Subsequently, the Moore-Penrose inverse X = A† of A satisfies the set of the equations (1), (2), (3) and (4). The Drazin inverse X = AD of A satisfies the equations (1k), (2) and (5). When the subproblems are of the same type as the original problem, the same recursive process can be carried out until the problem size is sufficiently small. This special type of Divide and Conquer (D&C) type of algorithms, is referred to as D&C recursion. For given function T (n), notations Θ(T (n)) and O(T (n)) mean the set of functions defined in the following way (see, for example [8]): Θ(T (n)) = {f(n) | 0 ≤ c1T (n) ≤ f(n) ≤ c2T (n), n ≥ n0, c1,c2,n0 > 0} O(T (n)) = {f(n) | 0 ≤ f(n) ≤ cT (n), n ≥ n0, c,n0 > 0}. Denote by add(n), mul(n) and inv(n) complexities of matrix addition, multipli- cation and inversion on n × n matrices. Also denote the complexity of multiplying m × n matrix with n × k matrix by mul(m,n,k). Particularly, mul(n) = mul(n,n,n). Results concerning block recursive algorithms in linear algebra, based on the LU decomposition, can be found for example in [12, 13, 16, 20, 22]. Our paper [20] deals with the time complexity of block recursive generalized Cholesky factorization and its applications to the generalized inversion. −1 The Schur complement S = (A/A11)= A22 − A21A11 A12 of the block matrix A A (1.1) A = 11 12 ∈ Rn×n, A ∈ Rk×k A A 11 21 22 is a basic tool in computation of the inverse matrix A−1 [3]. The generalized Schur − − complement S = A22 − A21A11A12, where A11 is a generalized inverse of A11, plays an important role in representations of various generalized inverses A− [2, 5, 6, 9, 10, 17, 18, 23, 24]. Although there are many representations of different generalized inverses in Banachievich-Schur form, its computational aspect is not well investigated so far. This problem is investigated in the present paper. Furthermore, we construct ap- propriate Strassen-type algorithm for generalized matrix inversion. The advantage of that algorithm is its computational complexity O(mul(n)), but the drawback is that it produces only outer inverses. For this purpose, we introduce one-step and partially block recursive Strassen-type algorithms. Although their time complexity is O(n3), they are efficient and practically applicable. 2. Strassen method for efficient matrix multiplication and inversion. Let A, B be n × n real or complex matrices. The usual algorithms for computing the Electronic Journal of Linear Algebra ISSN 1081-3810 A publication of the International Linear Algebra Society Volume 26, pp. 394-405, July 2013 ELA 396 M.D. Petkovi´cand P.S. Stanimirovi´c matrix product C = AB require n3 multiplications and n3 − n2 additions (2n3 − n2 = O(n3) floating point operations in total). In the paper [21], V. Strassen introduced an algorithm for matrix multiplication which complexity is O(nlog2 7) ≈ O(n2.807) (less than O(n3)). Some other algorithms for computing the matrix product in a time less than O(n3) are known. Currently the best one is due to Coppersmith and Winograd [7] and works in time O(n2.376). An overview of various efficient matrix multiplication algorithms is presented in [11]. The authors of the paper [11] also improved some of efficient matrix multiplication algorithms in the case of small matrices. Strassen in [21] also introduced the algorithm for finding the inverse of a given matrix A of the form (1.1), with the same complexity as the matrix multiplication. Lemma 2.1. [21] Assume that A is partitioned as in (1.1) and X X (2.1) X = A−1 = 11 12 ∈ Rn×n, X ∈ Rk×k. X X 11 21 22 Matrices X11,X12,X21 and X22 are defined by the following relations: −1 1. R1 = A11 5. R5 = R4 − A22 −1 9. R7 = R3X21 2. R2 = A21R1 6. R6 = R5 (2.2) 10. X11 = R1 − R7 3. R3 = R1A12 7. X12 = R3R6 11. X22 = −R6. 4. R4 = A21R3 8. X21 = R6R2 In the rest of this section, we assume that the matrix A ∈ Rn×n is decomposed as −1 in (1.1). The matrix R5 in the relations (2.2) is equal to R5 = −(A22 −A21A11 A12)= −S = −(A/A11). Intermediate matrices R1,...,R7 are introduced to ensure a min- imal number of matrix multiplications. However, these matrices require additional memory space to be stored. If we eliminate R1,...,R7 from the relations (2.2) we obtain well-known explicit form of the block matrix inversion [3]: A−1 + A−1A S−1A A−1 −A−1A S−1 X = A−1 = 11 11 12 21 11 11 12 . −S−1A A−1 S−1 21 11 Now we state complete Strassen-type algorithm for fast matrix inversion (Algo- rithm 2.2). Algorithm 2.2. Strassen-based matrix inversion. Require: Invertible n × n matrix A which all principal submatrices are invertible. −1 1: If n = 1 then return X = [a11 ]. Else decompose matrix A as in (1.1) and continue. 2: Compute X11, X12, X21 and X22 using formulas (2.2), where the inverses are computed recursively and for matrix-matrix multiplication is used one of the Θ(n2+ǫ) algorithms. Electronic Journal of Linear Algebra ISSN 1081-3810 A publication of the International Linear Algebra Society Volume 26, pp. 394-405, July 2013 ELA Block Recursive Computation of Generalized Inverses 397 3: Return the inverse matrix X = A−1. The parameter k in the decomposition (1.1) can be chosen arbitrarily, but the most frequent choice is k = ⌊n/2⌋. Algorithm 2.2 in Step 2 recursively computes the inverse of principal submatrices and its Schur complements. Also, Algorithm 2.2 assumes that the recursion is continued down to the level 1 × 1. The only situation in which Algorithm 2.2 may crash is Step 1, in the case n = 1 and a11 = 0. It is hard to verify in advance invertibility of both A11 and S in each recursive call of Algorithm 2.2. In the rest of this section we give an equivalent condition which can be directly checked on the input matrix A. Such conditions are not investigated in the papers concerning Algorithm 2.2. n×n Let β,γ ⊆{1, 2,...,n} and A ∈ R . Denote by Aβ,γ a submatrix of A obtained by taking rows of A indexed by β and columns of A indexed by γ. Also denote by c β = {1, 2,...,n}\ β and Aβ = Aβ,β. The following theorem is well-known and its statement can be found, for example in [25] (p. 112, Th. 4.8 and Th. 4.9), restated here as Proposition 2.3: Proposition 2.3. Let A ∈ Rn×n and β ⊆ {1, 2,...,n}.
Recommended publications
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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
    [Show full text]
  • 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 ..............................................................
    [Show full text]
  • 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.
    [Show full text]
  • Divide-And-Conquer Algorithms
    Chapter 2 Divide-and-conquer algorithms The divide-and-conquer strategy solves a problem by: 1. Breaking it into subproblems that are themselves smaller instances of the same type of problem 2. Recursively solving these subproblems 3. Appropriately combining their answers The real work is done piecemeal, in three different places: in the partitioning of problems into subproblems; at the very tail end of the recursion, when the subproblems are so small that they are solved outright; and in the gluing together of partial answers. These are held together and coordinated by the algorithm's core recursive structure. As an introductory example, we'll see how this technique yields a new algorithm for multi- plying numbers, one that is much more efficient than the method we all learned in elementary school! 2.1 Multiplication The mathematician Carl Friedrich Gauss (1777–1855) once noticed that although the product of two complex numbers (a + bi)(c + di) = ac bd + (bc + ad)i − seems to involve four real-number multiplications, it can in fact be done with just three: ac, bd, and (a + b)(c + d), since bc + ad = (a + b)(c + d) ac bd: − − In our big-O way of thinking, reducing the number of multiplications from four to three seems wasted ingenuity. But this modest improvement becomes very significant when applied recur- sively. 55 56 Algorithms Let's move away from complex numbers and see how this helps with regular multiplica- tion. Suppose x and y are two n-bit integers, and assume for convenience that n is a power of 2 (the more general case is hardly any different).
    [Show full text]
  • Algebraic Elimination of Epsilon-Transitions Gérard Duchamp, Hatem Hadj Kacem, Éric Laugerotte
    Algebraic Elimination of epsilon-transitions Gérard Duchamp, Hatem Hadj Kacem, Éric Laugerotte To cite this version: Gérard Duchamp, Hatem Hadj Kacem, Éric Laugerotte. Algebraic Elimination of epsilon-transitions. 2004. hal-00001038v1 HAL Id: hal-00001038 https://hal.archives-ouvertes.fr/hal-00001038v1 Preprint submitted on 15 Jan 2004 (v1), last revised 13 Dec 2004 (v2) HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Algebraic elimination of ε-transitions G´erard Duchamp, Hatem Hadj Kacem, Eric´ Laugerotte∗ LIFAR, Facult´edes Sciences et des Techniques, 76821 Mont-Saint-Aignan Cedex, France. Abstract We present here algebraic formulas associating a k-automaton to a k-ε-automaton. The existence depends on the definition of the star of matrices and of elements in the semiring k. For this reason, we present the theorem which allows the transformation of k-ε-automata into k-automata. The two automata have the same behaviour. Keywords : Automata with multiplicities, ε-transitions, behaviour, star of matri- ces. 1 Introduction Automata with multiplicities (or weighted automata) are a versatile class of transition systems which can modelize as well classical (boolean), stochas- tic, transducer automata and be applied to various purposes such as image compression, speech recognition, formal linguistic (and automatic treatment of natural languages too) and probabilistic modelling.
    [Show full text]
  • Beyond Moore-Penrose Part I: Generalized Inverses That Minimize Matrix Norms Ivan Dokmanić, Rémi Gribonval
    Beyond Moore-Penrose Part I: Generalized Inverses that Minimize Matrix Norms Ivan Dokmanić, Rémi Gribonval To cite this version: Ivan Dokmanić, Rémi Gribonval. Beyond Moore-Penrose Part I: Generalized Inverses that Minimize Matrix Norms. 2017. hal-01547183v1 HAL Id: hal-01547183 https://hal.inria.fr/hal-01547183v1 Preprint submitted on 30 Jun 2017 (v1), last revised 13 Jul 2017 (v2) HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Beyond Moore-Penrose Part I: Generalized Inverses that Minimize Matrix Norms Ivan Dokmani´cand R´emiGribonval Abstract This is the first paper of a two-long series in which we study linear generalized in- verses that minimize matrix norms. Such generalized inverses are famously represented by the Moore-Penrose pseudoinverse (MPP) which happens to minimize the Frobenius norm. Freeing up the degrees of freedom associated with Frobenius optimality enables us to pro- mote other interesting properties. In this Part I, we look at the basic properties of norm- minimizing generalized inverses, especially in terms of uniqueness and relation to the MPP. We first show that the MPP minimizes many norms beyond those unitarily invariant, thus further bolstering its role as a robust choice in many situations.
    [Show full text]
  • Generalized Inverses of an Invertible Infinite Matrix Over a Finite
    Linear Algebra and its Applications 418 (2006) 468–479 www.elsevier.com/locate/laa Generalized inverses of an invertible infinite matrix over a finite field C.R. Saranya a, K.C. Sivakumar b,∗ a Department of Mathematics, College of Engineering, Guindy, Chennai 600 025, India b Department of Mathematics, Indian Institute of Technology Madras, Chennai 600 036, India Received 17 August 2005; accepted 21 February 2006 Available online 21 April 2006 Submitted by M. Neumann Abstract In this paper we show that, contrary to finite matrices with entries taken from finite field, an invertible infinite matrix could have generalized inverses that are different from classical inverses. © 2006 Elsevier Inc. All rights reserved. AMS classification: Primary 15A09 Keywords: Moore–Penrose inverse; Group inverse; Matrices over finite fields; Infinite matrices 1. Introduction Let A be a finite matrix. Recall that a matrix X is called the Moore–Penrose inverse of A if it satisfies the following Penrose equations: AXA = A; XAX = X, (AX)T = AX; (XA)T = XA. Such an X will be denoted by A†. The group inverse (if it exists) of a finite square matrix A denoted by A# is the unique solution of the equations AXA = A; XAX = X; XA = AX. ∗ Corresponding author. E-mail address: [email protected] (K.C. Sivakumar). 0024-3795/$ - see front matter ( 2006 Elsevier Inc. All rights reserved. doi:10.1016/j.laa.2006.02.023 C.R. Saranya, K.C. Sivakumar / Linear Algebra and its Applications 418 (2006) 468–479 469 It is well known that the group inverse of A exists iff the range space R(A) of A and the null space N(A) of A are complementary.
    [Show full text]
  • Implementing Strassen's Algorithm with BLIS
    Implementing Strassen's Algorithm with BLIS FLAME Working Note # 79 Jianyu Huang∗ Tyler M. Smith∗y Greg M. Henryz Robert A. van de Geijn∗y April 16, 2016 Abstract We dispel with \street wisdom" regarding the practical implementation of Strassen's algorithm for matrix-matrix multiplication (DGEMM). Conventional wisdom: it is only practical for very large ma- trices. Our implementation is practical for small matrices. Conventional wisdom: the matrices being multiplied should be relatively square. Our implementation is practical for rank-k updates, where k is relatively small (a shape of importance for libraries like LAPACK). Conventional wisdom: it inher- ently requires substantial workspace. Our implementation requires no workspace beyond buffers already incorporated into conventional high-performance DGEMM implementations. Conventional wisdom: a Strassen DGEMM interface must pass in workspace. Our implementation requires no such workspace and can be plug-compatible with the standard DGEMM interface. Conventional wisdom: it is hard to demonstrate speedup on multi-core architectures. Our implementation demonstrates speedup over TM 1 conventional DGEMM even on an Intel R Xeon Phi coprocessor utilizing 240 threads. We show how a distributed memory matrix-matrix multiplication also benefits from these advances. 1 Introduction Strassen's algorithm (Strassen) [1] for matrix-matrix multiplication (gemm) has fascinated theoreticians and practitioners alike since it was first published, in 1969. That paper demonstrated that multiplication of n × n matrices can be achieved in less than the O(n3) arithmetic operations required by a conventional formulation. It has led to many variants that improve upon this result [2, 3, 4, 5] as well as practical implementations [6, 7, 8, 9].
    [Show full text]
  • Generalized Inverses and Generalized Connections with Statistics
    Generalized Inverses and Generalized Connections with Statistics Tim Zitzer April 12, 2007 Creative Commons License c 2007 Permission is granted to others to copy, distribute, display and perform the work and make derivative works based upon it only if they give the author or licensor the credits in the manner specified by these and only for noncommercial purposes. Generalized Inverses and Generalized Connections with Statistics Consider an arbitrary system of linear equations with a coefficient matrix A ∈ Mn,n, vector of constants b ∈ Cn, and solution vector x ∈ Cn : Ax = b If matrix A is nonsingular and thus invertible, then we can employ the techniques of matrix inversion and multiplication to find the solution vector x. In other words, the unique solution x = A−1b exists. However, when A is rectangular, dimension m × n or singular, a simple representation of a solution in terms of A is more difficult. There may be none, one, or an infinite number of solutions depending on whether b ∈ C(A) and whether n − rank(A) > 0. We would like to be able to find a matrix (or matrices) G, such that solutions of Ax = b are of the form Gb. Thus, through the work of mathematicians such as Penrose, the generalized inverse matrix was born. In broad terms, a generalized inverse matrix of A is some matrix G such that Gb is a solution to Ax = b. Definitions and Notation In 1920, Moore published the first work on generalized inverses. After his definition was more or less forgotten due to cumbersome notation, an algebraic form of Moore’s definition was given by Penrose in 1955, having explored the theoretical properties in depth.
    [Show full text]
  • Generalized Inverse and Pseudoinverse
    San José State University Math 253: Mathematical Methods for Data Visualization Lecture 6: Generalized inverse and pseudoinverse Dr. Guangliang Chen Outline Matrix generalized inverse • Pseudoinverse • Application to solving linear systems of equations • Generalized inverse and pseudoinverse Recall ... that a square matrix A ∈ Rn×n is invertible if there exists a square matrix B of the same size such that AB = BA = I In this case, B is called the matrix inverse of A and denoted as B = A−1. We already know that two equivalent ways of characterizing a square, invertible matrix A are A has full rank, i.e., rank(A) = n • A has nonzero determinant: det(A) 6= 0 • Dr. Guangliang Chen | Mathematics & Statistics, San José State University3/43 Generalized inverse and pseudoinverse Remark. For any invertible matrix A ∈ Rn×n and any vector b ∈ Rn, the linear system Ax = b has a unique solution x∗ = A−1b. MATLAB command for solving a linear system Ax = b A\b % recommended inv(A) ∗ b % avoid (especially when A is large) Dr. Guangliang Chen | Mathematics & Statistics, San José State University4/43 Generalized inverse and pseudoinverse What about general matrices? Let A ∈ Rm×n. We would like to address the following questions: Is there some kind of inverse? • Given a vector b ∈ Rm, how can we solve the linear system Ax = b? • Dr. Guangliang Chen | Mathematics & Statistics, San José State University5/43 Generalized inverse and pseudoinverse More motivation In many practical tasks such as multiple linear regression, the least squares problem arises naturally: min kAx − bk2 (where A ∈ m×n, b ∈ m are fixed) n R R x∈R If A has full column rank (i.e., rank(A) = n ≤ m), then the above problem has a unique solution x∗ = (AT A)−1AT b We want to better understand the matrices: (AT A)−1AT (pseudoinverse): Optimal solution is x∗ = (AT A)−1AT b; • A(AT A)−1AT (projection matrix): Closest approximation of b is Ax∗ = • A(AT A)−1AT b Dr.
    [Show full text]