Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Algorithms for Matrix Multiplication via Sampling and Opportunistic Matrix Multiplication

Published: 17 June 2024 Publication History

Abstract

As proposed by Karppa and Kaski (in: Proceedings 30th ACM-SIAM Symposium on Discrete Algorithms (SODA), 2019) a novel “broken" or "opportunistic" matrix multiplication algorithm, based on a variant of Strassen’s algorithm, and used this to develop new algorithms for Boolean matrix multiplication, among other tasks. Their algorithm can compute Boolean matrix multiplication in O(n2.778) time. While asymptotically faster matrix multiplication algorithms exist, most such algorithms are infeasible for practical problems. We describe an alternative way to use the broken multiplication algorithm to approximately compute matrix multiplication, either for real-valued or Boolean matrices. In brief, instead of running multiple iterations of the broken algorithm on the original input matrix, we form a new larger matrix by sampling and run a single iteration of the broken algorithm on it. Asymptotically, our algorithm has runtime O(n2.763), a slight improvement over the Karppa–Kaski algorithm. Since the goal is to obtain new practical matrix-multiplication algorithms, we also estimate the concrete runtime for our algorithm for some large-scale sample problems. It appears that for these parameters, further optimizations are still needed to make our algorithm competitive.

References

[1]
Albrecht M, Bond G, and Hart W Algorithm 898: efficient multiplication of dense matrices over GF(2) AMS Trans. Math. Softw. 2010 37 1 1-14
[2]
Arlazarov, V., Dinic, E., Kronrod, M., Faradžev, I.: On economical construction of the transitive closure of a directed graph. Doklady Akademii Nauk 194(3), Russian Academy of Sciences, pp. 487-88 (1970)
[3]
Ballard, G., Demmel, J., Holtz, O., Lipshitz, B., Schwartz, O.: Communication-optimal parallel algorithm for Strassen’s matrix multiplication. Proc. 24th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 193-204 (2012)
[4]
Benson A and Ballard G A framework for practical parallel fast matrix multiplication ACM SIGPLAN Notices 2015 50 8 42-53
[5]
Coppersmith D and Winograd S Matrix multiplication via arithmetic progressions J. Symb. Comput. 1990 9 3 251-280
[6]
Karstadt E and Schwartz O Matrix multiplication, a little faster J. ACM 2020 67 1 1-31
[7]
Le Gall, F.: Faster algorithms for rectangular matrix multiplication. In: Proc. 53rd IEEE Symposium on Foundations of Computer Science (FOCS), pp. 514-523 (2012)
[8]
Le Gall, F., Urrutia, F.: Improved rectangular matrix multiplication using powers of the Coppersmith-Winograd tensor. In: Proc. 29th ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 1029-1046 (2018)
[9]
Le Gall, F.: Faster rectangular matrix multiplication by combination loss analysis. In: Proc. 35th ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 3765-3791 (2024)
[10]
Huang, J., Smith, T., Henry, G., Van De Geijn, R.: Strassen’s algorithm reloaded. In: Proc. International Conference for High Performance Computing, Networking, Storage and Analysis (SC), pp. 690-701 (2016)
[11]
Janson, S., Luczak, T., Rucínski, A.: An exponential bound for the probability of a specified subgraph in a random graph. IMA Preprint Series #393 (1988)
[12]
Karppa, M., Kaski, P.: Probabilistic tensors and opportunistic Boolean matrix multiplication. In: Proc. 30th ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 496-515 (2019)
[13]
Karppa, M.: Techniques for similarity search and Boolean matrix multiplication. PhD Thesis (2020)
[14]
Pan, V.: Fast feasible and unfeasible matrix multiplication. arXiv:1804.04102 (2018)
[15]
Vassilevska Williams, V., Xu, Y., Xu, Z., Zhou, R.: New bounds for matrix multiplication: from alpha to omega. In: Proc. 35th ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 3792-3835 (2024)
[16]
Yu H An improved combinatorial algorithm for Boolean matrix multiplication Inf. Comput. 2018 261 240-247

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Algorithmica
Algorithmica  Volume 86, Issue 9
Sep 2024
340 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 17 June 2024
Accepted: 03 June 2024
Received: 20 July 2023

Author Tags

  1. Matrix multiplication
  2. Strassen’s algorithm
  3. Boolean matrix multiplication

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media