{"id":14670,"date":"2022-05-20T20:23:13","date_gmt":"2022-05-21T00:23:13","guid":{"rendered":"https:\/\/carleton.ca\/scs\/?page_id=14670"},"modified":"2026-06-09T14:46:48","modified_gmt":"2026-06-09T18:46:48","slug":"tr-38-an-improved-algorithm-for-boolean-matrix-multiplication","status":"publish","type":"page","link":"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1984\/tr-38-an-improved-algorithm-for-boolean-matrix-multiplication\/","title":{"rendered":"TR-38: An Improved Algorithm for Boolean Matrix Multiplication"},"content":{"rendered":"\n<section class=\"w-screen px-6 cu-section cu-section--white ml-offset-center md:px-8 lg:px-14\">\n    <div class=\"space-y-6 cu-max-w-child-5xl  md:space-y-10 cu-prose-first-last\">\n\n            <div class=\"cu-textmedia flex flex-col lg:flex-row mx-auto gap-6 md:gap-10 my-6 md:my-12 first:mt-0 max-w-5xl\">\n        <div class=\"justify-start cu-textmedia-content cu-prose-first-last\" style=\"flex: 0 0 100%;\">\n            <header class=\"font-light prose-xl cu-pageheader md:prose-2xl cu-component-updated cu-prose-first-last\">\n                                    <h1 class=\"cu-prose-first-last font-semibold !mt-2 mb-4 md:mb-6 relative after:absolute after:h-px after:bottom-0 after:bg-cu-red after:left-px text-3xl md:text-4xl lg:text-5xl lg:leading-[3.5rem] pb-5 after:w-10 text-cu-black-700 not-prose\">\n                        TR-38: An Improved Algorithm for Boolean Matrix Multiplication\n                    <\/h1>\n                \n                                \n                            <\/header>\n\n                    <\/div>\n\n            <\/div>\n\n    <\/div>\n<\/section>\n\n\n\n<p>Carleton University<br><a href=\"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1984\/\">Technical Report<\/a>\u00a0<strong>TR-38<\/strong><br>January 1984<\/p>\n\n\n\n<h2 id=\"an-improved-algorithm-for-boolean-matrix-multiplication\" class=\"wp-block-heading\">An Improved Algorithm for Boolean Matrix Multiplication<\/h2>\n\n\n\n<p>N. Santoro &amp; J. Urrutia<\/p>\n\n\n\n<h3 id=\"abstract\" class=\"wp-block-heading\">Abstract<\/h3>\n\n\n\n<p>In parallel with the analysis of asymptotically fast methods, the research on Boolean matrix multiplication has also focused on the determination of \u2018efficient\u2019 bounds; that is, finding non-optimal but practical algorithms that outperform the asymptotic algorithms for a bounded matrix size or for special classes of matrices. Example of these results are the O(N2) algorithms for multiplying N x N sparse or dense Boolean matrices [2], and the o(N3\/log N) algorithm for multiplying arbitrary N x N Boolean matrices [1 ]. The latter algorithm, known as the \u201cFour Russians\u2019 Method\u201d, unfortunately requires O(N3\/log N) additional bits to store the O(N\/log N) sets, each containing N rows of N bits each.<\/p>\n\n\n\n<h3 id=\"download\" class=\"wp-block-heading\">Download<\/h3>\n\n\n\n<p><a href=\"https:\/\/carleton.ca\/scs\/wp-content\/uploads\/sites\/260\/TR-38.pdf\">TR-38.pdf<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Carleton UniversityTechnical Report\u00a0TR-38January 1984 An Improved Algorithm for Boolean Matrix Multiplication N. Santoro &amp; J. Urrutia Abstract In parallel with the analysis of asymptotically fast methods, the research on Boolean matrix multiplication has also focused on the determination of \u2018efficient\u2019 bounds; that is, finding non-optimal but practical algorithms that outperform the asymptotic algorithms for a [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":11787,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_cu_dining_location_slug":"","footnotes":"","_links_to":"","_links_to_target":""},"cu_page_type":[88],"class_list":["post-14670","page","type-page","status-publish","hentry","cu_page_type-technical-report"],"acf":{"cu_post_thumbnail":""},"_links":{"self":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/14670","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/comments?post=14670"}],"version-history":[{"count":4,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/14670\/revisions"}],"predecessor-version":[{"id":24572,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/14670\/revisions\/24572"}],"up":[{"embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/11787"}],"wp:attachment":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/media?parent=14670"}],"wp:term":[{"taxonomy":"cu_page_type","embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/cu_page_type?post=14670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}