A Strassen-Type Matrix Inversion Algorithm
Susanne M. Balle, Per Christian Hansen, Nicholas J. Higham · 1993
Cited by 0
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 231 papers for “Strassen algorithm”
Susanne M. Balle, Per Christian Hansen, Nicholas J. Higham · 1993
Cited by 0
Valentina Jelínková · Digital Repository (National Repository of Grey Literature) · 2022
Thesis name: Schönhage-Strassen algorithm and the mathematics behind it Author: Valentina Jelínková Department: Katedra Logiky Supervisor: Doc. RNDr. Vítězslav Švejdar, CSc Abstrakt: This thesis deals with the Schönhage-Strassen algorithm for mul- tiplying large integers with complexity O(n log n log log n). It contains the necessary theoretical foundations for describing and understanding the algo- rithm and its complexity. A significant attention is devoted to the Discrete Fourier Transform in complex and modular arithmetic, with two different interpretations of the FFT algorithm. Keywords: rings, polynomials, modul arithmetic, Fourier transform 1
Cited by 0
B. Srikanth, M. Siva Kumar, Kakarla Hari Kishore · International Journal of Engineering & Technology · 2018
In this paper, the single precision float point multiplication is performed using the Schonhage Strassen Algorithm. There are several types of floating point multiplications like Karatsubha and Toom cook. The Schonhage Strassen algorithm is conventionally a fixed point integer multiplication algorithm. The main advantage of the Schonhage Strassen multiplication is that, the multiplication of integer values greater than 5 digits ranging from 2215 to 2217 bit values proves to be efficient. The validation of the proposed floating point multiplication is done using FPGA real time implementation. The analysis of parameters like area and power are evaluated.
Cited by 3Open access
W.F. McColl, Wolfson Building · 1995
An efficient BSP realisation of Strassen's matrix multiplication algorithm is described. 1 Strassen's Algorithm Let A and B be two n \\Theta n matrices and consider the problem of computing C = A \\Delta B. We can regard the matrices A; B; C as each composed of four n=2 \\Theta n=2 submatrices. For example, A = / A 00 A 01 A 10 A 11 ! If the submatrices of B and C are described in the same way then we have C ij = A i0 \\Delta B 0j +A i1 \\Delta B 1j for all i; j. This yields a recursive sequential algorithm of complexity n 3 for matrix multiplication. [Throughout this paper we will omit the various constant factors in our complexity bounds.] Strassen [3] observed that the eight submatrix multiplications in this recursive algorithm can be reduced to seven, by using matrix additions and subtractions in a more complex way. This work was supported in part by ESPRIT Basic Research Project 9072 - GEPPCOM (Foundations of General Purpose Parallel Computing). The following method is ...
Cited by 0
Thomas Hardtke, Chin Keong Ho, Sumei Sun · 2007
In this paper, we present our results on the implementation of a Strassen's algorithms-based low-complexity linear detector for groupwise space-time block coded (STBC) systems. We propose a modified partitioning scheme which is used for the execution of Strassen's algorithms and exploit properties of the GSTBC system model. The application of our method is discussed in detail for a zero-forcing (ZF) detector, but is applicable for a MMSE detector as well. For performance evaluation, we consider the number of multiplications and divisions. We obtain a significant complexity saving when compared with an equivalent solution [1] in which interference cancelation is performed successively.
Cited by 2
Schulz, Jakob, Technische Universität München · mediaTUM (Technical University of Munich) · 2023
The Schönhage-Strassen-Algorithm multiplies two integers of length n in O(n log n log log n) steps on a multitape Turing machine. The main goal of this thesis is to give a verified implementation of the algorithm as well as verified runtime bounds. Integers are represented as LSBF (least significant bit first) boolean lists, on which simple algorithms for addition, subtraction and grid multiplication are given as well as a verified implementation of the Karatsuba-Multiplication with runtime O(n<sup>log<sub>2</sub>3</sup>). The already existing AFP-entry for Number Theoretic Transforms is adapted to a more general setting, which allows its application to certain quotient rings used in the Schönhage-Strassen-Algorithm. After some final preparations, an implementation of the Schönhage-Strassen-Algorithm with runtime O(n log n log log n) based on the original paper is given.
Cited by 0Open access
Tsz-Wo Sze · 2012
We present MapReduce-SSA, an integer multiplication algorithm using the ideas from Schönhage-Strassen algorithm (SSA) on MapReduce. SSA is one of the most commonly used large integer multiplication algorithms. MapReduce is a programming model invented for distributed data processing on large clusters. MapReduce-SSA is designed for multiplying integers in terabit scale on clusters of commodity machines. As parts of MapReduce-SSA, two algorithms, MapReduce-FFT and MapReduce-Sum, are created for computing discrete Fourier transforms and summations. These mathematical algorithms match the model of MapReduce seamlessly.
Cited by 11
Brice Boyer, Jean‐Guillaume Dumas, Clément Pernet et al. · arXiv (Cornell University) · 2007
We propose several new schedules for Strassen-Winograd's matrix multiplication algorithm, they reduce the extra memory allocation requirements by three different means: by introducing a few pre-additions, by overwriting the input matrices, or by using a first recursive level of classical multiplication. In particular, we show two fully in-place schedules: one having the same number of operations, if the input matrices can be overwritten; the other one, slightly increasing the constant of the leading term of the complexity, if the input matrices are read-only. Many of these schedules have been found by an implementation of an exhaustive search algorithm based on a pebble game.
Cited by 1Open access
S Gayathri · International Journal of Science and Research (IJSR) · 2022
When it comes to very large integers; the traditional naive algorithm for multiplication does not work well. This leads to very bad performance of the circuit in which the multiplier is implemented. FIR filter is a basic digital filter that mostly consists of multiplication and addition blocks. Multipliers also mark their significance in many DSP based processors. FIR is one of the most basic fundamental blocks of the DSP processors.SSA is an practical and much understandable algorithm for this purpose. This algorithm increases the speed of the filter without affecting any other major constraints.
Cited by 0Open access
Brice Boyer, Jean‐Guillaume Dumas, Clément Pernet et al. · ArXiv.org · 2009
International audience
Cited by 40Open access
Vivaksha Mohalia, Pathipati Srihari, Sreenivasula Reddy et al. · 2023
The high-speed Kalman filter (KF) algorithms are essential for robotics, autonomous vehicle, target tracking, and other applications. The dimensions of the state vector and traditional matrix multiplication (complexity of order $\mathcal{O}\left(n^{3}\right)$) are the two main reasons for the computational time of the $K F$ algorithm. Hence, a matrix multiplication accelerator module is needed to accelerate the KF algorithm for higher dimensions of the state vector. In this paper, modified Strassen matrix multiplication (complexity of order $\mathcal{O}\left(n^{2.80}\right)$) is utilized to increase the computational efficiency of the KF algorithm. The number of cycles is evaluated against the dimensions of the KF algorithm to illustrate the proposed methodology. After that, 2D-KF and 3D-KF algorithms targeted on DSP processor TMS320C6678 using C language to ensure real-time processing. The $3 D-K F$ with a state of nine consumes $19.962 \mathrm{~ms}, 30.47 \mathrm{~ms}$, and $40.04 \mathrm{~ms}$ of time by employing the hybrid Strassen, Strassen, and conventional matrix multiplication. It is observed that the usage of hybrid Strassen takes only half of the time provided by conventional multiplications.
Cited by 2
Tyler J. Earnest · 2013
An overview of the implementation of a parallel version of Strassen&apos;s algorithm for the IBM Cell
Cited by 0
Steven Huss-lederman, Elaine M. Jacobson, Jeremy R. Johnson et al. · 1996
In this paper we report on the development of an efficient and portable implementation of Strassen&apos;s matrix multiplication algorithm. Our implementation is designed to be used in place of DGEMM, the Level 3 BLAS matrix multiplication routine. Efficient performance will be obtained for all matrix sizes and shapes and the additional memory needed for temporary variables has been minimized. Replacing DGEMM with our routine should provide a significant performance gain for large matrices while providing the same performance for small matrices. We measure performance of our code on the IBM RS/6000, CRAY YMP C90, and CRAY T3D single processor, and offer comparisons to other codes. Our performance data reconfirms that Strassen&apos;s algorithm is practical for realistic size matrices. The usefulness of our implementation is demonstrated by replacing DGEMM with our routine in a large application code.
Cited by 0
Alexandre Sedoglavic · arXiv (Cornell University) · 2017
In 1969, V. Strassen improves the classical~2x2 matrix multiplication\nalgorithm. The current upper bound for 3x3 matrix multiplication was reached by\nJ.B. Laderman in 1976. This note presents a geometric relationship between\nStrassen and Laderman algorithms. By doing so, we retrieve a geometric\nformulation of results very similar to those presented by O. Sykora in 1977.\n
Cited by 5Open access
Steven Huss-lederman, Elaine M. Jacobson, J. R. Johnson et al. · 1996
In this paper we report on the development of an efficient and portable implementation of Strassen&apos;s matrix multiplication algorithm for matrices of arbitrary size. Our implementation is designed to be used in place of DGEMM, the Level 3 BLAS matrix multiplication routine. Our code is designed so that efficient performance will be obtained for all matrix sizes and shapes and that the additional memory needed for temporary variables is minimized. Replacing DGEMM with our routine should provide significant performance gain for large matrices while providing the same performance for small matrices. We measure performance of our code on the IBM RS/6000, CRAY YMP C90, and CRAY T3D single processor, and offer comparisons to other codes. Our performance data reconfirms that Strassen&apos;s algorithm is practical for realistic size matrices. The usefulness of our implementation is demonstrated by replacing DGEMM with our routine in a large application code. Our implementation is based on a detailed...
Cited by 0
Dary Mochamad Rifqie, Dewi Fatmarani Surianto, Sudarmanto Jayanegara et al. · Jurnal MediaTIK · 2023
Convolution neural networks (CNN) have been widely applied for the computer vision task. However, the success of CNN is limited by the computational complexity of the network, so it is difficult for the model to run the inference process in real time. In this paper, we apply Strassen matrix multiplication to reduce multiplications in convolution operations in CNN, in order to get faster execution for CNN. First, we transform the convolution operation into a matrix multiplication operation using the Toeplitz mapping method, then after that, we apply the Strassen method to these matrices. In the end, we compare the number of arithmetic operations (multiplication and addition) in the convolutional layer using Strassen and the standard algorithm. We apply this algorithm implementation in convolution layers 1 and 3 in LeNet-5 Architecture.
Cited by 0Open access
Dary Mochamad Rifqie, Dewi Fatmarani Surianto, Sudarmanto Jayanegara et al. · Jurnal MediaTIK · 2024
Convolution neural networks (CNN) have been widely applied for the computer vision task. However, the success of CNN is limited by the computational complexity of the network, so it is difficult for the model to run the inference process in real time. In this paper, we apply Strassen matrix multiplication to reduce multiplications in convolution operations in CNN, in order to get faster execution for CNN. First, we transform the convolution operation into a matrix multiplication operation using the Toeplitz mapping method, then after that, we apply the Strassen method to these matrices. In the end, we compare the number of arithmetic operations (multiplication and addition) in the convolutional layer using Strassen and the standard algorithm. We apply this algorithm implementation in convolution layers 1 and 3 in LeNet-5 Architecture.
Cited by 0Open access
Ann Gates And, Vladik Kreinovich · 2000
Strassen&apos;s 1969 algorithm for fast matrix multiplication [2] is based on the possibility to multiply two 2 \\Theta 2 matrices A and B by using 7 multiplications instead of the usual 8. The corresponding formulas are an important part of any algorithms course, but, unfortunately, even in the best textbook expositions (see, e.g., [1]), they look very ad hoc. In this paper, we show that the use of natural symmetries can make these formulas more natural. Outline. The goal of this paper is to show that the use of symmetries can make Strassen&apos;s formulas for multiplying two 2 \\Theta 2 matrices A and B in 7 multiplications more natural. To achieve this goal, we will first describe two relevant symmetries: the first one is more straightforward, the second one is slightly more implicit. Then, we use these symmetries to select 7 combinations of matrix elements. Finally, we use the same symmetries to pair the combinations corresponding to A and B with each other and thus, to come up with Stras...
Cited by 0
Mohan Pudi, B N Dayananda, G Achala et al. · 2024
High-speed and low-area Kalman filter (KF) algorithms are critical in autonomous vehicles, robotics, military, target tracking, and other applications. KF requires a large number of matrix multiplications (complexity of order O(n<sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">3</sup>)), which increases the number of cycles needed to process data. There is a vital requirement to develop a matrix multiplication accelerator module to enhance the efficiency of the entire Kalman Filter (KF) process. This paper proposes two accelerator models for KF, namely pipelined Strassen matrix multiplication and hybrid Strassen matrix multiplication. We propose pipelining the existing Strassen matrix multiplication architecture to reduce critical time to a single multiplication operation. To accelerate the KF and target the low area, we present a hybrid Strassen matrix multiplication architecture that reduces higher dimensions using the Strassen algorithm and computes the 2 × 2 matrix using standard matrix multiplication. The Strassen algorithm, pipelined Strassen algorithm, and hybrid Strassen algorithm-based accelerators are designed for the Vertix-7 FPGA to determine the maximum possible frequency and space limitations. For demonstration purposes, a 2D-KF is studied with a four-dimensional state vector.
Cited by 0
Anthony Breitzman · Proceedings of the Python in Science Conferences · 2023
We present a Strassen type algorithm for multiplying large matrices with integer entries. The algorithm is the standard Strassen divide and conquer algorithm but it crosses over to Numpy when either the row or column dimension of one of the matrices drops below 128.
Cited by 0Open access