{"id":"https://openalex.org/W7161786457","doi":"https://doi.org/10.48550/arxiv.2605.19254","title":"A C implementation of the Smith massager algorithm","display_name":"A C implementation of the Smith massager algorithm","publication_year":2026,"publication_date":"2026-05-19","ids":{"openalex":"https://openalex.org/W7161786457","doi":"https://doi.org/10.48550/arxiv.2605.19254"},"language":null,"primary_location":{"id":"doi:10.48550/arxiv.2605.19254","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2605.19254","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Preprint"},"type":"preprint","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://doi.org/10.48550/arxiv.2605.19254","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5108514597","display_name":"Z. Wang","orcid":"https://orcid.org/0009-0004-2769-0301"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Wang, Ziwen","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5068348971","display_name":"Stavros Birmpilis","orcid":"https://orcid.org/0000-0002-1766-9814"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Birmpilis, Stavros","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5001656489","display_name":"George Labahn","orcid":"https://orcid.org/0009-0005-8977-4890"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Labahn, George","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5008351804","display_name":"Arne Storjohann","orcid":"https://orcid.org/0000-0002-6354-8810"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Storjohann, Arne","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11435","display_name":"Polynomial and algebraic computation","score":0.7678999900817871,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11435","display_name":"Polynomial and algebraic computation","score":0.7678999900817871,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11693","display_name":"Cryptography and Residue Arithmetic","score":0.08150000125169754,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11697","display_name":"Numerical Methods and Algorithms","score":0.03350000083446503,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/dimension","display_name":"Dimension (graph theory)","score":0.6938999891281128},{"id":"https://openalex.org/keywords/invertible-matrix","display_name":"Invertible matrix","score":0.5620999932289124},{"id":"https://openalex.org/keywords/matrix","display_name":"Matrix (chemical analysis)","score":0.5353000164031982},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.43799999356269836},{"id":"https://openalex.org/keywords/scheme","display_name":"Scheme (mathematics)","score":0.42160001397132874},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.3921999931335449},{"id":"https://openalex.org/keywords/diagonal","display_name":"Diagonal","score":0.37369999289512634}],"concepts":[{"id":"https://openalex.org/C33676613","wikidata":"https://www.wikidata.org/wiki/Q13415176","display_name":"Dimension (graph theory)","level":2,"score":0.6938999891281128},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.6819000244140625},{"id":"https://openalex.org/C96442724","wikidata":"https://www.wikidata.org/wiki/Q242188","display_name":"Invertible matrix","level":2,"score":0.5620999932289124},{"id":"https://openalex.org/C106487976","wikidata":"https://www.wikidata.org/wiki/Q685816","display_name":"Matrix (chemical analysis)","level":2,"score":0.5353000164031982},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.4422000050544739},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.43799999356269836},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.435699999332428},{"id":"https://openalex.org/C77618280","wikidata":"https://www.wikidata.org/wiki/Q1155772","display_name":"Scheme (mathematics)","level":2,"score":0.42160001397132874},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.3921999931335449},{"id":"https://openalex.org/C130367717","wikidata":"https://www.wikidata.org/wiki/Q189791","display_name":"Diagonal","level":2,"score":0.37369999289512634},{"id":"https://openalex.org/C97137487","wikidata":"https://www.wikidata.org/wiki/Q729138","display_name":"Integer (computer science)","level":2,"score":0.34049999713897705},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.3391999900341034},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.334199994802475},{"id":"https://openalex.org/C17349429","wikidata":"https://www.wikidata.org/wiki/Q1049914","display_name":"Matrix multiplication","level":3,"score":0.2939000129699707},{"id":"https://openalex.org/C2993101906","wikidata":"https://www.wikidata.org/wiki/Q23768","display_name":"Las vegas","level":3,"score":0.2888999879360199},{"id":"https://openalex.org/C98371066","wikidata":"https://www.wikidata.org/wiki/Q230848","display_name":"Euclidean algorithm","level":2,"score":0.2847000062465668},{"id":"https://openalex.org/C106516650","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm design","level":2,"score":0.2791000008583069},{"id":"https://openalex.org/C32049820","wikidata":"https://www.wikidata.org/wiki/Q319400","display_name":"Modular arithmetic","level":3,"score":0.2734000086784363},{"id":"https://openalex.org/C2776003309","wikidata":"https://www.wikidata.org/wiki/Q1988072","display_name":"Adaptive algorithm","level":2,"score":0.25780001282691956},{"id":"https://openalex.org/C100776233","wikidata":"https://www.wikidata.org/wiki/Q2532492","display_name":"Bridge (graph theory)","level":2,"score":0.25200000405311584}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.48550/arxiv.2605.19254","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2605.19254","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Preprint"}],"best_oa_location":{"id":"doi:10.48550/arxiv.2605.19254","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2605.19254","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Preprint"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"We":[0,67],"describe":[1,68],"a":[2,24,31,130,144],"C":[3],"implementation":[4,71],"of":[5,10,23,56,60,112,129],"the":[6,19,35,54,61,69,75,78,89,100,121,138],"Las":[7],"Vegas":[8],"algorithm":[9,29,80],"Birmpilis,":[11],"Labahn":[12],"and":[13,64,81,93],"Storjohann":[14],"from":[15],"2020":[16],"for":[17,34],"computing":[18],"Smith":[20,32],"normal":[21],"form":[22],"nonsingular":[25],"integer":[26],"matrix.":[27],"The":[28],"computes":[30],"massager":[33],"input":[36],"matrix":[37,133],"using":[38],"$O(n^\u03c9\\,":[39],"\\B(\\log":[40],"n":[41],"+":[42],"\\log":[43],"\\|A\\|)\\,":[44],"(\\log":[45],"n)^2)$":[46],"bit":[47],"operations,":[48],"which":[49],"is":[50],"softly":[51],"equivalent":[52],"to":[53,105,115,127],"cost":[55],"multiplying":[57],"two":[58],"matrices":[59,111],"same":[62,139],"dimension":[63,113],"entry":[65],"size.":[66],"key":[70],"techniques":[72],"that":[73,98,120,128],"bridge":[74],"gap":[76],"between":[77],"theoretical":[79,101],"practical":[82],"performance,":[83],"including":[84],"BLAS-accelerated":[85],"modular":[86],"arithmetic":[87],"via":[88],"Residue":[90],"Number":[91],"System":[92],"an":[94],"adaptive":[95],"batching":[96],"scheme":[97],"collapses":[99],"$O(\\log":[102],"n)$":[103],"iterations":[104],"$O(1)$":[106],"in":[107],"practice.":[108],"Experiments":[109],"on":[110,143],"up":[114],"$n":[116],"=":[117],"10007$":[118],"show":[119],"implementation's":[122],"running":[123],"time":[124],"scales":[125],"proportionally":[126],"single":[131],"BLAS":[132],"multiplication,":[134],"with":[135],"both":[136],"exhibiting":[137],"effective":[140],"growth":[141],"rate":[142],"log-log":[145],"plot.":[146]},"counts_by_year":[],"updated_date":"2026-07-01T06:00:48.157686","created_date":"2026-05-21T00:00:00"}
